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) {
