[oe] [meta-oe][PATCH 08/14] ltrace: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d

Martin Jansa martin.jansa at gmail.com
Sun May 29 21:56:33 UTC 2011


Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
---
 .../recipes-support/ltrace/files/add-sysdep.patch  |   13 +++
 .../ltrace/files/ltrace-compile.patch              |   80 +++++++++++++++++++
 .../files/ltrace-fix-sysdep_h-dependency.patch     |   33 ++++++++
 .../ltrace/files/ltrace-mips-remove-CP.patch       |   12 +++
 .../recipes-support/ltrace/files/ltrace-mips.patch |   36 +++++++++
 .../recipes-support/ltrace/files/ltrace-ppc.patch  |   11 +++
 meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb     |   81 ++++++++++++++++++++
 7 files changed, 266 insertions(+), 0 deletions(-)
 create mode 100644 meta-oe/recipes-support/ltrace/files/add-sysdep.patch
 create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-compile.patch
 create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-fix-sysdep_h-dependency.patch
 create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-mips-remove-CP.patch
 create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-mips.patch
 create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-ppc.patch
 create mode 100644 meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb

diff --git a/meta-oe/recipes-support/ltrace/files/add-sysdep.patch b/meta-oe/recipes-support/ltrace/files/add-sysdep.patch
new file mode 100644
index 0000000..1d0432f
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/files/add-sysdep.patch
@@ -0,0 +1,13 @@
+Index: ltrace-0.5.3/Makefile.in
+===================================================================
+--- ltrace-0.5.3.orig/Makefile.in	2009-10-23 22:06:08.130304691 -0700
++++ ltrace-0.5.3/Makefile.in	2009-10-23 22:06:53.160369614 -0700
+@@ -39,6 +39,8 @@ ltrace:		main.o libltrace.a
+ libltrace.a: 	sysdeps/sysdep.o $(OBJ)
+ 		$(AR) rcv $@ $^
+ 
++$(OBJ):		sysdeps/sysdep.o
++
+ sysdeps/sysdep.o: dummy
+ 		$(MAKE) -C sysdeps/$(OS)
+ 
diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-compile.patch b/meta-oe/recipes-support/ltrace/files/ltrace-compile.patch
new file mode 100644
index 0000000..4784deb
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/files/ltrace-compile.patch
@@ -0,0 +1,80 @@
+Index: ltrace-0.5.3/common.h
+===================================================================
+--- ltrace-0.5.3.orig/common.h	2009-10-23 23:13:45.700282578 -0700
++++ ltrace-0.5.3/common.h	2009-10-23 23:14:13.550371553 -0700
+@@ -1,3 +1,5 @@
++#ifndef COMMON_H
++#define COMMON_H
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <stdio.h>
+@@ -251,3 +253,5 @@ extern void * sym2addr(Process *, struct
+ #if 0				/* not yet */
+ extern int umoven(Process * proc, void * addr, int len, void * laddr);
+ #endif
++#endif
++
+Index: ltrace-0.5.3/configure
+===================================================================
+--- ltrace-0.5.3.orig/configure	2009-10-23 23:13:45.630316494 -0700
++++ ltrace-0.5.3/configure	2009-10-23 23:13:59.672869527 -0700
+@@ -30,7 +30,7 @@ int main () {
+   return cplus_demangle();
+ }
+ EOF
+-if gcc conftest.c -liberty 2>/dev/null
++if $CC conftest.c -liberty 2>/dev/null
+ then
+   HAVE_LIBIBERTY=1
+   echo "yes"
+@@ -48,7 +48,7 @@ int main () {
+   return __cxa_demangle();
+ }
+ EOF
+-if gcc conftest.c -lsupc++ 2>/dev/null
++if $CC conftest.c -lsupc++ 2>/dev/null
+ then
+   HAVE_LIBSUPC__=1
+   echo "yes"
+@@ -67,7 +67,7 @@ int main () {
+   return 0;
+ }
+ EOF
+-if gcc conftest.c 2>/dev/null
++if $CC conftest.c 2>/dev/null
+ then
+   HAVE_ELF_C_READ_MMAP=1
+   echo "yes"
+@@ -77,15 +77,12 @@ else
+ fi
+ rm -f conftest.c a.out
+ 
+-CC=gcc
+-CPPFLAGS=' -I /usr/include/libelf'
+ CFLAGS='-g -O2'
+ LIBS='-lelf -lsupc++ -liberty '
+-INSTALL='/usr/bin/install -c'
++INSTALL='install -c'
+ iquote='-iquote '
+ iquoteend=''
+ 
+-prefix=/usr/local
+ sysconfdir='${prefix}/etc'
+ bindir='${prefix}/bin'
+ mandir='${prefix}/share/man'
+Index: ltrace-0.5.3/debug.h
+===================================================================
+--- ltrace-0.5.3.orig/debug.h	2009-10-23 23:13:45.670276809 -0700
++++ ltrace-0.5.3/debug.h	2009-10-23 23:14:26.440319785 -0700
+@@ -1,3 +1,5 @@
++#ifndef DEBUG_H
++#define DEBUG_H
+ #include <features.h>
+ 
+ /* debug levels:
+@@ -14,4 +16,4 @@ void debug_(int level, const char *file,
+ int xinfdump(long, void *, int);
+ 
+ # define debug(level, expr...) debug_(level, __FILE__, __LINE__, expr)
+-
++#endif
diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-fix-sysdep_h-dependency.patch b/meta-oe/recipes-support/ltrace/files/ltrace-fix-sysdep_h-dependency.patch
new file mode 100644
index 0000000..b9e5f7f
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/files/ltrace-fix-sysdep_h-dependency.patch
@@ -0,0 +1,33 @@
+Index: ltrace-0.5.3/sysdeps/linux-gnu/Makefile
+===================================================================
+--- ltrace-0.5.3.orig/sysdeps/linux-gnu/Makefile
++++ ltrace-0.5.3/sysdeps/linux-gnu/Makefile
+@@ -12,7 +12,10 @@ CPPFLAGS	+=	-I$(TOPDIR)/sysdeps/linux-gn
+ 
+ OBJ		=	events.o trace.o proc.o breakpoint.o
+ 
+-all:		sysdep.h signalent.h syscallent.h arch_syscallent.h signalent1.h syscallent1.h ../sysdep.o
++HDRS		=	sysdep.h signalent.h syscallent.h arch_syscallent.h \
++			signalent1.h syscallent1.h
++
++all:		../sysdep.o
+ 
+ sysdep.h:	$(ARCH)/arch.h
+ 		cat $(ARCH)/arch.h > sysdep.h
+@@ -49,12 +52,14 @@ arch_syscallent.h:
+ os.o:		$(OBJ)
+ 		$(CC) -nostdlib -r -o os.o $(OBJ)
+ 
++$(OBJ):		$(HDRS)
++
+ $(ARCH)/arch.o:	dummy
+ 		$(MAKE) -C $(ARCH)
+ 
+ clean:
+ 		$(MAKE) -C $(ARCH) clean
+-		rm -f $(OBJ) sysdep.h signalent.h signalent1.h syscallent.h arch_syscallent.h
+-		rm -f syscallent1.h os.o sysdep.o ../sysdep.o
++		rm -f $(HDRS)
++		rm -f $(OBJ) os.o sysdep.o ../sysdep.o
+ 
+ dummy:
diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-mips-remove-CP.patch b/meta-oe/recipes-support/ltrace/files/ltrace-mips-remove-CP.patch
new file mode 100644
index 0000000..2af193d
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/files/ltrace-mips-remove-CP.patch
@@ -0,0 +1,12 @@
+Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/trace.c
+===================================================================
+--- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/trace.c	2009-10-23 23:15:59.822783128 -0700
++++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/trace.c	2009-10-23 23:16:10.441268788 -0700
+@@ -127,7 +127,6 @@ gimme_arg(enum tof type, Process *proc, 
+ 			return ret;
+ 		} else {
+ 			// If we need this, I think we can look at [sp+16] for arg_num==4.
+-			CP;
+ 			return 0;
+ 		}
+ 	}
diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-mips.patch b/meta-oe/recipes-support/ltrace/files/ltrace-mips.patch
new file mode 100644
index 0000000..6df5e21
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/files/ltrace-mips.patch
@@ -0,0 +1,36 @@
+Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/plt.c
+===================================================================
+--- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/plt.c	2009-10-23 23:25:59.292780574 -0700
++++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/plt.c	2009-10-23 23:26:22.671522220 -0700
+@@ -1,4 +1,4 @@
+-#include <debug.h>
++#include "debug.h"
+ #include <gelf.h>
+ #include <sys/ptrace.h>
+ #include "common.h"
+Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/regs.c
+===================================================================
+--- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/regs.c	2009-10-23 23:25:59.312777529 -0700
++++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/regs.c	2009-10-23 23:26:08.190311896 -0700
+@@ -4,7 +4,6 @@
+ #include <sys/types.h>
+ #include <sys/ptrace.h>
+ #include <asm/ptrace.h>
+-#include <linux/user.h>
+ 
+ #include "common.h"
+ #include "mipsel.h"
+Index: ltrace-0.5.3/handle_event.c
+===================================================================
+--- ltrace-0.5.3.orig/handle_event.c	2009-10-23 23:29:48.780274445 -0700
++++ ltrace-0.5.3/handle_event.c	2009-10-23 23:37:32.260284055 -0700
+@@ -573,7 +573,8 @@ handle_breakpoint(Event *event) {
+ 			void *old_addr;
+ 			struct library_symbol *sym= event->proc->callstack[i].c_un.libfunc;
+ 			assert(sym);
+-			old_addr = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym))->addr;
++			struct Breakpoint *tbp = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym));
++			old_addr = tbp->addr;
+ 			addr=sym2addr(event->proc,sym);
+ 			assert(old_addr !=0 && addr !=0);
+ 			if(addr != old_addr){
diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-ppc.patch b/meta-oe/recipes-support/ltrace/files/ltrace-ppc.patch
new file mode 100644
index 0000000..d5ea0f0
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/files/ltrace-ppc.patch
@@ -0,0 +1,11 @@
+Index: ltrace-0.5.3/sysdeps/linux-gnu/ppc/plt.c
+===================================================================
+--- ltrace-0.5.3.orig/sysdeps/linux-gnu/ppc/plt.c	2009-11-15 03:46:14.459233772 +0300
++++ ltrace-0.5.3/sysdeps/linux-gnu/ppc/plt.c	2009-11-15 03:46:25.299232646 +0300
+@@ -1,5 +1,6 @@
+ #include <gelf.h>
+ #include "common.h"
++#include "ptrace.h"
+ 
+ GElf_Addr
+ arch_plt_sym_val(struct ltelf *lte, size_t ndx, GElf_Rela * rela) {
diff --git a/meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb b/meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb
new file mode 100644
index 0000000..b2f5574
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb
@@ -0,0 +1,81 @@
+DESCRIPTION = "ltrace shows runtime library call information for dynamically linked executables."
+HOMEPAGE = "http://ltrace.alioth.debian.org"
+SECTION = "devel"
+DEPENDS = "libelf binutils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+
+PR = "r3"
+
+# ltrace is not ported to sh3/sh4 targets at this time
+COMPATIBLE_TARGET_SYS = (?!sh[34])
+
+SRC_URI = "\
+  ${DEBIAN_MIRROR}/main/l/ltrace/ltrace_${PV}.orig.tar.gz;name=archive \
+  ${DEBIAN_MIRROR}/main/l/ltrace/ltrace_${PV}-2.diff.gz;name=patch \
+  file://add-sysdep.patch \
+  file://ltrace-compile.patch \
+  file://ltrace-mips-remove-CP.patch \
+  file://ltrace-mips.patch \
+  file://ltrace-ppc.patch \
+  file://ltrace-fix-sysdep_h-dependency.patch \
+"
+inherit autotools
+
+export TARGET_CFLAGS = "${SELECTED_OPTIMIZATION} -isystem ${STAGING_INCDIR}"
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_configure_prepend() {
+	case ${TARGET_ARCH} in
+		arm*)  ln -sf ./linux-gnu sysdeps/linux-gnueabi ;;
+		mips*)  ln -sf ./mipsel sysdeps/linux-gnu/mips ;;
+	esac
+	sed -e 's:uname -m:echo @HOST_CPU@:' \
+		sysdeps/linux-gnu/Makefile > sysdeps/linux-gnu/Makefile.in
+
+}
+
+do_compile() {
+	case ${TARGET_ARCH} in
+		alpha*)   LTRACE_ARCH=alpha ;;
+		arm*)     LTRACE_ARCH=arm ;;
+		cris*)    LTRACE_ARCH=cris ;;
+		hppa*)    LTRACE_ARCH=parisc ;;
+		i*86*)    LTRACE_ARCH=i386 ;;
+		ia64*)    LTRACE_ARCH=ia64 ;;
+		mips*)    LTRACE_ARCH=mips ;;
+		m68k*)    LTRACE_ARCH=m68k ;;
+		powerpc*) LTRACE_ARCH=ppc ;;
+		s390*)    LTRACE_ARCH=s390 ;;
+		sh*)      LTRACE_ARCH=sh ;;
+		sparc64*) LTRACE_ARCH=sparc64 ;;
+		sparc*)   LTRACE_ARCH=sparc ;;
+		x86_64*)  LTRACE_ARCH=x86_64 ;;
+	esac
+	oe_runmake LDFLAGS=${TARGET_LDFLAGS} LIBS="-lsupc++ -liberty -Wl,-Bstatic -lelf -Wl,-Bdynamic" ${EXTRA_OEMAKE} ARCH=${LTRACE_ARCH}
+}
+
+do_install() {
+	case ${TARGET_ARCH} in
+		alpha*)   LTRACE_ARCH=alpha ;;
+		arm*)     LTRACE_ARCH=arm ;;
+		cris*)    LTRACE_ARCH=cris ;;
+		hppa*)    LTRACE_ARCH=parisc ;;
+		i*86*)    LTRACE_ARCH=i386 ;;
+		ia64*)    LTRACE_ARCH=ia64 ;;
+		mips*)    LTRACE_ARCH=mips ;;
+		m68k*)    LTRACE_ARCH=m68k ;;
+		powerpc*) LTRACE_ARCH=ppc ;;
+		s390*)    LTRACE_ARCH=s390 ;;
+		sh*)      LTRACE_ARCH=sh ;;
+		sparc64*) LTRACE_ARCH=sparc64 ;;
+		sparc*)   LTRACE_ARCH=sparc ;;
+		x86_64*)  LTRACE_ARCH=x86_64 ;;
+	esac
+	oe_runmake install ${EXTRA_OEMAKE} ARCH=${LTRACE_ARCH} DESTDIR=${D}
+}
+
+SRC_URI[archive.md5sum] = "3fa7fe715ab879db08bd06d1d59fd90f"
+SRC_URI[archive.sha256sum] = "5c6627d6d5a98a92ca4661cfc16378b182cc46a9ec479ebf7e6121ee3fe2be32"
+SRC_URI[patch.md5sum] = "969baa0900646c0262b2d505b9fef154"
+SRC_URI[patch.sha256sum] = "f647d7c2f2b0d1dbddd632f3a17fef670aed3ebf5fbe6c1633337acac1eba8e3"
-- 
1.7.5.rc3





More information about the Openembedded-devel mailing list