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>
This commit is contained in:
Sergey Bugaev 2023-03-19 18:09:47 +03:00 committed by Samuel Thibault
parent 09b3821222
commit d8ee5d614b
3 changed files with 5 additions and 4 deletions

View 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
)
{

View 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;
};

View 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
)
{