Date: Sun, 3 Feb 2002 01:13:59 -0800 (PST) From: Bruce Evans <bde@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/i386 locore.s machdep.c src/sys/pc98/i386 machdep.c Message-ID: <200202030913.g139Dxr66997@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
bde 2002/02/03 01:13:59 PST
Modified files:
sys/i386/i386 locore.s machdep.c
sys/pc98/i386 machdep.c
Log:
Use osigreturn(2) instead of sigreturn(2) plus broken magic for returning
from old signal handlers. This is simpler and faster, and fixes (new)
sigreturn(2) when %eip in the new signal context happens to match the
magic value (0x1d516). 0x1d516 is below the default ELF text section,
so this probably never broken anything in practice.
locore.s:
In addition, don't build the signal trampoline for old signal handlers
when it is not used.
alpha:
Not fixed, but seems to be even less broken in practice due to more
advanced magic. A false match occurs for register #32 in mc_regs[].
Since there is no hardware register #32, a false match is only possible
for direct calls to sigreturn(2) that happen to have the magic number
in the spare mc_regs[32] field.
Revision Changes Path
1.154 +7 -3 src/sys/i386/i386/locore.s
1.492 +0 -9 src/sys/i386/i386/machdep.c
1.257 +0 -9 src/sys/pc98/i386/machdep.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202030913.g139Dxr66997>
