Date: Tue, 4 Dec 2007 12:33:03 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/i386 trap.c src/sys/amd64/amd64 trap.c Message-ID: <200712041233.lB4CX3E0041915@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kib 2007-12-04 12:33:03 UTC
FreeBSD src repository
Modified files:
sys/i386/i386 trap.c
sys/amd64/amd64 trap.c
Log:
Fix the ABI change of the signal delivered on the access to the page
with insufficient protection mode.
For the i386 and amd64, create the tunable, machdep.prot_fault_translation,
with the following behaviour:
0 = autodetect the signal to be delivered on KERN_PROTECTION_FAILURE
from vm_fault based on the ELF OSABI note:
no note or __FreeBSD_version < 700004 - SIGBUS/BUS_PAGE_FAULT
note, and __FreeBSD_version >= 700004 - SIGSEGV/SEGV_ACCERR
1 = always SIGBUS/BUS_PAGE_FAULT
2 = always SIGSEGV/SEGV_ACCERR
This would do mostly automatic correction of ABI breakage, with the exception
of the untaged binaries for 7-CURRENT/RELENG_7 before the note is fixed. For
them, sysctl would allow to run the binary with manual settings.
Discussed with: portmgr (kris)
PR: kern/118304
MFC after: 3 days
Revision Changes Path
1.323 +29 -2 src/sys/amd64/amd64/trap.c
1.310 +29 -2 src/sys/i386/i386/trap.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200712041233.lB4CX3E0041915>
