From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1792) id AAE673858CDB; Sun, 2 Apr 2023 23:27:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AAE673858CDB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680478063; bh=bBrOQ3ic8F34UIDGnCqiQoy7qmKGT9j2pEtA6EYv0YQ=; h=From:To:Subject:Date:From; b=oIPYClfvZt5gBVouJIrmFNtTq77QddnD+/30EXxepBlxEtG+Z2AjZMRkmknDfc1vk sVBV3Nz55kAb25W9RNj5N/Ofy+mDDgALN6WLeZpwH4i9UpfejEPqVvxQasNkatUqL/ rliVAjBKSxtx1vR05z+1UfmkhqH9rSOIrAxTAAKk= 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] hurd: Make exception subcode a long X-Act-Checkin: glibc X-Git-Author: Sergey Bugaev X-Git-Refname: refs/heads/master X-Git-Oldrev: 09b382122288e706c5fa2c0412910f71c78b7d63 X-Git-Newrev: d8ee5d614bc485f6d1752dfa0d60524b20945a56 Message-Id: <20230402232743.AAE673858CDB@sourceware.org> Date: Sun, 2 Apr 2023 23:27:43 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d8ee5d614bc485f6d1752dfa0d60524b20945a56 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> 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 ) {