From: Dmitry V. Levin Date: Sun, 28 May 2017 17:13:29 +0000 (+0000) Subject: sparc: enhance decoding of signal number argument of sigaction syscall X-Git-Tag: v4.18~147 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5f27295dfd1c6ee40c477dafc3f79cc22c01200e;p=strace sparc: enhance decoding of signal number argument of sigaction syscall On sparc, unlike all other architectures, old sigaction syscall takes a negated signal number. * signal.c (SYS_FUNC(sigaction)) [SPARC || SPARC64]: Enhance printing of negative signal number argument. --- diff --git a/signal.c b/signal.c index 2e90bd03..79054c70 100644 --- a/signal.c +++ b/signal.c @@ -365,7 +365,14 @@ decode_old_sigaction(struct tcb *const tcp, const kernel_ulong_t addr) SYS_FUNC(sigaction) { if (entering(tcp)) { - printsignal(tcp->u_arg[0]); + int signo = tcp->u_arg[0]; +#if defined SPARC || defined SPARC64 + if (signo < 0) { + tprints("-"); + signo = -signo; + } +#endif + printsignal(signo); tprints(", "); decode_old_sigaction(tcp, tcp->u_arg[1]); tprints(", ");