summaryrefslogtreecommitdiff
path: root/packages/ltrace
diff options
context:
space:
mode:
Diffstat (limited to 'packages/ltrace')
-rw-r--r--packages/ltrace/files/.mtn2git_empty0
-rw-r--r--packages/ltrace/files/mvc-toolchain.patch32
-rw-r--r--packages/ltrace/ltrace-mvc_0.3.36.bb5
-rw-r--r--packages/ltrace/ltrace_0.3.36.bb12
4 files changed, 44 insertions, 5 deletions
diff --git a/packages/ltrace/files/.mtn2git_empty b/packages/ltrace/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ltrace/files/.mtn2git_empty
diff --git a/packages/ltrace/files/mvc-toolchain.patch b/packages/ltrace/files/mvc-toolchain.patch
new file mode 100644
index 0000000000..886759dfbf
--- /dev/null
+++ b/packages/ltrace/files/mvc-toolchain.patch
@@ -0,0 +1,32 @@
+diff -ru ltrace-0.3.36/sysdeps/linux-gnu/arm/arch.h ltrace-0.3.36-mvc/sysdeps/linux-gnu/arm/arch.h
+--- ltrace-0.3.36/sysdeps/linux-gnu/arm/arch.h 2004-11-09 20:25:15.000000000 +0800
++++ ltrace-0.3.36-mvc/sysdeps/linux-gnu/arm/arch.h 2005-12-17 02:00:34.000000000 +0800
+@@ -1,4 +1,5 @@
+-#define BREAKPOINT_VALUE { 0x01, 0x00, 0x9f, 0xef }
++#define BREAKPOINT_VALUE { 0xfe, 0xde, 0xff, 0xe7}
++
+ #define BREAKPOINT_LENGTH 4
+ #define DECR_PC_AFTER_BREAK 0
+
+diff -ru ltrace-0.3.36/sysdeps/linux-gnu/arm/plt.c ltrace-0.3.36-mvc/sysdeps/linux-gnu/arm/plt.c
+--- ltrace-0.3.36/sysdeps/linux-gnu/arm/plt.c 2004-11-09 20:25:15.000000000 +0800
++++ ltrace-0.3.36-mvc/sysdeps/linux-gnu/arm/plt.c 2005-12-19 08:08:54.000000000 +0800
+@@ -5,5 +5,5 @@
+ GElf_Addr
+ arch_plt_sym_val (struct ltelf *lte, size_t ndx, GElf_Rela *rela)
+ {
+- return lte->plt_addr + 20 + ndx * 12;
++ return lte->plt_addr + 16 + ndx * 16;
+ }
+diff -ru ltrace-0.3.36/wait_for_something.c ltrace-0.3.36-mvc/wait_for_something.c
+--- ltrace-0.3.36/wait_for_something.c 2004-06-14 23:55:50.000000000 +0800
++++ ltrace-0.3.36-mvc/wait_for_something.c 2005-12-17 02:21:15.000000000 +0800
+@@ -82,7 +82,7 @@
+ event.thing = LT_EV_UNKNOWN;
+ return &event;
+ }
+- if (WSTOPSIG(status) != SIGTRAP) {
++ if (WSTOPSIG(status) != SIGTRAP && WSTOPSIG(status) != SIGILL) {
+ event.thing = LT_EV_SIGNAL;
+ event.e_un.signum = WSTOPSIG(status);
+ return &event;
diff --git a/packages/ltrace/ltrace-mvc_0.3.36.bb b/packages/ltrace/ltrace-mvc_0.3.36.bb
new file mode 100644
index 0000000000..66a613fe2e
--- /dev/null
+++ b/packages/ltrace/ltrace-mvc_0.3.36.bb
@@ -0,0 +1,5 @@
+require ltrace_${PV}.bb
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI += "file://mvc-toolchain.patch;patch=1"
diff --git a/packages/ltrace/ltrace_0.3.36.bb b/packages/ltrace/ltrace_0.3.36.bb
index ae2c865f72..1e2ff5394b 100644
--- a/packages/ltrace/ltrace_0.3.36.bb
+++ b/packages/ltrace/ltrace_0.3.36.bb
@@ -3,12 +3,10 @@ HOMEPAGE = "http://packages.debian.org/unstable/utils/ltrace.html"
SECTION = "devel"
DEPENDS = "libelf"
LICENSE = "GPL"
-PR = "r1"
-
-SRC_URI = "ftp://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.3.36.orig.tar.gz\
- ftp://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.3.36-2.diff.gz;patch=1\
- file://mvc-toolchain.patch;patch=1"
+PR = "r2"
+SRC_URI = "ftp://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.3.36.orig.tar.gz \
+ ftp://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.3.36-2.diff.gz;patch=1"
inherit autotools
PARALLEL_MAKE = ""
@@ -20,6 +18,10 @@ EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \
export TARGET_CFLAGS = "${SELECTED_OPTIMIZATION} -isystem ${STAGING_DIR}/${TARGET_SYS}/include"
+do_configure_prepend() {
+ ln -sf ./linux-gnu sysdeps/linux-gnueabi
+}
+
do_compile() {
oe_runmake LDFLAGS=${TARGET_LDFLAGS} LIBS="-lsupc++ -liberty -Wl,-Bstatic -lelf -Wl,-Bdynamic" ${EXTRA_OEMAKE}
}