diff options
author | Denys Vlasenko <dvlasenk@redhat.com> | 2011-08-21 17:26:55 +0200 |
---|---|---|
committer | Denys Vlasenko <dvlasenk@redhat.com> | 2011-08-23 12:53:02 +0200 |
commit | a7949748d14a21aa9698311413f2b84342d14e0e (patch) | |
tree | a9c4c924a20578c4e5f0920706fc06726189bbc4 /process.c | |
parent | 0890c8a403f60c2f66f17bf5d6bb16039b47c913 (diff) | |
download | strace-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.c | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -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 { |