summaryrefslogtreecommitdiff
path: root/meta/packages/strace/strace-4.5.18
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/strace/strace-4.5.18')
-rw-r--r--meta/packages/strace/strace-4.5.18/strace-fix-arm-bad-syscall.patch18
-rw-r--r--meta/packages/strace/strace-4.5.18/strace-undef-syscall.patch62
2 files changed, 80 insertions, 0 deletions
diff --git a/meta/packages/strace/strace-4.5.18/strace-fix-arm-bad-syscall.patch b/meta/packages/strace/strace-4.5.18/strace-fix-arm-bad-syscall.patch
new file mode 100644
index 000000000..d7d7426b7
--- /dev/null
+++ b/meta/packages/strace/strace-4.5.18/strace-fix-arm-bad-syscall.patch
@@ -0,0 +1,18 @@
+--- strace-4.5.12-orig/syscall.c 2005-06-08 21:45:28.000000000 +0100
++++ strace-4.5.12/syscall.c 2005-10-25 19:26:39.000000000 +0100
+@@ -1013,6 +1013,15 @@ struct tcb *tcp;
+ /*
+ * Note: we only deal with only 32-bit CPUs here.
+ */
++
++ if (!(tcp->flags & TCB_INSYSCALL) &&
++ (tcp->flags & TCB_WAITEXECVE)) {
++ /* caught a fake syscall from the execve's exit */
++ tcp->flags &= ~TCB_WAITEXECVE;
++ return 0;
++ }
++
++
+ if (regs.ARM_cpsr & 0x20) {
+ /*
+ * Get the Thumb-mode system call number
diff --git a/meta/packages/strace/strace-4.5.18/strace-undef-syscall.patch b/meta/packages/strace/strace-4.5.18/strace-undef-syscall.patch
new file mode 100644
index 000000000..ac33db4e7
--- /dev/null
+++ b/meta/packages/strace/strace-4.5.18/strace-undef-syscall.patch
@@ -0,0 +1,62 @@
+Origin is http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/*checkout*/trunk/buildroot/package/strace/strace-undef-syscall.patch?rev=17767
+
+This gets applied to fix build errors with uclibc on ARM EABI
+
+Index: strace-4.5.18/linux/syscallent.h
+===================================================================
+--- strace-4.5.18.orig/linux/syscallent.h 2008-07-18 02:23:49.000000000 +0100
++++ strace-4.5.18/linux/syscallent.h 2008-12-31 16:56:03.000000000 +0000
+@@ -130,7 +130,10 @@
+ { 2, TF, sys_statfs, "statfs" }, /* 99 */
+ { 2, TD, sys_fstatfs, "fstatfs" }, /* 100 */
+ { 3, 0, sys_ioperm, "ioperm" }, /* 101 */
+- { 2, TD, sys_socketcall, "socketcall", SYS_socketcall }, /* 102 */
++ { 2, TD, sys_socketcall, "socketcall",
++#ifdef __NR_socketcall
++ SYS_socketcall }, /* 102 */
++#endif
+ { 3, 0, sys_syslog, "syslog" }, /* 103 */
+ { 3, 0, sys_setitimer, "setitimer" }, /* 104 */
+ { 2, 0, sys_getitimer, "getitimer" }, /* 105 */
+@@ -145,7 +148,10 @@
+ { 4, TP, sys_wait4, "wait4", SYS_wait4 }, /* 114 */
+ { 1, 0, sys_swapoff, "swapoff" }, /* 115 */
+ { 1, 0, sys_sysinfo, "sysinfo" }, /* 116 */
+- { 6, 0, sys_ipc, "ipc", SYS_ipc }, /* 117 */
++ { 6, 0, sys_ipc, "ipc",
++#ifdef __NR_ipc
++ SYS_ipc }, /* 117 */
++#endif
+ { 1, TD, sys_fsync, "fsync" }, /* 118 */
+ { 1, TS, sys_sigreturn, "sigreturn" }, /* 119 */
+ { 5, TP, sys_clone, "clone", SYS_clone }, /* 120 */
+@@ -282,7 +288,11 @@
+ { 3, 0, sys_io_cancel, "io_cancel" }, /* 249 */
+ { 5, 0, sys_fadvise64, "fadvise64" }, /* 250 */
+ { 5, 0, printargs, "SYS_251" }, /* 251 */
+- { 1, TP, sys_exit, "exit_group", __NR_exit_group }, /* 252 */
++ { 1, TP, sys_exit, "exit_group"
++#ifdef __NR_exit_group
++ , __NR_exit_group
++#endif
++ }, /* 252 */
+ { 4, 0, printargs, "lookup_dcookie"}, /* 253 */
+ { 1, 0, sys_epoll_create, "epoll_create" }, /* 254 */
+ { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 255 */
+Index: strace-4.5.18/linux/arm/syscallent.h
+===================================================================
+--- strace-4.5.18.orig/linux/arm/syscallent.h 2008-12-31 17:13:12.000000000 +0000
++++ strace-4.5.18/linux/arm/syscallent.h 2008-12-31 17:15:02.000000000 +0000
+@@ -431,6 +431,7 @@
+ { 5, 0, printargs, "SYS_398" }, /* 398 */
+ { 5, 0, printargs, "SYS_399" }, /* 399 */
+
++#if !defined(__ARM_EABI__)
+ #if SYS_socket_subcall != 400
+ #error fix me
+ #endif
+@@ -481,3 +482,4 @@
+ { 4, TI, sys_shmdt, "shmdt" }, /* 440 */
+ { 4, TI, sys_shmget, "shmget" }, /* 441 */
+ { 4, TI, sys_shmctl, "shmctl" }, /* 442 */
++#endif