diff options
| author | Martin Jansa <Martin.Jansa@gmail.com> | 2011-05-29 22:15:31 +0200 |
|---|---|---|
| committer | Martin Jansa <Martin.Jansa@gmail.com> | 2011-05-30 11:28:58 +0200 |
| commit | 3087fa5c4ab4ad5ee3dae251d1477302044aab49 (patch) | |
| tree | abfb335380140cc0aaa1926995ae0b11dae432ad /meta-oe/recipes-devtools/ltrace | |
| parent | 71565bbff3f693546ee32537cf05762d08131edc (diff) | |
| download | meta-openembedded-3087fa5c4ab4ad5ee3dae251d1477302044aab49.tar.gz | |
ltrace: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-devtools/ltrace')
7 files changed, 266 insertions, 0 deletions
diff --git a/meta-oe/recipes-devtools/ltrace/files/add-sysdep.patch b/meta-oe/recipes-devtools/ltrace/files/add-sysdep.patch new file mode 100644 index 0000000000..1d0432f2db --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/files/add-sysdep.patch | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | Index: ltrace-0.5.3/Makefile.in | ||
| 2 | =================================================================== | ||
| 3 | --- ltrace-0.5.3.orig/Makefile.in 2009-10-23 22:06:08.130304691 -0700 | ||
| 4 | +++ ltrace-0.5.3/Makefile.in 2009-10-23 22:06:53.160369614 -0700 | ||
| 5 | @@ -39,6 +39,8 @@ ltrace: main.o libltrace.a | ||
| 6 | libltrace.a: sysdeps/sysdep.o $(OBJ) | ||
| 7 | $(AR) rcv $@ $^ | ||
| 8 | |||
| 9 | +$(OBJ): sysdeps/sysdep.o | ||
| 10 | + | ||
| 11 | sysdeps/sysdep.o: dummy | ||
| 12 | $(MAKE) -C sysdeps/$(OS) | ||
| 13 | |||
diff --git a/meta-oe/recipes-devtools/ltrace/files/ltrace-compile.patch b/meta-oe/recipes-devtools/ltrace/files/ltrace-compile.patch new file mode 100644 index 0000000000..4784deb6df --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/files/ltrace-compile.patch | |||
| @@ -0,0 +1,80 @@ | |||
| 1 | Index: ltrace-0.5.3/common.h | ||
| 2 | =================================================================== | ||
| 3 | --- ltrace-0.5.3.orig/common.h 2009-10-23 23:13:45.700282578 -0700 | ||
| 4 | +++ ltrace-0.5.3/common.h 2009-10-23 23:14:13.550371553 -0700 | ||
| 5 | @@ -1,3 +1,5 @@ | ||
| 6 | +#ifndef COMMON_H | ||
| 7 | +#define COMMON_H | ||
| 8 | #include <sys/types.h> | ||
| 9 | #include <sys/time.h> | ||
| 10 | #include <stdio.h> | ||
| 11 | @@ -251,3 +253,5 @@ extern void * sym2addr(Process *, struct | ||
| 12 | #if 0 /* not yet */ | ||
| 13 | extern int umoven(Process * proc, void * addr, int len, void * laddr); | ||
| 14 | #endif | ||
| 15 | +#endif | ||
| 16 | + | ||
| 17 | Index: ltrace-0.5.3/configure | ||
| 18 | =================================================================== | ||
| 19 | --- ltrace-0.5.3.orig/configure 2009-10-23 23:13:45.630316494 -0700 | ||
| 20 | +++ ltrace-0.5.3/configure 2009-10-23 23:13:59.672869527 -0700 | ||
| 21 | @@ -30,7 +30,7 @@ int main () { | ||
| 22 | return cplus_demangle(); | ||
| 23 | } | ||
| 24 | EOF | ||
| 25 | -if gcc conftest.c -liberty 2>/dev/null | ||
| 26 | +if $CC conftest.c -liberty 2>/dev/null | ||
| 27 | then | ||
| 28 | HAVE_LIBIBERTY=1 | ||
| 29 | echo "yes" | ||
| 30 | @@ -48,7 +48,7 @@ int main () { | ||
| 31 | return __cxa_demangle(); | ||
| 32 | } | ||
| 33 | EOF | ||
| 34 | -if gcc conftest.c -lsupc++ 2>/dev/null | ||
| 35 | +if $CC conftest.c -lsupc++ 2>/dev/null | ||
| 36 | then | ||
| 37 | HAVE_LIBSUPC__=1 | ||
| 38 | echo "yes" | ||
| 39 | @@ -67,7 +67,7 @@ int main () { | ||
| 40 | return 0; | ||
| 41 | } | ||
| 42 | EOF | ||
| 43 | -if gcc conftest.c 2>/dev/null | ||
| 44 | +if $CC conftest.c 2>/dev/null | ||
| 45 | then | ||
| 46 | HAVE_ELF_C_READ_MMAP=1 | ||
| 47 | echo "yes" | ||
| 48 | @@ -77,15 +77,12 @@ else | ||
| 49 | fi | ||
| 50 | rm -f conftest.c a.out | ||
| 51 | |||
| 52 | -CC=gcc | ||
| 53 | -CPPFLAGS=' -I /usr/include/libelf' | ||
| 54 | CFLAGS='-g -O2' | ||
| 55 | LIBS='-lelf -lsupc++ -liberty ' | ||
| 56 | -INSTALL='/usr/bin/install -c' | ||
| 57 | +INSTALL='install -c' | ||
| 58 | iquote='-iquote ' | ||
| 59 | iquoteend='' | ||
| 60 | |||
| 61 | -prefix=/usr/local | ||
| 62 | sysconfdir='${prefix}/etc' | ||
| 63 | bindir='${prefix}/bin' | ||
| 64 | mandir='${prefix}/share/man' | ||
| 65 | Index: ltrace-0.5.3/debug.h | ||
| 66 | =================================================================== | ||
| 67 | --- ltrace-0.5.3.orig/debug.h 2009-10-23 23:13:45.670276809 -0700 | ||
| 68 | +++ ltrace-0.5.3/debug.h 2009-10-23 23:14:26.440319785 -0700 | ||
| 69 | @@ -1,3 +1,5 @@ | ||
| 70 | +#ifndef DEBUG_H | ||
| 71 | +#define DEBUG_H | ||
| 72 | #include <features.h> | ||
| 73 | |||
| 74 | /* debug levels: | ||
| 75 | @@ -14,4 +16,4 @@ void debug_(int level, const char *file, | ||
| 76 | int xinfdump(long, void *, int); | ||
| 77 | |||
| 78 | # define debug(level, expr...) debug_(level, __FILE__, __LINE__, expr) | ||
| 79 | - | ||
| 80 | +#endif | ||
diff --git a/meta-oe/recipes-devtools/ltrace/files/ltrace-fix-sysdep_h-dependency.patch b/meta-oe/recipes-devtools/ltrace/files/ltrace-fix-sysdep_h-dependency.patch new file mode 100644 index 0000000000..b9e5f7f3e5 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/files/ltrace-fix-sysdep_h-dependency.patch | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | Index: ltrace-0.5.3/sysdeps/linux-gnu/Makefile | ||
| 2 | =================================================================== | ||
| 3 | --- ltrace-0.5.3.orig/sysdeps/linux-gnu/Makefile | ||
| 4 | +++ ltrace-0.5.3/sysdeps/linux-gnu/Makefile | ||
| 5 | @@ -12,7 +12,10 @@ CPPFLAGS += -I$(TOPDIR)/sysdeps/linux-gn | ||
| 6 | |||
| 7 | OBJ = events.o trace.o proc.o breakpoint.o | ||
| 8 | |||
| 9 | -all: sysdep.h signalent.h syscallent.h arch_syscallent.h signalent1.h syscallent1.h ../sysdep.o | ||
| 10 | +HDRS = sysdep.h signalent.h syscallent.h arch_syscallent.h \ | ||
| 11 | + signalent1.h syscallent1.h | ||
| 12 | + | ||
| 13 | +all: ../sysdep.o | ||
| 14 | |||
| 15 | sysdep.h: $(ARCH)/arch.h | ||
| 16 | cat $(ARCH)/arch.h > sysdep.h | ||
| 17 | @@ -49,12 +52,14 @@ arch_syscallent.h: | ||
| 18 | os.o: $(OBJ) | ||
| 19 | $(CC) -nostdlib -r -o os.o $(OBJ) | ||
| 20 | |||
| 21 | +$(OBJ): $(HDRS) | ||
| 22 | + | ||
| 23 | $(ARCH)/arch.o: dummy | ||
| 24 | $(MAKE) -C $(ARCH) | ||
| 25 | |||
| 26 | clean: | ||
| 27 | $(MAKE) -C $(ARCH) clean | ||
| 28 | - rm -f $(OBJ) sysdep.h signalent.h signalent1.h syscallent.h arch_syscallent.h | ||
| 29 | - rm -f syscallent1.h os.o sysdep.o ../sysdep.o | ||
| 30 | + rm -f $(HDRS) | ||
| 31 | + rm -f $(OBJ) os.o sysdep.o ../sysdep.o | ||
| 32 | |||
| 33 | dummy: | ||
diff --git a/meta-oe/recipes-devtools/ltrace/files/ltrace-mips-remove-CP.patch b/meta-oe/recipes-devtools/ltrace/files/ltrace-mips-remove-CP.patch new file mode 100644 index 0000000000..2af193d1dc --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/files/ltrace-mips-remove-CP.patch | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/trace.c | ||
| 2 | =================================================================== | ||
| 3 | --- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/trace.c 2009-10-23 23:15:59.822783128 -0700 | ||
| 4 | +++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/trace.c 2009-10-23 23:16:10.441268788 -0700 | ||
| 5 | @@ -127,7 +127,6 @@ gimme_arg(enum tof type, Process *proc, | ||
| 6 | return ret; | ||
| 7 | } else { | ||
| 8 | // If we need this, I think we can look at [sp+16] for arg_num==4. | ||
| 9 | - CP; | ||
| 10 | return 0; | ||
| 11 | } | ||
| 12 | } | ||
diff --git a/meta-oe/recipes-devtools/ltrace/files/ltrace-mips.patch b/meta-oe/recipes-devtools/ltrace/files/ltrace-mips.patch new file mode 100644 index 0000000000..6df5e211a1 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/files/ltrace-mips.patch | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/plt.c | ||
| 2 | =================================================================== | ||
| 3 | --- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/plt.c 2009-10-23 23:25:59.292780574 -0700 | ||
| 4 | +++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/plt.c 2009-10-23 23:26:22.671522220 -0700 | ||
| 5 | @@ -1,4 +1,4 @@ | ||
| 6 | -#include <debug.h> | ||
| 7 | +#include "debug.h" | ||
| 8 | #include <gelf.h> | ||
| 9 | #include <sys/ptrace.h> | ||
| 10 | #include "common.h" | ||
| 11 | Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/regs.c | ||
| 12 | =================================================================== | ||
| 13 | --- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/regs.c 2009-10-23 23:25:59.312777529 -0700 | ||
| 14 | +++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/regs.c 2009-10-23 23:26:08.190311896 -0700 | ||
| 15 | @@ -4,7 +4,6 @@ | ||
| 16 | #include <sys/types.h> | ||
| 17 | #include <sys/ptrace.h> | ||
| 18 | #include <asm/ptrace.h> | ||
| 19 | -#include <linux/user.h> | ||
| 20 | |||
| 21 | #include "common.h" | ||
| 22 | #include "mipsel.h" | ||
| 23 | Index: ltrace-0.5.3/handle_event.c | ||
| 24 | =================================================================== | ||
| 25 | --- ltrace-0.5.3.orig/handle_event.c 2009-10-23 23:29:48.780274445 -0700 | ||
| 26 | +++ ltrace-0.5.3/handle_event.c 2009-10-23 23:37:32.260284055 -0700 | ||
| 27 | @@ -573,7 +573,8 @@ handle_breakpoint(Event *event) { | ||
| 28 | void *old_addr; | ||
| 29 | struct library_symbol *sym= event->proc->callstack[i].c_un.libfunc; | ||
| 30 | assert(sym); | ||
| 31 | - old_addr = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym))->addr; | ||
| 32 | + struct Breakpoint *tbp = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym)); | ||
| 33 | + old_addr = tbp->addr; | ||
| 34 | addr=sym2addr(event->proc,sym); | ||
| 35 | assert(old_addr !=0 && addr !=0); | ||
| 36 | if(addr != old_addr){ | ||
diff --git a/meta-oe/recipes-devtools/ltrace/files/ltrace-ppc.patch b/meta-oe/recipes-devtools/ltrace/files/ltrace-ppc.patch new file mode 100644 index 0000000000..d5ea0f0bfc --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/files/ltrace-ppc.patch | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | Index: ltrace-0.5.3/sysdeps/linux-gnu/ppc/plt.c | ||
| 2 | =================================================================== | ||
| 3 | --- ltrace-0.5.3.orig/sysdeps/linux-gnu/ppc/plt.c 2009-11-15 03:46:14.459233772 +0300 | ||
| 4 | +++ ltrace-0.5.3/sysdeps/linux-gnu/ppc/plt.c 2009-11-15 03:46:25.299232646 +0300 | ||
| 5 | @@ -1,5 +1,6 @@ | ||
| 6 | #include <gelf.h> | ||
| 7 | #include "common.h" | ||
| 8 | +#include "ptrace.h" | ||
| 9 | |||
| 10 | GElf_Addr | ||
| 11 | arch_plt_sym_val(struct ltelf *lte, size_t ndx, GElf_Rela * rela) { | ||
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_0.5.3.bb b/meta-oe/recipes-devtools/ltrace/ltrace_0.5.3.bb new file mode 100644 index 0000000000..7625dd864d --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace_0.5.3.bb | |||
| @@ -0,0 +1,81 @@ | |||
| 1 | DESCRIPTION = "ltrace shows runtime library call information for dynamically linked executables." | ||
| 2 | HOMEPAGE = "http://ltrace.alioth.debian.org" | ||
| 3 | SECTION = "devel" | ||
| 4 | DEPENDS = "elfutils binutils" | ||
| 5 | LICENSE = "GPLv2" | ||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" | ||
| 7 | |||
| 8 | PR = "r3" | ||
| 9 | |||
| 10 | # ltrace is not ported to sh3/sh4 targets at this time | ||
| 11 | COMPATIBLE_TARGET_SYS = (?!sh[34]) | ||
| 12 | |||
| 13 | SRC_URI = "\ | ||
| 14 | ${DEBIAN_MIRROR}/main/l/ltrace/ltrace_${PV}.orig.tar.gz;name=archive \ | ||
| 15 | ${DEBIAN_MIRROR}/main/l/ltrace/ltrace_${PV}-2.diff.gz;name=patch \ | ||
| 16 | file://add-sysdep.patch \ | ||
| 17 | file://ltrace-compile.patch \ | ||
| 18 | file://ltrace-mips-remove-CP.patch \ | ||
| 19 | file://ltrace-mips.patch \ | ||
| 20 | file://ltrace-ppc.patch \ | ||
| 21 | file://ltrace-fix-sysdep_h-dependency.patch \ | ||
| 22 | " | ||
| 23 | inherit autotools | ||
| 24 | |||
| 25 | export TARGET_CFLAGS = "${SELECTED_OPTIMIZATION} -isystem ${STAGING_INCDIR}" | ||
| 26 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
| 27 | |||
| 28 | do_configure_prepend() { | ||
| 29 | case ${TARGET_ARCH} in | ||
| 30 | arm*) ln -sf ./linux-gnu sysdeps/linux-gnueabi ;; | ||
| 31 | mips*) ln -sf ./mipsel sysdeps/linux-gnu/mips ;; | ||
| 32 | esac | ||
| 33 | sed -e 's:uname -m:echo @HOST_CPU@:' \ | ||
| 34 | sysdeps/linux-gnu/Makefile > sysdeps/linux-gnu/Makefile.in | ||
| 35 | |||
| 36 | } | ||
| 37 | |||
| 38 | do_compile() { | ||
| 39 | case ${TARGET_ARCH} in | ||
| 40 | alpha*) LTRACE_ARCH=alpha ;; | ||
| 41 | arm*) LTRACE_ARCH=arm ;; | ||
| 42 | cris*) LTRACE_ARCH=cris ;; | ||
| 43 | hppa*) LTRACE_ARCH=parisc ;; | ||
| 44 | i*86*) LTRACE_ARCH=i386 ;; | ||
| 45 | ia64*) LTRACE_ARCH=ia64 ;; | ||
| 46 | mips*) LTRACE_ARCH=mips ;; | ||
| 47 | m68k*) LTRACE_ARCH=m68k ;; | ||
| 48 | powerpc*) LTRACE_ARCH=ppc ;; | ||
| 49 | s390*) LTRACE_ARCH=s390 ;; | ||
| 50 | sh*) LTRACE_ARCH=sh ;; | ||
| 51 | sparc64*) LTRACE_ARCH=sparc64 ;; | ||
| 52 | sparc*) LTRACE_ARCH=sparc ;; | ||
| 53 | x86_64*) LTRACE_ARCH=x86_64 ;; | ||
| 54 | esac | ||
| 55 | oe_runmake LDFLAGS=${TARGET_LDFLAGS} LIBS="-lsupc++ -liberty -Wl,-Bstatic -lelf -Wl,-Bdynamic" ${EXTRA_OEMAKE} ARCH=${LTRACE_ARCH} | ||
| 56 | } | ||
| 57 | |||
| 58 | do_install() { | ||
| 59 | case ${TARGET_ARCH} in | ||
| 60 | alpha*) LTRACE_ARCH=alpha ;; | ||
| 61 | arm*) LTRACE_ARCH=arm ;; | ||
| 62 | cris*) LTRACE_ARCH=cris ;; | ||
| 63 | hppa*) LTRACE_ARCH=parisc ;; | ||
| 64 | i*86*) LTRACE_ARCH=i386 ;; | ||
| 65 | ia64*) LTRACE_ARCH=ia64 ;; | ||
| 66 | mips*) LTRACE_ARCH=mips ;; | ||
| 67 | m68k*) LTRACE_ARCH=m68k ;; | ||
| 68 | powerpc*) LTRACE_ARCH=ppc ;; | ||
| 69 | s390*) LTRACE_ARCH=s390 ;; | ||
| 70 | sh*) LTRACE_ARCH=sh ;; | ||
| 71 | sparc64*) LTRACE_ARCH=sparc64 ;; | ||
| 72 | sparc*) LTRACE_ARCH=sparc ;; | ||
| 73 | x86_64*) LTRACE_ARCH=x86_64 ;; | ||
| 74 | esac | ||
| 75 | oe_runmake install ${EXTRA_OEMAKE} ARCH=${LTRACE_ARCH} DESTDIR=${D} | ||
| 76 | } | ||
| 77 | |||
| 78 | SRC_URI[archive.md5sum] = "3fa7fe715ab879db08bd06d1d59fd90f" | ||
| 79 | SRC_URI[archive.sha256sum] = "5c6627d6d5a98a92ca4661cfc16378b182cc46a9ec479ebf7e6121ee3fe2be32" | ||
| 80 | SRC_URI[patch.md5sum] = "969baa0900646c0262b2d505b9fef154" | ||
| 81 | SRC_URI[patch.sha256sum] = "f647d7c2f2b0d1dbddd632f3a17fef670aed3ebf5fbe6c1633337acac1eba8e3" | ||
