diff options
author | Nathan Whitehorn <nwhitehorn@FreeBSD.org> | 2018-01-25 18:09:26 +0000 |
---|---|---|
committer | Nathan Whitehorn <nwhitehorn@FreeBSD.org> | 2018-01-25 18:09:26 +0000 |
commit | 3e1b393a5155fdd1e016babf2a9a8aece35af33f (patch) | |
tree | f7ae0c5b46e6805569aa666dd05122b2e6eb6671 /sys/powerpc/powerpc/exec_machdep.c | |
parent | 5b810fe4a6f903653c2643fb3d494798388e46fe (diff) | |
download | src-3e1b393a5155fdd1e016babf2a9a8aece35af33f.tar.gz src-3e1b393a5155fdd1e016babf2a9a8aece35af33f.zip |
Treat DSE exceptions like DSI exceptions when generating signinfo.
Both can generate SIGSEGV, but DSEs would have put the wrong address
into the siginfo structure when the signal was delivered.
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=328408
Diffstat (limited to 'sys/powerpc/powerpc/exec_machdep.c')
-rw-r--r-- | sys/powerpc/powerpc/exec_machdep.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/powerpc/powerpc/exec_machdep.c b/sys/powerpc/powerpc/exec_machdep.c index 7e80c9267689..13009ea5e715 100644 --- a/sys/powerpc/powerpc/exec_machdep.c +++ b/sys/powerpc/powerpc/exec_machdep.c @@ -154,7 +154,8 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) * Fill siginfo structure. */ ksi->ksi_info.si_signo = ksi->ksi_signo; - ksi->ksi_info.si_addr = (void *)((tf->exc == EXC_DSI) ? + ksi->ksi_info.si_addr = + (void *)((tf->exc == EXC_DSI || tf->exc == EXC_DSE) ? tf->dar : tf->srr0); #ifdef COMPAT_FREEBSD32 |