diff options
Diffstat (limited to 'packages/strace/strace-4.5.14/arm-eabi.patch')
-rw-r--r-- | packages/strace/strace-4.5.14/arm-eabi.patch | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/packages/strace/strace-4.5.14/arm-eabi.patch b/packages/strace/strace-4.5.14/arm-eabi.patch deleted file mode 100644 index 53e27f8ce8..0000000000 --- a/packages/strace/strace-4.5.14/arm-eabi.patch +++ /dev/null @@ -1,65 +0,0 @@ -2006-03-30 Daniel Jacobowitz <dan@codesourcery.com> - - * process.c (change_syscall): Add ARM support. - * syscall.c (get_scno): Handle ARM EABI. - -Index: strace/process.c -=================================================================== ---- strace.orig/process.c 2006-03-30 17:36:14.000000000 -0500 -+++ strace/process.c 2006-03-30 17:44:16.000000000 -0500 -@@ -694,6 +694,16 @@ int new; - 0x100000 | new) < 0) - return -1; - return 0; -+#elif defined(ARM) -+ /* Some kernels support this, some (pre-2.6.16 or so) don't. */ -+# ifndef PTRACE_SET_SYSCALL -+# define PTRACE_SET_SYSCALL 23 -+# endif -+ -+ if (ptrace (PTRACE_SET_SYSCALL, tcp->pid, 0, new) != 0) -+ return -1; -+ -+ return 0; - #else - #warning Do not know how to handle change_syscall for this architecture - #endif /* architecture */ -Index: strace/syscall.c -=================================================================== ---- strace.orig/syscall.c 2006-03-30 17:36:14.000000000 -0500 -+++ strace/syscall.c 2006-03-30 17:44:16.000000000 -0500 -@@ -1108,16 +1108,25 @@ struct tcb *tcp; - return 0; - } - -- if ((scno & 0x0ff00000) != 0x0f900000) { -- fprintf(stderr, "syscall: unknown syscall trap 0x%08lx\n", -- scno); -- return -1; -- } -+ /* Handle the EABI syscall convention. We do not -+ bother converting structures between the two -+ ABIs, but basic functionality should work even -+ if strace and the traced program have different -+ ABIs. */ -+ if (scno == 0xef000000) { -+ scno = regs.ARM_r7; -+ } else { -+ if ((scno & 0x0ff00000) != 0x0f900000) { -+ fprintf(stderr, "syscall: unknown syscall trap 0x%08lx\n", -+ scno); -+ return -1; -+ } - -- /* -- * Fixup the syscall number -- */ -- scno &= 0x000fffff; -+ /* -+ * Fixup the syscall number -+ */ -+ scno &= 0x000fffff; -+ } - } - - if (tcp->flags & TCB_INSYSCALL) { |