From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2065.outbound.protection.outlook.com [40.107.247.65]) by sourceware.org (Postfix) with ESMTPS id E052A3858009 for ; Mon, 27 Nov 2023 16:42:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E052A3858009 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E052A3858009 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.247.65 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1701103378; cv=pass; b=YLWB7rDalJR40InM/80jAqaRQrYJ+wknhYSGLpmbyki6WrI3w4kpI2zrPKrC9zjBp24MLrmYXPday06o5CFiXM1bW/tNZN0qOUCr3fn50QGTnyYAZ6GTRPGrbLtFJvksr2w1TF7d/7G7daV/2IV0b2BC6eEYA6StHUWPBvgZ7xU= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1701103378; c=relaxed/simple; bh=mntEXr+XeEb1rhs3FiuqcR8IW+g2xeR9P28EIPTANB4=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=q5w/QgY6EVSrceI5shsEcRm2wTuOncIVHAyYEcP/kYnxweGuIIr9bud8Z2X5jsdJLCk3qW7VbYT5JJkk6skTXPwwj4NqofkImuM08gyESa5uO1pt6gR32w28yK1xgCDHg6n+M2sw+IC+MM1O2gck8FpX+2zfdHtcdAOgc13Ou7w= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=EeUVO8M8yPEM2g2fGGLWLLaCef4+SA9Kz4pFWDf1fQnrNA+WSG3LzwzP5wIiGOX+SWlzaGIdiTGHFOoTTqSN4jQeKsHKGd2g912JR9QSCCt5UQhrnkAR1WJDVH/Me0OFRxfxHpOXhe857kzv+FKDkbZuwc6WaC7Tqq+Cd+298QPoijtH4qpumqlO7Hpv/vndYkRxAMW19Ot0kkOdGcrhvsXI77KsrkUME6seIpJmV1YEy4eoHzdpeABH1WjohGtlnT+nBfXhGL9iXSmCy/V3unyE/6nJ4rO/LFN2AHxpCbUiGcPdScW1/7D5O4bP4r79pIPFTUuhQPOLUhIW+eLp5w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=75752ceWKh4U1/v3nbYLZxUaOxNxLK0lkykoIzP2KG8=; b=O9/SKqYYztaCnS0/4t3tfA8YqzSozr2EAE6jdAfylClXxgWtcaJZ4yg0XO7CtZvPYEJOtu+gy38aJ6jMRTAeM3Zonh0LYbyyEJedmLFxKlrGceZeeXDbt9UyE/9r5TZH3W+oLHoNqUCAQKtM7MBh9t9JxTaTNIOuzdIAaSsQMi3JtzKdfAzNhUf8Nt5/yjzwiIO/7skW6E4K3LqLcwmNTWyI9BiqfTmank5q2AUVoSyFeBC0nIOgqXROUbF020GgKXg9lu3NZfIaO93ulJKNPy9hQY5i4Ol9pRGNc4pJGhOTLwx0OY7edvJ0GvIxSWEEfRQPfcjKCEYd/GC6xNt3sA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=75752ceWKh4U1/v3nbYLZxUaOxNxLK0lkykoIzP2KG8=; b=7q7pzBcmMFGWObu3z/n/O12EZHwlkq4sjEY4A/1DbgGrcFGKnvZu6CvcAnvff67AHTRZ/2Ml0d6Ii8LlG8RI/VWm8RKa3Wnrlhyr+c25WpLv7sO463Wvs2B+dRCnDIUMjYgyNIlZIKTW6r6ZG5uc8T8V+qRscVCEUHR2yCSqgIA= Received: from DB8PR04CA0006.eurprd04.prod.outlook.com (2603:10a6:10:110::16) by DB8PR08MB5387.eurprd08.prod.outlook.com (2603:10a6:10:115::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Mon, 27 Nov 2023 16:42:49 +0000 Received: from DB5PEPF00014B99.eurprd02.prod.outlook.com (2603:10a6:10:110:cafe::24) by DB8PR04CA0006.outlook.office365.com (2603:10a6:10:110::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27 via Frontend Transport; Mon, 27 Nov 2023 16:42:49 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5PEPF00014B99.mail.protection.outlook.com (10.167.8.166) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.17 via Frontend Transport; Mon, 27 Nov 2023 16:42:49 +0000 Received: ("Tessian outbound 5d213238733f:v228"); Mon, 27 Nov 2023 16:42:49 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 31e9e0ae4f050ade X-CR-MTA-TID: 64aa7808 Received: from 231f4f26f51d.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 46AE3DAE-05AF-4442-A904-E28EAADF69F7.1; Mon, 27 Nov 2023 16:42:42 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 231f4f26f51d.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 Nov 2023 16:42:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GobKbfPb2RbVVMIMv/9Ej065JMFW/QTFAHzP0eemrnznuVNvNC2udlAj1q8e0CZ3wpD5f/O2YT0d2JqLwCAWd3JjNsQgbBaHkYzlnGAjJ2JQ9XQOYsxCLTkN1qBzQSn96/bY7N0xxtJkJSxqUQnhoQMQq9xJ56rhKs/m0Lns45ZDoq7NclCvLWsu/S2uXXN5Vd/qDhrpOFtsflTs7FwHCwHvZUBx9BOGPDoYItPPv/zwm6JfEkZhiw9dqNJ75cFvSYkDoBxhT/Y10g0JoRaOTzN34BTHqagSItNCddrksb5M46oq5FK1wfDvDQsFBi9phgFqWgzjq8EB2ygLj4EyJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=75752ceWKh4U1/v3nbYLZxUaOxNxLK0lkykoIzP2KG8=; b=TqMt3jkHH/8k3M5jXmPic9uSKNcQIWZt8XWwArZrmoTT3WzosIENzn2IZolTmlkntHCyYVCuAbe1z4r7B8UbGCfBM+4da4YWz3qpc061gWuCq1WUrDB8ffb/S4nOUAZXElPaKVKWPVNX0kPEzIPaMVr+vXmn5jbz8JYADY8+FMWWR6efPymjq5IEJstjHDW+W1xHVwcjvn0Kk7+MQq+KRMKqtRIO9mEMIO/020Qw4eZByPiRV+I6h+sCJ7IghYPkw0M2bu5zeFVK5RT7gTP9d7GJFyTmYdc/SzarBwUZ4ZXlyoj7FRwX0t4E4seySns6KItZNrOXcYV8OfmReaWk8g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=75752ceWKh4U1/v3nbYLZxUaOxNxLK0lkykoIzP2KG8=; b=7q7pzBcmMFGWObu3z/n/O12EZHwlkq4sjEY4A/1DbgGrcFGKnvZu6CvcAnvff67AHTRZ/2Ml0d6Ii8LlG8RI/VWm8RKa3Wnrlhyr+c25WpLv7sO463Wvs2B+dRCnDIUMjYgyNIlZIKTW6r6ZG5uc8T8V+qRscVCEUHR2yCSqgIA= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) by DU5PR08MB10774.eurprd08.prod.outlook.com (2603:10a6:10:529::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.28; Mon, 27 Nov 2023 16:42:40 +0000 Received: from VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::e05e:c012:f1f9:eb51]) by VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::e05e:c012:f1f9:eb51%4]) with mapi id 15.20.7025.022; Mon, 27 Nov 2023 16:42:40 +0000 Message-ID: Date: Mon, 27 Nov 2023 16:42:37 +0000 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 22/24] gdb: migrate arm to gdbarch_pseudo_register_read_value Content-Language: en-US To: Simon Marchi , gdb-patches@sourceware.org Cc: John Baldwin , Andrew Burgess References: <20231124212656.96801-1-simon.marchi@efficios.com> <20231124212656.96801-23-simon.marchi@efficios.com> From: Luis Machado In-Reply-To: <20231124212656.96801-23-simon.marchi@efficios.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0478.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a8::15) To VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI1PR08MB3919:EE_|DU5PR08MB10774:EE_|DB5PEPF00014B99:EE_|DB8PR08MB5387:EE_ X-MS-Office365-Filtering-Correlation-Id: 177cff07-606f-4d05-c267-08dbef67e461 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: YxxB8d3Z/15MIvV5jVFP8MzX+gnQY8AOqwMUsXFTFK3J0LDuK7OMndtMFPzEkDAeHRrjQBoEVj9UPJEOlGRKyTEljXbd7SEEjc9/HXGTBV0e7rfF9xlZZbx51gpu6dI73tWI5NjiEJxEK+vWK516fwleSmitsg6oyCJJTWJaRWNyaSKRL3ISV91+rxlTeI9SGQ713F07nlQvwaU5K+B7SFM5AvEp5vDYxYbZc3f6eZwiJFOsnxSAqwxlfeQoOs0u5WhAizIUQtvlwoaaaR9QIBtaKa/HByJzREwYAwz4Df1xmZ61qAMfe/dtVWyEsc0yI7R0FkiYc/7cM9PjuYsdaXuAkQzzsF68MnyxJ+/xGhdRRJeuxXMWiOvzbqq6UfzYkGlkzUFxxYMeex3/JPyaNAVMhggj3e77l+2HvRsUX6GmqlghnStgQvafL3PAQCOyzq9jS+CCfL6WY/2aZQ+pJTxbzPJUqC7tE/1KzzL/lKev+Mb0exodGEoM/iQAzFjyJQrOIxRmnZXcDjrcliSBNkqFjDxoJXTf2PV/w23HiVllKLjLKzGcH3qn9PwxcQZ1XaR6Fjra27EPev3v2TipNe7TibyJPYRSbemiu1qA6Haz+T5KdXu+dRCcdo2RR5k2/gbVNjxbXRTO41KWOxqiSA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB3919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(396003)(376002)(346002)(39860400002)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(6666004)(8936002)(8676002)(4326008)(6512007)(6506007)(53546011)(66556008)(66476007)(66946007)(54906003)(316002)(6486002)(478600001)(36756003)(38100700002)(41300700001)(31686004)(86362001)(26005)(44832011)(31696002)(2906002)(2616005)(83380400001)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10774 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B99.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: d736e164-8739-4f1f-5813-08dbef67def1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: igoSm1VeBpN0sic/kslCJ7Squ1WgFuTLRDgCffDEG9C1c62U7lhPhRXsityawF0+9FFT02CYk0B8R8sxpbUnBwtcHXEeVjOYkfkmO+bdJwtVha4Of+ORfzSh6HWI0t0wM47DGSXzFUKss0HVkd7vV9C+4t9VFydDLsNLSQpCxhi/JtDqWIowkGhDIyKaBsNEQ+gXRkT4ZCS3nz2MMRkWymoviRjGQuEHBieAuQ2HTPYRp+9rtL4gLspV81K4PfTnZr85L6AGQpoE8wl5H7SF7oaM0cBHDW4VvNfXN4X0SdF4jEVGBd1RFTpwDVVz1dSnQMEC3oR6dVoQA7E6iTK4GkYf/6uY3thJ3pvz0JSyBdCLyQ1EmBORNdO2dMO0mqSey8a4pI0WVQUxWZWFIF8QFCg63y5rLfg0O0inybM3ktN7D0SpVxnC6AP8kmWMYmxeDjZ5CUgZ3lrKQ32r0iSJgmtsutJ55Cmfm4PGksokIOt3owWg88f+twmD1FGvtVk/ZMgFA1dZ1sWJU/FRlLglTssYapwC5LqvJNkv7ioDiDAE9BtR83UmIzghlKRxHBWd6HK9bThnOcn0JDW15UEYcFCetQkskCjSRMxkA4dLHLE51m+g1OUg+CiN3oBT1cSwXnmAeT0pvWT5gsUtq1Ww8PnncKmRedArfaSilXl/Ysa84/AgPXKY9acRG1QdsPEznEQOnUVLcRkJB0lECEycAe9L4Ju00FBdPeH9esS6JX+lg2pIWK9FhvI0ULMXoGlSEh1JWMK3Urai5C1n9nJYdQ== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(4636009)(346002)(39860400002)(396003)(376002)(136003)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(82310400011)(46966006)(40470700004)(36840700001)(40460700003)(53546011)(70586007)(54906003)(316002)(70206006)(6512007)(6506007)(336012)(36756003)(107886003)(2616005)(26005)(6666004)(83380400001)(31696002)(86362001)(82740400003)(356005)(81166007)(47076005)(36860700001)(478600001)(6486002)(44832011)(2906002)(40480700001)(5660300002)(41300700001)(31686004)(4326008)(8936002)(8676002)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 16:42:49.5182 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 177cff07-606f-4d05-c267-08dbef67e461 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B99.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5387 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY 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/24/23 21:26, Simon Marchi wrote: > Make arm use the "newer" gdbarch_pseudo_register_read_value. This fixes > reading pseudo registers in non-current frames on that architecture. > > Change-Id: Ic4d3d5d96957a4addfa3443c7b567dc4a31794a9 > Reviewed-By: John Baldwin > --- > gdb/arm-tdep.c | 76 +++++++++++++++++++++++++++++--------------------- > 1 file changed, 44 insertions(+), 32 deletions(-) > > diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c > index 13c9ca6761da..cded66c91454 100644 > --- a/gdb/arm-tdep.c > +++ b/gdb/arm-tdep.c > @@ -9816,61 +9816,73 @@ arm_neon_quad_read (struct gdbarch *gdbarch, readable_regcache *regcache, > return REG_VALID; > } > > -/* Read the contents of the MVE pseudo register REGNUM and store it > - in BUF. */ > +/* Read the contents of a NEON quad register, by reading from two double > + registers, and return it as a value. QUAD_REG_INDEX is the index of the quad > + register, in [0, 15]. */ > > -static enum register_status > -arm_mve_pseudo_read (struct gdbarch *gdbarch, readable_regcache *regcache, > - int regnum, gdb_byte *buf) > +static value * > +arm_neon_quad_read_value (gdbarch *gdbarch, frame_info_ptr next_frame, > + int pseudo_reg_num, int quad_reg_index) > +{ > + std::string raw_reg_name = string_printf ("d%d", quad_reg_index << 1); > + int double_regnum > + = user_reg_map_name_to_regnum (gdbarch, raw_reg_name.c_str (), > + raw_reg_name.length ()); > + > + return pseudo_from_concat_raw (next_frame, pseudo_reg_num, double_regnum, > + double_regnum + 1); > +} > + > +/* Read the contents of the MVE pseudo register REGNUM and return it as a > + value. */ > +static value * > +arm_mve_pseudo_read_value (gdbarch *gdbarch, frame_info_ptr next_frame, > + int pseudo_reg_num) > { > arm_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); > > /* P0 is the first 16 bits of VPR. */ > - return regcache->raw_read_part (tdep->mve_vpr_regnum, 0, 2, buf); > + return pseudo_from_raw_part (next_frame, pseudo_reg_num, > + tdep->mve_vpr_regnum, 0); > } > > -static enum register_status > -arm_pseudo_read (struct gdbarch *gdbarch, readable_regcache *regcache, > - int regnum, gdb_byte *buf) > +static value * > +arm_pseudo_read_value (gdbarch *gdbarch, frame_info_ptr next_frame, > + const int pseudo_reg_num) > { > - const int num_regs = gdbarch_num_regs (gdbarch); > - char name_buf[4]; > - gdb_byte reg_buf[8]; > - int offset, double_regnum; > arm_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); > > - gdb_assert (regnum >= num_regs); > + gdb_assert (pseudo_reg_num >= gdbarch_num_regs (gdbarch)); > > - if (is_q_pseudo (gdbarch, regnum)) > + if (is_q_pseudo (gdbarch, pseudo_reg_num)) > { > /* Quad-precision register. */ > - return arm_neon_quad_read (gdbarch, regcache, > - regnum - tdep->q_pseudo_base, buf); > + return arm_neon_quad_read_value (gdbarch, next_frame, pseudo_reg_num, > + pseudo_reg_num - tdep->q_pseudo_base); > } > - else if (is_mve_pseudo (gdbarch, regnum)) > - return arm_mve_pseudo_read (gdbarch, regcache, regnum, buf); > + else if (is_mve_pseudo (gdbarch, pseudo_reg_num)) > + return arm_mve_pseudo_read_value (gdbarch, next_frame, pseudo_reg_num); > else > { > - enum register_status status; > + int s_reg_index = pseudo_reg_num - tdep->s_pseudo_base; > > - regnum -= tdep->s_pseudo_base; > /* Single-precision register. */ > - gdb_assert (regnum < 32); > + gdb_assert (s_reg_index < 32); > > /* s0 is always the least significant half of d0. */ > + int offset; > if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG) > - offset = (regnum & 1) ? 0 : 4; > + offset = (s_reg_index & 1) ? 0 : 4; > else > - offset = (regnum & 1) ? 4 : 0; > + offset = (s_reg_index & 1) ? 4 : 0; > > - xsnprintf (name_buf, sizeof (name_buf), "d%d", regnum >> 1); > - double_regnum = user_reg_map_name_to_regnum (gdbarch, name_buf, > - strlen (name_buf)); > + std::string raw_reg_name = string_printf ("d%d", s_reg_index >> 1); > + int double_regnum > + = user_reg_map_name_to_regnum (gdbarch, raw_reg_name.c_str (), > + raw_reg_name.length ()); > > - status = regcache->raw_read (double_regnum, reg_buf); > - if (status == REG_VALID) > - memcpy (buf, reg_buf + offset, 4); > - return status; > + return pseudo_from_raw_part (next_frame, pseudo_reg_num, double_regnum, > + offset); > } > } > > @@ -10905,7 +10917,7 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) > if (tdep->have_s_pseudos || have_mve || have_pacbti) > { > set_gdbarch_num_pseudo_regs (gdbarch, num_pseudos); > - set_gdbarch_pseudo_register_read (gdbarch, arm_pseudo_read); > + set_gdbarch_pseudo_register_read_value (gdbarch, arm_pseudo_read_value); > set_gdbarch_deprecated_pseudo_register_write (gdbarch, arm_pseudo_write); > } > LGTM. Approved-by: Luis Machado