From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.polymtl.ca (smtp.polymtl.ca [132.207.4.11]) by sourceware.org (Postfix) with ESMTPS id C40A63858D20 for ; Mon, 13 Nov 2023 02:59:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C40A63858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=polymtl.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=polymtl.ca ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C40A63858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=132.207.4.11 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699844378; cv=none; b=sAvs6haKf0XMwNCKzzJ36/xuyAXBrS3XpDAGWkiZPhNMD/qYFSOTxuFZHH6vv/gzoGx49ZDwGy8pPISl81VAK4QlNwwL1rcghMZ6qxoeCFunEVH+Sn1iqBEDxNmgsq3wC6OXnVp5xRGndxBBlHH7ikk0CUFqz3/ZZoCUGbbZBoY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699844378; c=relaxed/simple; bh=WIBRLyTzMb4W5gSLReLtTupbKITokSAgZ/66FT9Xxhs=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=RcVBJleWGQb92d05mmu8NdPOdpO0VJm+7cyIe/VRjcz6Me91GMexjBGMPU9PNPxivXO4TBDpg9J/x0s1njkSB45pTw4cuVn3l8a2KtBk2K++BcVZAekvqcSu1ciUSS2ATNwOqCV87pu7WtQZpPe8SlraAeHQfBbzxiO06ihRGuw= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id 3AD2xRSg017957 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 12 Nov 2023 21:59:32 -0500 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.polymtl.ca 3AD2xRSg017957 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=polymtl.ca; s=default; t=1699844372; bh=sf0RQFM7AUqq4xsRpy1h514fVap0avO0+1yZfWO+fzQ=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=W8FyA7Z3plcghSvq3aTxAxbqwB1fpsLqwTMuTzFveeJ9PtmZnwLd4hZfrWs00ixsr pIy/4j3Kj16chLqGlli6KB6YeCQubgMnrxc+wRdUaZDMwNCExdiXMEfS8BIBBFAQHh SUI1oel+i6TuOWKy30t3c0amqGsrd28gIwgm65zs= Received: from [192.168.1.175] (pool-70-105-6-115.rcmdva.fios.verizon.net [70.105.6.115]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 00D571E00F; Sun, 12 Nov 2023 21:59:26 -0500 (EST) Message-ID: <5b47b771-1b0c-465f-8a6e-04d45cea6d3f@polymtl.ca> Date: Sun, 12 Nov 2023 21:59:26 -0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 18/24] gdb: migrate i386 and amd64 to the new gdbarch_pseudo_register_write Content-Language: fr To: John Baldwin , gdb-patches@sourceware.org Cc: Simon Marchi References: <20231108051222.1275306-1-simon.marchi@polymtl.ca> <20231108051222.1275306-19-simon.marchi@polymtl.ca> From: Simon Marchi In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Poly-FromMTA: (simark.ca [158.69.221.121]) at Mon, 13 Nov 2023 02:59:27 +0000 X-Spam-Status: No, score=-3037.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 11/11/23 15:16, John Baldwin wrote: > On 11/7/23 9:01 PM, Simon Marchi wrote: >> From: Simon Marchi >> >> Make i386 and amd64 use the new gdbarch_pseudo_register_write. This >> fixes writing to pseudo registers in non-current frames for those >> architectures. >> >> Change-Id: I4977e8fe12d2cef116f8834c34cdf6fec618554f >> --- >> gdb/amd64-tdep.c | 39 +++---------- >> gdb/i386-tdep.c | 146 +++++++++++++++++------------------------------ >> gdb/i386-tdep.h | 6 +- >> gdb/value.c | 3 +- >> gdb/value.h | 6 +- >> 5 files changed, 66 insertions(+), 134 deletions(-) >> >> diff --git a/gdb/value.c b/gdb/value.c >> index 51dca972a587..5c18bb17a781 100644 >> --- a/gdb/value.c >> +++ b/gdb/value.c >> @@ -4062,7 +4062,8 @@ pseudo_to_raw_part (frame_info_ptr next_frame, >> gdb::array_view pseudo_buf, >> int raw_reg_num, int raw_offset) >> { >> - int raw_reg_size = register_size (get_frame_arch (next_frame), raw_reg_num); >> + int raw_reg_size >> + = register_size (frame_unwind_arch (next_frame), raw_reg_num); >> /* When overflowing a register, put_frame_register_bytes writes to the >> subsequent registers. We don't want that behavior here, so make sure >> diff --git a/gdb/value.h b/gdb/value.h >> index 6a74d4e2c2ee..3b3cb9c00982 100644 >> --- a/gdb/value.h >> +++ b/gdb/value.h >> @@ -1664,7 +1664,7 @@ value *pseudo_from_raw_part (frame_info_ptr next_frame, int pseudo_reg_num, >> /* Write PSEUDO_BUF, the contents of a pseudo register, to part of raw register >> RAW_REG_NUM starting at RAW_OFFSET. */ >> -void pseudo_to_raw_part (frame_info_ptr this_frame, >> +void pseudo_to_raw_part (frame_info_ptr next_frame, >> gdb::array_view pseudo_buf, >> int raw_reg_num, int raw_offset); >> @@ -1680,7 +1680,7 @@ value *pseudo_from_concat_raw (frame_info_ptr next_frame, int pseudo_reg_num, >> /* Write PSEUDO_BUF, the contents of a pseudo register, to the two raw registers >> RAW_REG_1_NUM and RAW_REG_2_NUM. */ >> -void pseudo_to_concat_raw (frame_info_ptr this_frame, >> +void pseudo_to_concat_raw (frame_info_ptr next_frame, >> gdb::array_view pseudo_buf, >> int raw_reg_1_num, int raw_reg_2_num); >> @@ -1693,7 +1693,7 @@ value *pseudo_from_concat_raw (frame_info_ptr next_frame, int pseudo_reg_num, >> /* Write PSEUDO_BUF, the contents of a pseudo register, to the tthreewo raw >> registers RAW_REG_1_NUM, RAW_REG_2_NUM and RAW_REG_3_NUM. */ >> -void pseudo_to_concat_raw (frame_info_ptr this_frame, >> +void pseudo_to_concat_raw (frame_info_ptr next_frame, >> gdb::array_view pseudo_buf, >> int raw_reg_1_num, int raw_reg_2_num, >> int raw_reg_3_num); > > Should these value.[ch] changes be part of the previous patch (17) instead? Oh, you're right, will fix. > Otherwise, the amd64/i386 parts look good to me. Thanks, Simon