]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
* sysdeps/mach/hurd/i386/exc2signal.c (_hurd_exception2signal): Generate SIGSEGV...
authorMark Kettenis <kettenis@gnu.org>
Sat, 7 Jul 2001 20:34:28 +0000 (20:34 +0000)
committerMark Kettenis <kettenis@gnu.org>
Sat, 7 Jul 2001 20:34:28 +0000 (20:34 +0000)
2001-07-07  Mark Kettenis  <kettenis@gnu.org>

* sysdeps/mach/hurd/i386/exc2signal.c (_hurd_exception2signal):
Generate SIGSEGV instead of SIGBUS for KERN_INVALID_ADDRESS and
KERN_WRITE_PROTECTION_FAILURE.

ChangeLog
sysdeps/mach/hurd/i386/exc2signal.c

index 72ac0c549d7803c871a98eb12138ead278cc9735..75089015ed30a8ca047f720c6d87b63a2b6be255 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2001-07-07  Mark Kettenis  <kettenis@gnu.org>
+
+       * sysdeps/mach/hurd/i386/exc2signal.c (_hurd_exception2signal):
+       Generate SIGSEGV instead of SIGBUS for KERN_INVALID_ADDRESS and
+       KERN_WRITE_PROTECTION_FAILURE.
+
 2001-07-07  Ulrich Drepper  <drepper@redhat.com>
 
        * posix/regex.c: Limit string length printed in debug messages to
index f1c5682ea1259a7a4a83dcdef7ca509dabfba7a7..a6bf750d78fe5f7219b00c6f9200c8b93fb12673 100644 (file)
@@ -1,5 +1,5 @@
 /* Translate Mach exception codes into signal numbers.  i386 version.
-   Copyright (C) 1991, 1992, 1994, 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1991,1992,1994,1996,1997,2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -37,7 +37,9 @@ _hurd_exception2signal (struct hurd_signal_detail *detail, int *signo)
       break;
 
     case EXC_BAD_ACCESS:
-      if (detail->exc_code == KERN_PROTECTION_FAILURE)
+      if (detail->exc_code == KERN_INVALID_ADDRESS
+         || detail->exc_code == KERN_PROTECTION_FAILURE
+         || detail->exc_code == KERN_WRITE_PROTECTION_FAILURE)
        *signo = SIGSEGV;
       else
        *signo = SIGBUS;