summaryrefslogtreecommitdiffstats
path: root/sys/amd64/amd64/trap.c
diff options
context:
space:
mode:
authoreivind <eivind@FreeBSD.org>1998-04-28 18:15:08 +0000
committereivind <eivind@FreeBSD.org>1998-04-28 18:15:08 +0000
commit67c7bb9c04ed76649b6be0484dcfaa84fa554bcd (patch)
tree1a99fec62896b96dd22a726554f4d62d24de741f /sys/amd64/amd64/trap.c
parent470efec49a7164af77eed73b6ff91740609ea273 (diff)
downloadFreeBSD-src-67c7bb9c04ed76649b6be0484dcfaa84fa554bcd.zip
FreeBSD-src-67c7bb9c04ed76649b6be0484dcfaa84fa554bcd.tar.gz
Translate T_PROTFLT to SIGSEGV instead of SIGBUS when running under
Linux emulation. This make Allegro Common Lisp 4.3 work under FreeBSD! Submitted by: Fred Gilham <gilham@csl.sri.com> Commented on by: bde, dg, msmith, tg Hoping he got everything right: eivind
Diffstat (limited to 'sys/amd64/amd64/trap.c')
-rw-r--r--sys/amd64/amd64/trap.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c
index 7f0f801..3325d32 100644
--- a/sys/amd64/amd64/trap.c
+++ b/sys/amd64/amd64/trap.c
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)trap.c 7.4 (Berkeley) 5/13/91
- * $Id: trap.c,v 1.125 1998/03/30 09:48:27 phk Exp $
+ * $Id: trap.c,v 1.126 1998/04/15 17:45:07 bde Exp $
*/
/*
@@ -545,6 +545,10 @@ kernel_trap:
return;
}
+ /* Translate fault for emulators (e.g. Linux) */
+ if (*p->p_sysent->sv_transtrap)
+ i = (*p->p_sysent->sv_transtrap)(i, type);
+
trapsignal(p, i, ucode);
#ifdef DEBUG
OpenPOWER on IntegriCloud