git-exception-long
authorGNU Libc Maintainers <debian-glibc@lists.debian.org>
Fri, 4 Aug 2023 09:55:58 +0000 (10:55 +0100)
committerAurelien Jarno <aurel32@debian.org>
Fri, 4 Aug 2023 09:55:58 +0000 (10:55 +0100)
commit d8ee5d614bc485f6d1752dfa0d60524b20945a56
Author: Sergey Bugaev <bugaevc@gmail.com>
Date:   Sun Mar 19 18:09:47 2023 +0300

    hurd: Make exception subcode a long

    On EXC_BAD_ACCESS, exception subcode is used to pass the faulting memory
    address, so it needs to be (at least) pointer-sized. Thus, make it into
    a long. This matches the corresponding change in GNU Mach.
    Message-Id: <20230319151017.531737-5-bugaevc@gmail.com>

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-exception-long.diff

hurd/catch-exc.c
hurd/hurd/signal.h
hurd/hurdfault.c

index e8a9c7981f51f083deb2dc9f65acfa8a0091927f..5ee2233aa9a2be2ae214160abc2838e6f9dd66e3 100644 (file)
@@ -31,7 +31,7 @@ _S_catch_exception_raise (mach_port_t port,
                          mach_msg_type_number_t codeCnt
 #else                          /* Vanilla Mach 3.0 interface.  */
                          integer_t exception,
-                         integer_t code, integer_t subcode
+                         integer_t code, long_integer_t subcode
 #endif
                          )
 {
index 4e9f79b19d0d9786251bc42e69ea1de4b8b9d741..c33f974b1bac1dc77909d93d9c1f667e8f97c1cd 100644 (file)
@@ -51,9 +51,10 @@ struct hurd_signal_preemptor;        /* <hurd/sigpreempt.h> */
 struct hurd_signal_detail
   {
     /* Codes from origination Mach exception_raise message.  */
-    integer_t exc, exc_code, exc_subcode;
+    integer_t exc, exc_code;
+    long_integer_t exc_subcode;
     /* Sigcode as passed or computed from exception codes.  */
-    integer_t code;
+    long_integer_t code;
     /* Error code as passed or extracted from exception codes.  */
     error_t error;
   };
index 069c1c262c9e982fa4cd02487dd9e69c763828f6..a81e72803f8d5bcd665c69457e531507d9f3b8e3 100644 (file)
@@ -45,7 +45,7 @@ _hurdsig_fault_catch_exception_raise (mach_port_t port,
                                      mach_msg_type_number_t codeCnt
 #else                          /* Vanilla Mach 3.0 interface.  */
                                      integer_t exception,
-                                     integer_t code, integer_t subcode
+                                     integer_t code, long_integer_t subcode
 #endif
                                      )
 {