From owner-cvs-all Sun Feb 3 1:14: 2 2002 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 7345F37B402; Sun, 3 Feb 2002 01:13:59 -0800 (PST) Received: (from bde@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g139Dxr66997; Sun, 3 Feb 2002 01:13:59 -0800 (PST) (envelope-from bde) Message-Id: <200202030913.g139Dxr66997@freefall.freebsd.org> From: Bruce Evans Date: Sun, 3 Feb 2002 01:13:59 -0800 (PST) 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 X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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