From: Roland McGrath Date: Wed, 5 Mar 2003 06:29:06 +0000 (+0000) Subject: 2003-03-04 Roland McGrath X-Git-Tag: v4.5.18~803 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ba95476dd48d5d1b250fdf2ab23af569f805a805;p=strace 2003-03-04 Roland McGrath * syscall.c (get_scno) [IA64]: Do TCB_WAITEXECVE check only when TCB_INSYSCALL is clear, like other platforms do. --- diff --git a/syscall.c b/syscall.c index bb118693..9814a437 100644 --- a/syscall.c +++ b/syscall.c @@ -919,11 +919,15 @@ struct tcb *tcp; if (ia32) { if (upeek(pid, PT_R1, &scno) < 0) /* orig eax */ return -1; - /* Check if we return from execve. */ } else { if (upeek (pid, PT_R15, &scno) < 0) return -1; } + /* Check if we return from execve. */ + if (tcp->flags & TCB_WAITEXECVE) { + tcp->flags &= ~TCB_WAITEXECVE; + return 0; + } } else { /* syscall in progress */ if (upeek (pid, PT_R8, &r8) < 0) @@ -931,11 +935,6 @@ struct tcb *tcp; if (upeek (pid, PT_R10, &r10) < 0) return -1; } - if (tcp->flags & TCB_WAITEXECVE) { - tcp->flags &= ~TCB_WAITEXECVE; - return 0; - } - #elif defined (ARM) { long pc;