From: GNU Libc Maintainers Date: Fri, 4 Aug 2023 09:55:58 +0000 (+0100) Subject: git-exception-long X-Git-Tag: archive/raspbian/2.37-12+rpi1^2^2^2^2~56 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9cbd1b51a4672acd2235a5e01b5b1f462cbbff5d;p=glibc.git git-exception-long commit d8ee5d614bc485f6d1752dfa0d60524b20945a56 Author: Sergey Bugaev 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 --- diff --git a/hurd/catch-exc.c b/hurd/catch-exc.c index e8a9c7981..5ee2233aa 100644 --- a/hurd/catch-exc.c +++ b/hurd/catch-exc.c @@ -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 ) { diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h index 4e9f79b19..c33f974b1 100644 --- a/hurd/hurd/signal.h +++ b/hurd/hurd/signal.h @@ -51,9 +51,10 @@ struct hurd_signal_preemptor; /* */ 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; }; diff --git a/hurd/hurdfault.c b/hurd/hurdfault.c index 069c1c262..a81e72803 100644 --- a/hurd/hurdfault.c +++ b/hurd/hurdfault.c @@ -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 ) {