strace 4.5.14 fix compiling for mips[-el]. closes bug #2221
authorMichael Lauer <mickey@vanille-media.de>
Sun, 3 Aug 2008 23:16:09 +0000 (23:16 +0000)
committerMichael Lauer <mickey@vanille-media.de>
Sun, 3 Aug 2008 23:16:09 +0000 (23:16 +0000)
(albeit by convoluting this recipe even more...)

packages/strace/strace/mips-sigcontext.patch [new file with mode: 0644]
packages/strace/strace_4.5.14.bb

diff --git a/packages/strace/strace/mips-sigcontext.patch b/packages/strace/strace/mips-sigcontext.patch
new file mode 100644 (file)
index 0000000..15f5cc8
--- /dev/null
@@ -0,0 +1,46 @@
+diff -urN strace-4.5.14/signal.c strace-4.5.14-mips/signal.c
+--- strace-4.5.14/signal.c     2006-01-12 22:34:50.000000000 +0000
++++ strace-4.5.14-mips/signal.c        2007-05-03 06:59:09.000000000 +0000
+@@ -66,7 +66,7 @@
+ #ifdef LINUX
+-
++#include <linux/version.h>
+ #ifdef IA64
+ # include <asm/ptrace_offsets.h>
+ #endif /* !IA64 */
+@@ -1420,7 +1420,11 @@
+               if (umove(tcp, sp, &sc) < 0)
+                       return 0;
+               tcp->u_arg[0] = 1;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
+               tcp->u_arg[1] = sc.sc_sigset;
++#else
++              tcp->u_arg[1] = sc.sc_hi2;
++#endif
+       } else {
+               tcp->u_rval = tcp->u_error = 0;
+               if(tcp->u_arg[0] == 0)
+diff -urN strace-4.5.14/system.c strace-4.5.14-mips/system.c
+--- strace-4.5.14/system.c     2006-01-12 21:21:06.000000000 +0000
++++ strace-4.5.14-mips/system.c        2007-05-03 06:59:09.000000000 +0000
+@@ -78,6 +78,7 @@
+ #endif
+ #include <linux/sysctl.h>
++#include <linux/version.h>
+ static const struct xlat mount_flags[] = {
+       { MS_MGC_VAL,   "MS_MGC_VAL"    },
+@@ -1578,7 +1579,9 @@
+       { CTL_KERN, "CTL_KERN" },
+       { CTL_VM, "CTL_VM" },
+       { CTL_NET, "CTL_NET" },
+-      { CTL_PROC, "CTL_PROC" },
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
++        { CTL_PROC, "CTL_PROC" },
++#endif
+       { CTL_FS, "CTL_FS" },
+       { CTL_DEBUG, "CTL_DEBUG" },
+       { CTL_DEV, "CTL_DEV" },
index 0571c46..cb69700 100644 (file)
@@ -1,7 +1,7 @@
 DESCRIPTION = "strace is a system call tracing tool."
 SECTION = "console/utils"
 LICENSE = "GPL"
-PR = "r6"
+PR = "r7"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.bz2 \
            file://glibc-2.5.patch;patch=1 \
@@ -13,8 +13,6 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.bz2 \
            file://strace-undef-syscall.patch;patch=1 \
            file://strace-arm-no-cachectl.patch;patch=1 \
           "
-
 
 # The strace-4.5.14-avr32.patch conflicts with some other patches.
 # These patches are primarly for the ARM and SuperH, so we'll just
@@ -27,6 +25,20 @@ SRC_URI_avr32 = \
      file://strace-4.5.14-avr32-add-syscalls-up-to-sysvipc.patch;patch=1 \
     "
 
+# Again, a different set of patches for MIPS. See http://bugs.openembedded.net/show_bug.cgi?id=2221
+MIPS = "\
+  ${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.bz2 \
+  file://glibc-2.5.patch;patch=1 \
+  file://arm-eabi.patch;patch=1 \
+  file://sh-arch-update.patch;patch=1 \
+  file://sh-syscall-update.patch;patch=1 \
+  file://strace-fix-arm-bad-syscall.patch;patch=1 \
+  file://strace-undef-syscall.patch;patch=1 \
+  file://strace-arm-no-cachectl.patch;patch=1 \
+  file://mips-sigcontext.patch;patch=1 \
+"
+SRC_URI_mips = "${MIPS}"
+SRC_URI_mipsel = "${MIPS}"
 
 inherit autotools