patches/strace/4.5.16/200-strace-fix-arm-bad-syscall.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Feb 17 22:12:59 2008 +0000 (2008-02-17)
changeset 433 9886aa0a9694
permissions -rw-r--r--
Robert P. J. DAY says:

According to Mike Frysinger, this patch was removed from Gentoo in the
2.3.x series and didn't seem to cause any adverse effects. So toss it
from the patch directories for glibc 2.5 and up.
yann@428
     1
diff -dur strace-4.5.16.orig/syscall.c strace-4.5.16/syscall.c
yann@428
     2
--- strace-4.5.16.orig/syscall.c	2006-12-21 23:13:33.000000000 +0100
yann@428
     3
+++ strace-4.5.16/syscall.c	2007-07-14 19:21:44.000000000 +0200
yann@428
     4
@@ -1045,6 +1045,15 @@
yann@428
     5
 		/*
yann@428
     6
 		 * Note: we only deal with only 32-bit CPUs here.
yann@428
     7
 		 */
yann@428
     8
+
yann@428
     9
+		if (!(tcp->flags & TCB_INSYSCALL) &&
yann@428
    10
+		    (tcp->flags & TCB_WAITEXECVE)) {
yann@428
    11
+			/* caught a fake syscall from the execve's exit */
yann@428
    12
+			tcp->flags &= ~TCB_WAITEXECVE;
yann@428
    13
+			return 0;
yann@428
    14
+		}
yann@428
    15
+
yann@428
    16
+
yann@428
    17
 		if (regs.ARM_cpsr & 0x20) {
yann@428
    18
 			/*
yann@428
    19
 			 * Get the Thumb-mode system call number