From patchwork Mon Sep 18 21:26:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luis Machado X-Patchwork-Id: 76313 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BAE7D385C6E2 for ; Mon, 18 Sep 2023 21:27:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BAE7D385C6E2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1695072477; bh=3KMh76uEo7YbVQtVn5KtnJymSqD92efYLD4gL/8fdVE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=kdUaOOfan7SmQLZZY3C0Jr0lUQJVKbxobw3zSyrzGbw0g1ranhdE34J7xZBwwj/rN ueR+PBRNSEn8A0hqFELUVSwgH/ObZRC3/5MdfwQZLMF7Jh9jRyTOn+RlaYmklQ2r92 IbkgpTj3mDjncsiHs6PTRL2sXP6HwhXpGiJRt4Uw= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2042.outbound.protection.outlook.com [40.107.22.42]) by sourceware.org (Postfix) with ESMTPS id 88EF83858C2A for ; Mon, 18 Sep 2023 21:27:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 88EF83858C2A Received: from DUZPR01CA0345.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b8::28) by PAVPR08MB9307.eurprd08.prod.outlook.com (2603:10a6:102:304::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27; Mon, 18 Sep 2023 21:27:14 +0000 Received: from DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:4b8:cafe::51) by DUZPR01CA0345.outlook.office365.com (2603:10a6:10:4b8::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27 via Frontend Transport; Mon, 18 Sep 2023 21:27:14 +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 DBAEUR03FT003.mail.protection.outlook.com (100.127.142.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.15 via Frontend Transport; Mon, 18 Sep 2023 21:27:14 +0000 Received: ("Tessian outbound d084e965c4eb:v175"); Mon, 18 Sep 2023 21:27:14 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 22c9db0d9bc19b8e X-CR-MTA-TID: 64aa7808 Received: from 710f09a800e3.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id D620215D-4297-4F1D-B9F1-7969AEC6A35E.1; Mon, 18 Sep 2023 21:27:06 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 710f09a800e3.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 18 Sep 2023 21:27:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QTu7c00EASoSnTWvE/cGKC7+3i5VgxKH9n0RtfRkO8Nu7aJ7SdIfchoxFOtrcmvkC0rAqWMobPLYjWyHf2TbrEhws7MdPLOnB+qw+SgdYLDNhmZmTfIDRBWvRKtyu/KTxzZftXumyDeYKJ7UezgS08pPDU8wylq2wNDApAK1ij1xIkITrog/mUlQ8NxMwMTDQCTueSGELMizZf/mKc43mFT/4BJTFkgP4nBiDw+CZCl2c+dZNZiCstFZ4p42+7OGGWqCaZAmhuJJlqreu2fm0/7H8Rh5R043FTWVahhN/E1+tCaBFwZ2waZBnyO1yUd4bqShbz+9+Q0fu3FnYw95EA== 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=3KMh76uEo7YbVQtVn5KtnJymSqD92efYLD4gL/8fdVE=; b=kFbXgogxPx4p1uPADE6k+4o/NxplnZDMyxfVudbHWmVfnHswoX7LAKNgWiDAjPaP3bb20VYFm1qnDSAoDcqjVRt0J8McepQpCWZUgz9mg5eWIczx/N2KpUZw/p2DrqPhZfrLaF5ECYnJvLioMtucBQrqhZLb7uLSV4xVwFuFV9H8om6xzJSWt5Li+vii/QvC5AYJ9MVQn3M9fL/uKB8RgJAzbSidfAM99BpiKq/ywAZ1HFXVgCxklQyA7r7aWMyn3aubgP94L8JYbZIXBJIJWqDXVtKw50pqTFVF4bbT5fI9oj2oXVrhu6oByipDakNntsKALIDofbOx4kp/x3WlWQ== 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 AS9PR06CA0212.eurprd06.prod.outlook.com (2603:10a6:20b:45e::33) by AS2PR08MB8805.eurprd08.prod.outlook.com (2603:10a6:20b:5f5::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.23; Mon, 18 Sep 2023 21:27:04 +0000 Received: from AM7EUR03FT061.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:45e:cafe::99) by AS9PR06CA0212.outlook.office365.com (2603:10a6:20b:45e::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27 via Frontend Transport; Mon, 18 Sep 2023 21:27:04 +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 AM7EUR03FT061.mail.protection.outlook.com (100.127.140.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6813.15 via Frontend Transport; Mon, 18 Sep 2023 21:27:04 +0000 Received: from AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) 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.27; Mon, 18 Sep 2023 21:27:04 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 18 Sep 2023 21:27:04 +0000 Received: from e129171.arm.com (10.57.64.238) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.27 via Frontend Transport; Mon, 18 Sep 2023 21:27:03 +0000 To: Subject: [PATCH v7 07/18] [gdbserver/aarch64] refactor: Adjust expedited registers dynamically Date: Mon, 18 Sep 2023 22:26:40 +0100 Message-ID: <20230918212651.660141-8-luis.machado@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230918212651.660141-1-luis.machado@arm.com> References: <20230918212651.660141-1-luis.machado@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM7EUR03FT061:EE_|AS2PR08MB8805:EE_|DBAEUR03FT003:EE_|PAVPR08MB9307:EE_ X-MS-Office365-Filtering-Correlation-Id: 5774c816-4563-4aa8-ea72-08dbb88e06d7 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: UFQNVDee2LSUsaXY0nmwjzbSJ+a/qaHysVrEVe+lRql8VXgtvX8fIKREbvid1Gt0MMgImD3OVPs4q0amVl4Wslcvw0orYzkpmXsfnBl+/kgwQUoWzU5Qi2MwxoC6Ezmh6Vr5BYo1vkhLHdUhDwPDNRPa+zDdi9ZU+eyA/ZabCqBWJzFH6++T4aJ2e1w4HAiwzyS6mslAZHbQ1a3tNsoQqscKTFQ7ZEUtjK6440IH786pG0nygVZAn+PCb6EEL60KRTM2Qdgo0brmeTDeCJxxu9QnVIbVyXFNS/Z0zJ8P7t0hKvcdVBN6NO5/s1SqLAngwTwMXF3Bur7phPyEwlPEtn49GoCj5y+qtA2VPxmfoAdskWzz1WaA1ib101OpWIytn9hCKDbH2WQge32xtKa9C/OrJF9mmS0D4JLMnQoxAVu0IRJj3deFyuJH9nmQqGYSkXUWHMJjQdXsv4swzjDj/RwiSg33zzUSrOB3CAf2q0yETRdYnPguciH0MQqIZVBXYd57eh7aFff+/zbjRtKrQJ+m2lbCdUKQSzwJBph8mq5cJvqEyxtfVYszH/WNNNLwyiuehksnAJIVDzllO4cNcOD4MPejvTAX9WZvYunTXVHjOthMs3jssGDp/1JoN/LH/9IsBY+CRGt7WXmSRrlJxdQ2snXRmYm5g7mBfPR/rA4poGyEd+yvPpmX6TCzugg80j6s2PLw2zTf3ch5UTMkFFSJ3YSblmKIijTUykRsB8Zfsldib587K353bnxMS3HxQ2P7JsJrdi9jCqZ5ZfK88A== 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:(13230031)(4636009)(346002)(136003)(396003)(376002)(39860400002)(82310400011)(451199024)(186009)(1800799009)(36840700001)(40470700004)(46966006)(7696005)(6666004)(478600001)(426003)(2616005)(1076003)(26005)(44832011)(47076005)(2906002)(336012)(6916009)(316002)(70206006)(70586007)(54906003)(41300700001)(5660300002)(4326008)(8936002)(8676002)(356005)(40460700003)(81166007)(36756003)(36860700001)(40480700001)(86362001)(82740400003)(83380400001)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8805 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 234dd5e2-7c52-4967-e575-08dbb88e0114 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wi0faAhYpIqwPnHiajzniemIu2uVqq4rAF5bzVcsi/Ow9mmf0qNFMYFsOcGE9dhgOV+Rja3Q9lOxPbjhqFCWQJ9X6LvuFRuexL2U1hv6/ajCksGxRlVrVaK5yxbX5kpb8rBgUBCNYpAoABmhs7wiaP8d8PpvQJYcNsKHot5gvyk40u+1CTYzpglNqOdZNRv8aaX0Nmssv+p4gzJPge+sFkpR8wc+XXVahUxn1iFf8NPqD4trHY2434L6R9ILgYx6nbkmfG7heB7oU7/LNC8VAe9rdiPvx6Fi9efZuhuOzCYa0gWOg56H5Xs0WY/UOn25457T3Pnlwi1Id7GXsMB+63SeAthbEAerA59Yfj+xTNE99KoLYlNJSvnXgSC6NGmdRCAQ6dKmc+kKMNpsWAXj5BL3d4Pw0XSwSax8l2LdoGs+gKVL307lOOmHAprweXSztfOuKy27UuM9IhogpHz73XxgBN9TBkNgMAiTxnaHN5MOpCL8Ps5Nhp7RTyKBQfzxZ2rnMp839iSjiYGR2Nr7e+XEL/WS4+DtEsaS+Q9cRYLRC4LZiBkkwWJ65dZWl5peMezVkoIE8RuzH6orSLgauODR+aw0VZAvCm7OKSom1HiwOD7qw1PaIt3D93UIu0v4Gx8DHlWL59uV7XSLOSddnuzf3mPrJPLym/ugwsoUQ9AIprHrYuI7dyAZf9tZ7BYpgfTgkq8jJp6TxnHZ4fe812weF0qVb1nBBfom6ecGDDB7PCIIwhbbR8tRn1VnKHdR 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)(136003)(376002)(39860400002)(346002)(396003)(82310400011)(1800799009)(186009)(451199024)(36840700001)(46966006)(40470700004)(478600001)(8936002)(6666004)(40460700003)(7696005)(36860700001)(316002)(40480700001)(2906002)(2616005)(36756003)(1076003)(336012)(426003)(86362001)(26005)(107886003)(81166007)(41300700001)(4326008)(82740400003)(8676002)(83380400001)(54906003)(5660300002)(44832011)(6916009)(47076005)(70206006)(70586007); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2023 21:27:14.2424 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5774c816-4563-4aa8-ea72-08dbb88e06d7 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: DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9307 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, 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.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Luis Machado via Gdb-patches From: Luis Machado Reply-To: Luis Machado Cc: thiago.bauermann@linaro.org Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Instead of using static arrays, build the list of expedited registers dynamically using a std::vector. This refactor shouldn't cause any user-visible changes. Regression-tested for aarch64-linux Ubuntu 22.04/20.04. Reviewed-by: Thiago Jung Bauermann --- gdbserver/linux-aarch64-tdesc.cc | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/gdbserver/linux-aarch64-tdesc.cc b/gdbserver/linux-aarch64-tdesc.cc index 633134955e5..3c60e1a4db0 100644 --- a/gdbserver/linux-aarch64-tdesc.cc +++ b/gdbserver/linux-aarch64-tdesc.cc @@ -30,6 +30,8 @@ /* All possible aarch64 target descriptors. */ static std::unordered_map tdesc_aarch64_map; +static std::vector expedited_registers; + /* Create the aarch64 target description. */ const target_desc * @@ -44,15 +46,20 @@ aarch64_linux_read_description (const aarch64_features &features) if (tdesc == NULL) { tdesc = aarch64_create_target_description (features); + expedited_registers.clear (); + + /* Configure the expedited registers. By default we include x29, sp and + pc. */ + expedited_registers.push_back ("x29"); + expedited_registers.push_back ("sp"); + expedited_registers.push_back ("pc"); + + if (features.vq > 0) + expedited_registers.push_back ("vg"); - static const char *expedite_regs_aarch64[] = { "x29", "sp", "pc", NULL }; - static const char *expedite_regs_aarch64_sve[] = { "x29", "sp", "pc", - "vg", NULL }; + expedited_registers.push_back (nullptr); - if (features.vq == 0) - init_target_desc (tdesc, expedite_regs_aarch64); - else - init_target_desc (tdesc, expedite_regs_aarch64_sve); + init_target_desc (tdesc, (const char **) expedited_registers.data ()); tdesc_aarch64_map[features] = tdesc; }