From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2060.outbound.protection.outlook.com [40.107.21.60]) by sourceware.org (Postfix) with ESMTPS id 58F0D3858CDB for ; Wed, 21 Sep 2022 17:53:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 58F0D3858CDB ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=iPNFptTV2GQjOyr2eUo21NVz59kkQ/oBN7JzcKm2RnOGElKhwU0GRSwhofVWoRuRfAe8WcbEq6oen8eVWB05+sZ4OT7uWzN6YS3J6f7T70emopmHPZI2Z1E/epP26lZlokpn5HnQjnNmu1jJtJ/PseSNhY4OIJ1jHnHLwAS85BxfnvWlG/QzbwVrdhB1YMxs47VX7wFnc/Mh4XoZ0+sOpx7Hlh9JyH65vn6j06iBN2eZWTeQpLTPrBV6wdW0l2VRYiYvHy4+n1z61GglJrHcdeRCkRnhWH+JJYQjjn8BM9eBgR2VXXefQEmYYWujiarFxh34cEKnbk+wYXf3W7Ie0Q== 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=xru7WtNwzdhQVFoTq9fT8cWGOZE6ERrLZIVLY2XOEco=; b=nUOOSBGmbfvM/dXvgMLBobHn1ckRTqtV526Ehji9XTgkmk3U8vfbWdu0ovcH6w1JRhRZb3MPd0CPmGRoVBqn0OevtoxJzK3OTMnH8Pg+l0e2LIXK8VF1InY4z89gcNcvLL89ocTuTs1oSKJnrAX8aqqvqc/dQ2VcL2KX/Qx8lXT8SoUNpP/EjT6Af36MeAbVoYYzSCw35moQoL1Y17hjeKdv0+0LozCqh6iJkGNcXgpD3BLuOVnmBC3gLYT9GRBt0tq45PwWuOZe4Z4BG1+JM7DS80YtgxbGr+ZvYynJ92Za7EPOLN4V7sTAR4T1wo2X1csesvKEqH39ILIZrsaBmg== 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] dmarc=[1, 1, header.from=arm.com]) Received: from DU2PR04CA0015.eurprd04.prod.outlook.com (2603:10a6:10:3b::20) by PAXPR08MB6749.eurprd08.prod.outlook.com (2603:10a6:102:13d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.17; Wed, 21 Sep 2022 17:53:39 +0000 Received: from DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:3b:cafe::8b) by DU2PR04CA0015.outlook.office365.com (2603:10a6:10:3b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.16 via Frontend Transport; Wed, 21 Sep 2022 17:53:38 +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 DBAEUR03FT034.mail.protection.outlook.com (100.127.142.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.14 via Frontend Transport; Wed, 21 Sep 2022 17:53:38 +0000 Received: ("Tessian outbound 9236804a5e9b:v124"); Wed, 21 Sep 2022 17:53:38 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 35e0eae6a00bebc9 X-CR-MTA-TID: 64aa7808 Received: from 259622dc960c.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id F71F8696-3B24-48C8-BF3C-E5A9548A7E1F.1; Wed, 21 Sep 2022 17:53:31 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 259622dc960c.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 21 Sep 2022 17:53:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UFhHrjKxH6gY8pO3//E5/TwWkvDXTFXakbGrVmi4gU/QjF+5Ag043juC+W2qFotFLjn94Ja1Eev/4c7uKXS/ypjYPRq0qaYEGqJwQ0xHMHQs8T7bEPFmiE5UUPh/IwfD+pXA+WbAahA6cndYlpA6vleaJbY/D64O62zSgFEHD8boJSvnuVlLaoe/djAqEVyaCJDSxBtme5xC8tzgl3ZGYjIp0fmGonOoU3r3yEuT4tzHY1hV5AEHyOB2UuSTuM1zjhqzmaKTwt3wdak0kTlU7+J1obD67ed6DF3S31v3+ZQUDRKR5J2nwqQst5sME9STpiFlxLKhkMVLjbZ+vBJMZw== 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=xru7WtNwzdhQVFoTq9fT8cWGOZE6ERrLZIVLY2XOEco=; b=JlbnFbG9XXnVqjPRZdibRbeMDklbbZUjsAm4ZrdgPNgsY5Rd/uxVOXCKsOiN5PLuxqtSjMgmagE554HXTkS2KxG+3Ms2NqL/yugWiGKLbb78zykuWUS3BBI+tVPLrLvFBimhdjUIPW4AcEnMr+j66jHpju0WD7GQjkA4P5VlnzccsAfmKpBJps0Z64ldlvrwcexVSnkt+TT4Isu9vnQAqircyquuivgQGwkEapZXD0OXqVsuuK2hk6LEGJakoH30ppiiHGkmdafEivij7D4o3p5wqLJwaO6mi4SuRoae90Aw1TJg/TlkjXC1fnyGLhtJWaAJ3ih5x3QIdqeK4aYD8A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none Received: from DB9PR02CA0003.eurprd02.prod.outlook.com (2603:10a6:10:1d9::8) by DB9PR08MB6538.eurprd08.prod.outlook.com (2603:10a6:10:23d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.14; Wed, 21 Sep 2022 17:53:30 +0000 Received: from DBAEUR03FT048.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:1d9:cafe::9) by DB9PR02CA0003.outlook.office365.com (2603:10a6:10:1d9::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.16 via Frontend Transport; Wed, 21 Sep 2022 17:53:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by DBAEUR03FT048.mail.protection.outlook.com (100.127.142.200) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5654.14 via Frontend Transport; Wed, 21 Sep 2022 17:53:30 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9; Wed, 21 Sep 2022 17:53:29 +0000 Received: from e129171.arm.com (10.57.17.20) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.9 via Frontend Transport; Wed, 21 Sep 2022 17:53:29 +0000 From: Luis Machado To: Subject: [PATCH] [AArch64] Fix pseudo-register numbering in the presence of unexpected additional registers Date: Wed, 21 Sep 2022 18:53:29 +0100 Message-ID: <20220921175329.1005517-1-luis.machado@arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DBAEUR03FT048:EE_|DB9PR08MB6538:EE_|DBAEUR03FT034:EE_|PAXPR08MB6749:EE_ X-MS-Office365-Filtering-Correlation-Id: 6257c916-e792-48cf-d8ee-08da9bfa36b1 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: 4spmunDs6qqXzM5Ql+uwJFwwgkPFfJSHSKl2nFEiN7c1lBE5OUWg/dMQ/8vdzVKRLOKJsjMNZ2GC2XeesGFK9ER8PpxS2smnLUr4HCTF1kNAP9ncOrGP8x8k7FtjECoUu/mvUHbJOYF4zrQ8kgOy8Fe9V/uv02JpC6pKEpCOSLPwMxdII5U1MqSWAjl9mmHgARnKWsyJoUTtrDTUXKkvPtI7ZRc3JrIbKGr8OjrZy6y8Zi2k0u7Jh7hiJAq4yPB/OQsthc+z3SsqJv0WXpglWi3iSY0DX6F9zKvTlBo81Z6EuoVifh5lK9QjQ1DdGnAOpNFCu2nCLfTNN3dasvwMm1GMESf1K2N4jRMq8nQHQ7UuvZ9HQmiabSGNzqKy1awxmEKOVSkHysPtVLCblQwInzbPPthz0l2sWm/mUSPcewXw4GRwN6o0IhEvR18HObBQHrkmPKeDjWeQ19Poq/V9MB8uMzAzfXCA2tGKpJJ9uFiLEo6uKQk86eb3aIeDcL1JO8gLY/wzHY6NwCNR5nR9sQlxnSEIfpYKNkkdBRRcj2s/CT9xOpYkftaS2cJ2483k9Q3QDneTo32ODOBfnyA2hSpIGcWx5VYNeEEURrSeHVVezM/hIfh0GPIrFwQVnV9wkqCKARLigfu9GEIDa3koBexaD3JTV/Dajklo4pKsePkkn65UjojvCbXWJ0gEsg+xaoiXraGd/8wFphtc/nuXqI93eWEJ85FJUFycfjqx0hGmnmsLsbbclRsOQN7tJP3dMwK7Jg6lKVpZYiTuIXqU86j8iDRti5mI4Br6XDAhYfIuFsXpgg5g3ZGf5o9xmIRG X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230022)(4636009)(136003)(346002)(376002)(396003)(39860400002)(451199015)(36840700001)(40470700004)(46966006)(81166007)(41300700001)(36756003)(478600001)(82740400003)(86362001)(36860700001)(82310400005)(40480700001)(40460700003)(356005)(70586007)(70206006)(8676002)(5660300002)(6916009)(2906002)(316002)(8936002)(1076003)(44832011)(186003)(336012)(2616005)(47076005)(26005)(7696005)(83380400001)(426003)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6538 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: aecbd170-3cda-40e7-844c-08da9bfa318d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: K1TN1EneY1fkVUJh5Wdi/rzdCcfnp2VIn8Gf/zK1XajrIK37oGB3tnQWWtdUlCXRT8PMj7cIOXemlgAso5NxYfVUV8lmDWLECL17zNZ5c03jAWO5ODPQ+Rs4HzB1nfhWoH6XaOyqjV27chEbFVy3E2l4aAZMT5fCoLfFce80VM+ziK0QFZBPKkJ1rpAdsPEaaZj9yBPNO46ApEf1hEMoaKNZNlqnmNg5FKYMhwHSvMkVBQt/kbOcJZ8DUwjTqWcFjcK8BrKglEHF36TyidwzlP3lA8jSz/mZybPu1zFnNWBCIPMDQw4eS87Brbfo6omLLMdiOqLjYjH31o2Y6nYLiimCriqLUY/9+FNLyoi5Mgo57Cz9uWzt1Lx07HRliCaf8RaUxsbRVX9OI2Yh0Xt65K1SJBCmnQ7kQF8DaL76Vvesm2LFbSXLY59jW8zcuyc8T49BkEfKX1qde2lTlcuBSCVAVr9gYwo0Grt3i0L7vYMZ3C+jefiSBfbZ81Da/BjBFf0edhbgevoxCeYEc1Ra4QNMUM6IT+WO55TntEY+SRW+3ZiWVHDWXXw83+bHOTBhRvBzjSPHv2HSQG0jaVIUtn4+XL3ZNITOof40OROmgFgiYlsn+uEVLNdt1HYWUhvBNPyQ0Q5XhXgi2SRHdhjXX8Icsqx80XsSOlF/RRx0bsyIzpFF2FHSW1LWHWMdVgKpkQ+1UuNshTLEBHIGzM7QuM/s9vHHRwjeO6X8ePVrJdOfEowj4D6NL7omHIan29VrsSFtQSa1R0PrLNYcrYrdcA== 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:(13230022)(4636009)(396003)(39860400002)(346002)(376002)(136003)(451199015)(46966006)(36840700001)(40470700004)(8936002)(41300700001)(40480700001)(86362001)(5660300002)(81166007)(82310400005)(7696005)(40460700003)(6916009)(36756003)(70206006)(70586007)(8676002)(316002)(478600001)(2616005)(2906002)(426003)(47076005)(336012)(1076003)(186003)(83380400001)(82740400003)(36860700001)(44832011)(26005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2022 17:53:38.8100 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6257c916-e792-48cf-d8ee-08da9bfa36b1 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: DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6749 X-Spam-Status: No, score=-12.4 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, 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 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Sep 2022 17:53:46 -0000 When using AArch64 GDB with the QEMU debugging stub (in user mode), we get additional system registers that GDB doesn't particularly care about, so it doesn't number those explicitly. But given the pseudo-register numbers are above the number of real registers, we need to setup/account for the real registers first before going ahead and numbering the pseudo-registers. This has to happen at the end of aarch64_gdbarch_init, after the call to tdesc_use_registers, as that updates the total number of real registers. This is in preparation to supporting pointer authentication for bare metal aarch64 (QEMU). --- gdb/aarch64-tdep.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c index 7229b53838e..f94e810f904 100644 --- a/gdb/aarch64-tdep.c +++ b/gdb/aarch64-tdep.c @@ -3598,8 +3598,7 @@ aarch64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) tdep->jb_elt_size = 8; tdep->vq = vq; tdep->pauth_reg_base = first_pauth_regnum; - tdep->ra_sign_state_regnum = (feature_pauth == NULL) ? -1 - : ra_sign_state_offset + num_regs; + tdep->ra_sign_state_regnum = -1; tdep->mte_reg_base = first_mte_regnum; tdep->tls_regnum = tls_regnum; @@ -3698,6 +3697,18 @@ aarch64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) tdesc_use_registers (gdbarch, tdesc, std::move (tdesc_data)); + /* Fetch the updated number of registers after we're done adding all + entries from features we don't explicitly care about. This is the case + for bare metal debugging stubs that include a lot of system registers. */ + num_regs = gdbarch_num_regs (gdbarch); + + /* With the number of real registers updated, setup the pseudo-registers and + record their numbers. */ + + /* Pointer authentication pseudo-registers. */ + if (tdep->has_pauth ()) + tdep->ra_sign_state_regnum = ra_sign_state_offset + num_regs; + /* Add standard register aliases. */ for (i = 0; i < ARRAY_SIZE (aarch64_register_aliases); i++) user_reg_add (gdbarch, aarch64_register_aliases[i].name, -- 2.25.1