patches/strace/4.5.19/110-fix-arm-bad-syscall.patch
changeset 1613 c776557f7aac
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/strace/4.5.19/110-fix-arm-bad-syscall.patch	Wed Oct 28 19:00:34 2009 +0100
     1.3 @@ -0,0 +1,19 @@
     1.4 +diff -durN strace-4.5.19.orig/syscall.c strace-4.5.19/syscall.c
     1.5 +--- strace-4.5.19.orig/syscall.c	2009-10-12 21:54:21.000000000 +0200
     1.6 ++++ strace-4.5.19/syscall.c	2009-10-28 18:47:18.000000000 +0100
     1.7 +@@ -1022,6 +1022,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