cvs commit: src/sys/i386/i386 trap.c src/sys/amd64/amd64 trap.c
Konstantin Belousov
kib at FreeBSD.org
Tue Dec 4 04:33:03 PST 2007
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
More information about the cvs-all
mailing list