]> sourceware.org Git - glibc.git/commitdiff
hurd: Make exception subcode a long
authorSergey Bugaev <bugaevc@gmail.com>
Sun, 19 Mar 2023 15:09:47 +0000 (18:09 +0300)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Sun, 2 Apr 2023 22:51:42 +0000 (00:51 +0200)
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>

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
                                      )
 {
This page took 0.048796 seconds and 5 git commands to generate.