]> granicus.if.org Git - strace/commitdiff
2007-11-01 Roland McGrath <roland@redhat.com>
authorRoland McGrath <roland@redhat.com>
Thu, 1 Nov 2007 21:42:18 +0000 (21:42 +0000)
committerRoland McGrath <roland@redhat.com>
Thu, 1 Nov 2007 21:42:18 +0000 (21:42 +0000)
* syscall.c (get_scno) [ARM]: Check TCB_WAITEXECVE.
Reported by Bernhard Fischer <rep.dot.nop@gmail.com>.

syscall.c

index 1ee6ce19e11c1809072a66cc4e21f9927d8e8997..ba176458e0193766b3e3e3b374e2ea40c8f7837c 100644 (file)
--- a/syscall.c
+++ b/syscall.c
@@ -1046,6 +1046,14 @@ struct tcb *tcp;
         * We only need to grab the syscall number on syscall entry.
         */
        if (regs.ARM_ip == 0) {
+               if (!(tcp->flags & TCB_INSYSCALL)) {
+                       /* Check if we return from execve. */
+                       if (tcp->flags & TCB_WAITEXECVE) {
+                               tcp->flags &= ~TCB_WAITEXECVE;
+                               return 0;
+                       }
+               }
+
                /*
                 * Note: we only deal with only 32-bit CPUs here.
                 */