From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1792) id 841B83858D20; Tue, 29 Aug 2023 21:19:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 841B83858D20 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1693343978; bh=YDPlzOZa3yJZTG6VG4ZC8s2fyaxRhxtpeAUu6AsRwb8=; h=From:To:Subject:Date:From; b=gE677U1/9mGyYTc+ye/sYOrJ5uHD0wZWK8KBxft3NKqHHP+rFy7cSVs1IVhHJZe8o L7GK5RmwU3+fZRYQplr8PqI/RJ6B8k8a9YsNCtioNH5DpmUVCMEaPj4FzNRxQBc8yo xy0P1Cv0RujnKREKRSK3A7AizXOTTgOW1XqZbv+g= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Samuel Thibault To: glibc-cvs@sourceware.org Subject: [glibc/release/2.37/master] hurd: Make exception subcode a long X-Act-Checkin: glibc X-Git-Author: Sergey Bugaev X-Git-Refname: refs/heads/release/2.37/master X-Git-Oldrev: f94ff95e936d41e28697bd4eac04954139b93558 X-Git-Newrev: 0d500bfdc0ce6e4d9c1446a45aa90b292446042a Message-Id: <20230829211938.841B83858D20@sourceware.org> Date: Tue, 29 Aug 2023 21:19:38 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0d500bfdc0ce6e4d9c1446a45aa90b292446042a commit 0d500bfdc0ce6e4d9c1446a45aa90b292446042a 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> (cherry picked from commit d8ee5d614bc485f6d1752dfa0d60524b20945a56) Diff: --- hurd/catch-exc.c | 2 +- hurd/hurd/signal.h | 5 +++-- hurd/hurdfault.c | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/hurd/catch-exc.c b/hurd/catch-exc.c index e8a9c7981f..5ee2233aa9 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 4e9f79b19d..c33f974b1b 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 069c1c262c..a81e72803f 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 ) {