patches/strace/4.5.15/200-fix-arm-bad-syscall.patch
changeset 746 b150d6f590fc
parent 257 7613a256b9a6
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/strace/4.5.15/200-fix-arm-bad-syscall.patch	Mon Jul 28 21:08:01 2008 +0000
     1.3 @@ -0,0 +1,19 @@
     1.4 +diff -dur strace-4.5.15.orig/syscall.c strace-4.5.15/syscall.c
     1.5 +--- strace-4.5.15.orig/syscall.c	2006-12-21 23:13:33.000000000 +0100
     1.6 ++++ strace-4.5.15/syscall.c	2007-07-14 19:21:44.000000000 +0200
     1.7 +@@ -1045,6 +1045,15 @@
     1.8 + 		/*
     1.9 + 		 * Note: we only deal with only 32-bit CPUs here.
    1.10 + 		 */
    1.11 ++
    1.12 ++		if (!(tcp->flags & TCB_INSYSCALL) &&
    1.13 ++		    (tcp->flags & TCB_WAITEXECVE)) {
    1.14 ++			/* caught a fake syscall from the execve's exit */
    1.15 ++			tcp->flags &= ~TCB_WAITEXECVE;
    1.16 ++			return 0;
    1.17 ++		}
    1.18 ++ 
    1.19 ++
    1.20 + 		if (regs.ARM_cpsr & 0x20) {
    1.21 + 			/*
    1.22 + 			 * Get the Thumb-mode system call number