diff --git a/sys/alpha/alpha/machdep.c b/sys/alpha/alpha/machdep.c index dcb6e63c12cf..85262fe2fdc1 100644 --- a/sys/alpha/alpha/machdep.c +++ b/sys/alpha/alpha/machdep.c @@ -1370,6 +1370,7 @@ sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) /* Fill in POSIX parts */ sf.sf_si.si_signo = sig; sf.sf_si.si_code = code; + sf.sf_si.si_addr = (void*)frame->tf_regs[FRAME_TRAPARG_A0]; } else frame->tf_regs[FRAME_A1] = code; diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 99345efe6f74..5c5fb8bef412 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -682,6 +682,7 @@ sendsig(catcher, sig, mask, code) /* fill siginfo structure */ sf.sf_si.si_signo = sig; sf.sf_si.si_code = code; + sf.sf_si.si_addr = (void*)regs->tf_err; } else { /* Old FreeBSD-style arguments. */ diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index 99345efe6f74..5c5fb8bef412 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -682,6 +682,7 @@ sendsig(catcher, sig, mask, code) /* fill siginfo structure */ sf.sf_si.si_signo = sig; sf.sf_si.si_code = code; + sf.sf_si.si_addr = (void*)regs->tf_err; } else { /* Old FreeBSD-style arguments. */