summaryrefslogtreecommitdiff
path: root/process.c
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2011-08-21 17:26:55 +0200
committerDenys Vlasenko <dvlasenk@redhat.com>2011-08-23 12:53:02 +0200
commita7949748d14a21aa9698311413f2b84342d14e0e (patch)
treea9c4c924a20578c4e5f0920706fc06726189bbc4 /process.c
parent0890c8a403f60c2f66f17bf5d6bb16039b47c913 (diff)
downloadstrace-a7949748d14a21aa9698311413f2b84342d14e0e.tar.gz
strace-a7949748d14a21aa9698311413f2b84342d14e0e.tar.bz2
strace-a7949748d14a21aa9698311413f2b84342d14e0e.tar.xz
Conditionally optimize out unused code
* syscall.c (internal_syscall): Call internal_exec only if SUNOS4 || (LINUX && TCB_WAITEXECVE). * process.c (internal_exec): Define this function only if SUNOS4 || (LINUX && TCB_WAITEXECVE). (printwaitn): Don't check wordsize if SUPPORTED_PERSONALITIES == 1. * signal.c (sys_kill): Likewise. * syscall.c (is_negated_errno): Likewise. (trace_syscall_exiting): Fold a tprintf into tprintfs which follow it. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'process.c')
-rw-r--r--process.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/process.c b/process.c
index 12b8720..aba2f56 100644
--- a/process.c
+++ b/process.c
@@ -1581,14 +1581,15 @@ int sys_rexecve(struct tcb *tcp)
#endif
+#if defined SUNOS4 || (defined LINUX && defined TCB_WAITEXECVE)
int
internal_exec(struct tcb *tcp)
{
-#ifdef SUNOS4
+# if defined SUNOS4
if (exiting(tcp) && !syserror(tcp) && followfork)
fixvfork(tcp);
-#endif /* SUNOS4 */
-#if defined LINUX && defined TCB_WAITEXECVE
+# endif
+# if defined LINUX && defined TCB_WAITEXECVE
if (exiting(tcp) && syserror(tcp))
tcp->flags &= ~TCB_WAITEXECVE;
else {
@@ -1596,9 +1597,10 @@ internal_exec(struct tcb *tcp)
if (!(ptrace_setoptions & PTRACE_O_TRACEEXEC))
tcp->flags |= TCB_WAITEXECVE; /* no */
}
-#endif /* LINUX && TCB_WAITEXECVE */
+# endif
return 0;
}
+#endif
#ifdef LINUX
#ifndef __WNOTHREAD
@@ -1721,12 +1723,12 @@ printwaitn(struct tcb *tcp, int n, int bitness)
int pid = tcp->u_arg[0];
tprintf("%d, ", pid);
#else
- /*
- * Sign-extend a 32-bit value when that's what it is.
- */
long pid = tcp->u_arg[0];
+# if SUPPORTED_PERSONALITIES > 1
+ /* Sign-extend a 32-bit value when that's what it is. */
if (personality_wordsize[current_personality] < sizeof pid)
pid = (long) (int) pid;
+# endif
tprintf("%ld, ", pid);
#endif
} else {