static void
printsigval(const siginfo_t *sip)
{
- tprintf(", si_value={int=%d, ptr=%#lx}",
- sip->si_int, (unsigned long) sip->si_ptr);
+ tprintf(", si_value={int=%d, ptr=", sip->si_int);
+ printaddr(ptr_to_kulong(sip->si_ptr));
+ tprints("}");
}
static void
else
printsignal(sip->si_status);
tprintf(", si_utime=%llu, si_stime=%llu",
- widen_to_ull(sip->si_utime),
- widen_to_ull(sip->si_stime));
+ zero_extend_signed_to_ull(sip->si_utime),
+ zero_extend_signed_to_ull(sip->si_stime));
break;
case SIGILL: case SIGFPE:
case SIGSEGV: case SIGBUS:
- tprintf(", si_addr=%#lx",
- (unsigned long) sip->si_addr);
+ tprints(", si_addr=");
+ printaddr(ptr_to_kulong(sip->si_addr));
break;
case SIGPOLL:
switch (sip->si_code) {
}
break;
#ifdef HAVE_SIGINFO_T_SI_SYSCALL
- case SIGSYS:
- tprintf(", si_call_addr=%#lx, si_syscall=__NR_%s, si_arch=",
- (unsigned long) sip->si_call_addr,
- syscall_name((unsigned) sip->si_syscall));
+ case SIGSYS: {
+ const char *scname =
+ syscall_name((unsigned) sip->si_syscall);
+
+ tprints(", si_call_addr=");
+ printaddr(ptr_to_kulong(sip->si_call_addr));
+ tprints(", si_syscall=");
+ if (scname)
+ tprintf("__NR_%s", scname);
+ else
+ tprintf("%u", (unsigned) sip->si_syscall);
+ tprints(", si_arch=");
printxval(audit_arch, sip->si_arch, "AUDIT_ARCH_???");
break;
+ }
#endif
default:
if (sip->si_pid || sip->si_uid)
}
MPERS_PRINTER_DECL(void, printsiginfo_at,
- struct tcb *tcp, long addr)
+ struct tcb *const tcp, const kernel_ulong_t addr)
{
siginfo_t si;
return true;
}
-MPERS_PRINTER_DECL(void, print_siginfo_array,
- struct tcb *tcp, unsigned long addr, unsigned long len)
+MPERS_PRINTER_DECL(void, print_siginfo_array, struct tcb *const tcp,
+ const kernel_ulong_t addr, const kernel_ulong_t len)
{
siginfo_t si;