From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id QdIIEsTvVGoyPAYAWB0awg (envelope-from ) for ; Mon, 13 Jul 2026 10:01:40 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=4xsHUn2p; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 422F81E09B; Mon, 13 Jul 2026 10:01:40 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 147871E033 for ; Mon, 13 Jul 2026 10:01:39 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A59954BA2E36 for ; Mon, 13 Jul 2026 14:01:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A59954BA2E36 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=4xsHUn2p Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11012023.outbound.protection.outlook.com [52.101.43.23]) by sourceware.org (Postfix) with ESMTPS id 00D1E4BA2E21 for ; Mon, 13 Jul 2026 14:00:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 00D1E4BA2E21 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=amd.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 00D1E4BA2E21 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=52.101.43.23 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1783951255; cv=pass; b=Hp+VcNDgbcMrHptCsr4CsdvlEJNfdW/AW+f5kOja1f+NQFBeK9XRm55pCarcBoyyBMTAmSAJ5MSidn88bhldpSjoAwQmjjFyUdHLtLsQK1/Lx4nhEAP/t1Sqt+qbZtPpHeEa2wsCioMCdX04N285szemPfgeFh7C9eyL7eBa5tI= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1783951255; c=relaxed/simple; bh=gvGXWSTE1JNXKIo7P77EaRaGXmR9qDfl3GVKjdOFc9s=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=o9HGZHrrZuX3M3q7ijFjIOoCvjB0FGcpqUw55I2PvZRkuMQYDy7iJQic3AmDJMcfdy/DIOlIZNYhoRGcIATI9lUKMrzRe5E3Z3FTpdTeAa2uwIgr/KUZdA8vIYeXbX+xwiYyLzl09367pJT2h2TvPMfVi4b6cEMh7mvSS8HCeDE= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=4xsHUn2p DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 00D1E4BA2E21 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hBIOhca6czkYCjuLnKX7oV4s6UZL2DuwJ7jMb8g2P7Aj34WDyN3o6X6Movd7p9DXeW7fBY4JDPVJThD/VDWrEdfRVEArBm5+CLxq937uefzq0mFpVgitUYcD45B38uEKliQdIfb1yAJ/xf2FcZA7iZug8+p6QCUpMug1dfA1VNt2qe8Q9bkVOxJ5JZ0Njqgw6hxD3dKC2OwJFbw4dOvqAT4UgkF3Jjp33y1HsiFVAY5Hk3zf7CVsGvqTEU4MFRoSjZmRhq4yTVueHnBJQxGwO2sI3eihEvs+HK/poTF5VYO2OCMOcAymXBANUbFSKytah7jW4YUnYu9oLYMz907NpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=ES6Mqbsv5mO2oSkGLwJFd6KWV3bNOuLHZi31uMkgBms=; b=sGL0z6c8fVu/SiFvxIGGffy5dnJpE8xy7BIZDHnRddLoHlEfd8gr8QcpNZ6VL1lQvw+owebl59MgKvwIl0D2LdHIzR6EvmjvyI1J3WEUMsMPwmNuzt8YxRw0uCXKetFbRuW2zUFG0+7q6hHa7WLXP6UUJXMU2ESafH6uoImF5LtHK/8FbkALQGdY3CbqK4ETf3nJMQcHp5GSyCOb6rQzL+lfPn/5qV+ixKjl/u2hEscTDTU6ofJ9OnVAfO3XxXn26XI5TpCVFzccc8D5zWgJTQMARTx5v3RR64Rrp1WyEAqCZU6DBCkIkEsfuPrGI4Ko8RCBlhmI9OOZPmC9gIWrMQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=sourceware.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ES6Mqbsv5mO2oSkGLwJFd6KWV3bNOuLHZi31uMkgBms=; b=4xsHUn2pK/x7kPXEnebObFapl/GHz7En0IVyYRJaQMZKx2sWytE4g1EB86sJDCDAtc4TTn58+C/pnD/NS7GQcW5Un6IF481YaqizrsWYOz62YtpkA2LfF96JVy9sH7T49hf3v4d0tfO8UFZZxChpoKXfhGN9ubpOfwtJcBDTLVc= Received: from CH5PR04CA0002.namprd04.prod.outlook.com (2603:10b6:610:1f4::20) by MW4PR12MB7119.namprd12.prod.outlook.com (2603:10b6:303:220::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.19; Mon, 13 Jul 2026 14:00:48 +0000 Received: from CH1PEPF0000AD7E.namprd04.prod.outlook.com (2603:10b6:610:1f4:cafe::28) by CH5PR04CA0002.outlook.office365.com (2603:10b6:610:1f4::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.202.19 via Frontend Transport; Mon, 13 Jul 2026 14:00:48 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by CH1PEPF0000AD7E.mail.protection.outlook.com (10.167.244.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.9 via Frontend Transport; Mon, 13 Jul 2026 14:00:47 +0000 Received: from ctr-rack32-mi300x-1.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 13 Jul 2026 09:00:40 -0500 From: Tankut Baris Aktemur To: Subject: [PATCH 04/16] gdb: convert address_class_type_flags to address_class_dwarf_to_id Date: Mon, 13 Jul 2026 09:00:03 -0500 Message-ID: <20260713-users-aktemur-type-instance-flags-v1-4-779cad0c85ec@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260713-users-aktemur-type-instance-flags-v1-0-779cad0c85ec@amd.com> References: <20260713-users-aktemur-type-instance-flags-v1-0-779cad0c85ec@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.15.0 Content-Transfer-Encoding: 8bit X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD7E:EE_|MW4PR12MB7119:EE_ X-MS-Office365-Filtering-Correlation-Id: 750d5462-d555-4a2e-2e1c-08dee0e72404 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|36860700016|376014|82310400026|1800799024|6133799003|11063799006|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: AgSu7ObX1QUf/0R26kJnEARzHrh/5bAjP+MB0m353cUXK8xCLZd0wLn0cFIO5S1gNt8lfnHyIw2Hlj5G2hcBpxZw08fW36H3sQQk/SMsWCBe0ABAGsPr5h7mWGYlBou5bNTqeQZ8ctGgHcaGJhf7DQweNAyyDt+dAZv4V/YuasLyyv6saPMig3uQiHJaB2Wh+gNeeBHtNx0fxytYRMdlW8v8mvC25NkA2x1vOS9GH5HFdt4ZpqlKYUmCcvsssoPXfDsZ5fY2mdIC+GI+IQqMDeZ1ibJJN7b//9uSJRj211gsWyWZeYg4ANiHC0rD6HEo1vBiDdFFq4r8vd4Lu8SDqu3fH7b7NvOkN7qsjiQVl6ciuwXkeOnx2XPd6hd5sbCgjC0PlDXwhAFYui3gz8yiuORxxEehaQy1KzBWUsgMz5NToolCwkvKHImwetNl/l+BJfleYdwccL8K1AY/+o+N/OH/7VIhkSKepgaTzzyk7IaCGR+ERPIwklYtCyVypzLH8GWCqjo2JvN2vQE+76Nd2oXfd6mJ5O+hWHZMHUqJD3tqXjiAZptCdCjB6G/zLFH1cqWiLo4q25E4TZ7yOPqal+NjX1GDPseb+PFhO+/lrPeE7/PrvUgkOBbNMX4QymkyCEq5zrSQ9sHhAS+3ZBN//hojF0ABD3UkTc2Cn4gA4hxgdHZABVa6Y6JsSwOnmis9TZzokz50UZVkKu+SPV+spw== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(23010399003)(36860700016)(376014)(82310400026)(1800799024)(6133799003)(11063799006)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: vspPXN6KU9xLQOpGfoapfS29PNR0QedvnMblHnzIcdSNM/KYnQKpc9JqpxZWBdp92ofL/iyNBlTFbLnbdwl13uczDcz1WBq1GkDiFTHDerYa6UuiVeB09HtHomOLl9vKZl8ZE05zQkB/4REJ37M5+e2FDBgb6yLo9B11cwPRTqpJiezzgd130Fbihd5mZ9RN/H/SZQTeLoUIIv71lo8tFyuxrOzAQF1Oz7tHn79+jHR5KgZ6/sxsYHUF4xW/K/jSG1fD3Upj6eQdv16uiljysu7XoT/1WB6TvE4zOYsu54ojFSLAHi5Gs8hdqemTaM5htTvTwsAoZNIDaGBXuNKv35xYHbCEwyXz/4qoRI9nIIvJCiM78xYKd0boZvk7OX+vM4bIU9HbhoBya9e9X9crFTHY8RsJMnDSyNL4M36NokgGOzP0oWttatGF6EwM6LmS X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2026 14:00:47.8963 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 750d5462-d555-4a2e-2e1c-08dee0e72404 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000AD7E.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7119 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: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org The gdbarch method 'address_class_type_flags' is used for letting an architecture translate the DW_AT_address_class attribute to an address class id. Make this clear by refactoring the method to return an id, instead of a whole type instance flags value. There is hardcoding of "<< 4" left in dwarf/read.c. This will go away in a future patch. --- gdb/avr-tdep.c | 17 ++++++++--------- gdb/dwarf2/read.c | 8 +++++--- gdb/ft32-tdep.c | 15 ++++++++------- gdb/gdbarch-gen.c | 32 ++++++++++++++++---------------- gdb/gdbarch-gen.h | 8 ++++---- gdb/gdbarch_components.py | 4 ++-- gdb/s390-tdep.c | 12 ++++++------ 7 files changed, 49 insertions(+), 47 deletions(-) diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index 58330eececd..2191ada4c2e 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -75,8 +75,6 @@ /* We are assigning the id 1 to the flash address space. */ #define AVR_ADDRESS_CLASS_FLASH 1 -#define AVR_TYPE_INSTANCE_FLAG_ADDRESS_CLASS_FLASH \ - TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1 enum @@ -1370,20 +1368,20 @@ avr_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg) return -1; } -/* Implementation of `address_class_type_flags' gdbarch method. +/* Implementation of `address_class_dwarf_to_id' gdbarch method. - This method maps DW_AT_address_class attributes to a - type_instance_flag_value. */ + This method maps a DW_AT_address_class attribute to an address + class id. */ -static type_instance_flags -avr_address_class_type_flags (int byte_size, int dwarf2_addr_class) +static unsigned int +avr_address_class_dwarf_to_id (int byte_size, int dwarf2_addr_class) { /* The value 1 of the DW_AT_address_class attribute corresponds to the __flash qualifier. Note that this attribute is only valid with pointer types and therefore the flag is set to the pointer type and not its target type. */ if (dwarf2_addr_class == 1 && byte_size == 2) - return AVR_TYPE_INSTANCE_FLAG_ADDRESS_CLASS_FLASH; + return AVR_ADDRESS_CLASS_FLASH; return 0; } @@ -1534,7 +1532,8 @@ avr_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_unwind_pc (gdbarch, avr_unwind_pc); set_gdbarch_unwind_sp (gdbarch, avr_unwind_sp); - set_gdbarch_address_class_type_flags (gdbarch, avr_address_class_type_flags); + set_gdbarch_address_class_dwarf_to_id + (gdbarch, avr_address_class_dwarf_to_id); set_gdbarch_address_class_name_to_id (gdbarch, avr_address_class_name_to_id); set_gdbarch_address_class_id_to_name diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 114c608fde3..3671e39daa2 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -12051,11 +12051,13 @@ read_tag_pointer_type (struct die_info *die, struct dwarf2_cu *cu) && alignment != TYPE_RAW_ALIGN (type)) || addr_class != DW_ADDR_none) { - if (gdbarch_address_class_type_flags_p (gdbarch)) + if (gdbarch_address_class_dwarf_to_id_p (gdbarch)) { + unsigned int aclass + = gdbarch_address_class_dwarf_to_id (gdbarch, byte_size, + addr_class); type_instance_flags type_flags - = gdbarch_address_class_type_flags (gdbarch, byte_size, - addr_class); + = (enum type_instance_flag_value) (aclass << 4); gdb_assert ((type_flags & ~TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL) == 0); type = make_type_with_address_space (type, type_flags); diff --git a/gdb/ft32-tdep.c b/gdb/ft32-tdep.c index 8906a09b0b6..476e79355c7 100644 --- a/gdb/ft32-tdep.c +++ b/gdb/ft32-tdep.c @@ -338,19 +338,19 @@ ft32_pointer_to_address (struct gdbarch *gdbarch, return addr | RAM_BIAS; } -/* Implementation of `address_class_type_flags' gdbarch method. +/* Implementation of `address_class_dwarf_to_id' gdbarch method. - This method maps DW_AT_address_class attributes to a - type_instance_flag_value. */ + This method maps a DW_AT_address_class attribute to an address + class id. */ -static type_instance_flags -ft32_address_class_type_flags (int byte_size, int dwarf2_addr_class) +static unsigned int +ft32_address_class_dwarf_to_id (int byte_size, int dwarf2_addr_class) { /* The value 1 of the DW_AT_address_class attribute corresponds to the __flash__ qualifier, meaning pointer to data in FT32 program memory. */ if (dwarf2_addr_class == 1) - return TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1; + return 1; return 0; } @@ -609,7 +609,8 @@ ft32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) /* Support simple overlay manager. */ set_gdbarch_overlay_update (gdbarch, simple_overlay_update); - set_gdbarch_address_class_type_flags (gdbarch, ft32_address_class_type_flags); + set_gdbarch_address_class_dwarf_to_id + (gdbarch, ft32_address_class_dwarf_to_id); set_gdbarch_address_class_name_to_id (gdbarch, ft32_address_class_name_to_id); set_gdbarch_address_class_id_to_name diff --git a/gdb/gdbarch-gen.c b/gdb/gdbarch-gen.c index 980682e1bfb..6008003466c 100644 --- a/gdb/gdbarch-gen.c +++ b/gdb/gdbarch-gen.c @@ -163,7 +163,7 @@ struct gdbarch gdbarch_adjust_dwarf2_line_ftype *adjust_dwarf2_line = default_adjust_dwarf2_line; bool cannot_step_breakpoint = false; bool have_nonsteppable_watchpoint = false; - gdbarch_address_class_type_flags_ftype *address_class_type_flags = nullptr; + gdbarch_address_class_dwarf_to_id_ftype *address_class_dwarf_to_id = nullptr; gdbarch_address_class_id_to_name_ftype *address_class_id_to_name = nullptr; gdbarch_execute_dwarf_cfa_vendor_op_ftype *execute_dwarf_cfa_vendor_op = default_execute_dwarf_cfa_vendor_op; gdbarch_address_class_name_to_id_ftype *address_class_name_to_id = nullptr; @@ -418,7 +418,7 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of adjust_dwarf2_line, invalid_p == 0. */ /* Skip verify of cannot_step_breakpoint, invalid_p == 0. */ /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0. */ - /* Skip verify of address_class_type_flags, has predicate. */ + /* Skip verify of address_class_dwarf_to_id, has predicate. */ /* Skip verify of address_class_id_to_name, has predicate. */ /* Skip verify of execute_dwarf_cfa_vendor_op, invalid_p == 0. */ /* Skip verify of address_class_name_to_id, has predicate. */ @@ -959,11 +959,11 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) "gdbarch_dump: have_nonsteppable_watchpoint = %s\n", plongest (gdbarch->have_nonsteppable_watchpoint)); gdb_printf (file, - "gdbarch_dump: gdbarch_address_class_type_flags_p() = %d\n", - gdbarch_address_class_type_flags_p (gdbarch)); + "gdbarch_dump: gdbarch_address_class_dwarf_to_id_p() = %d\n", + gdbarch_address_class_dwarf_to_id_p (gdbarch)); gdb_printf (file, - "gdbarch_dump: address_class_type_flags = <%s>\n", - host_address_to_string (gdbarch->address_class_type_flags)); + "gdbarch_dump: address_class_dwarf_to_id = <%s>\n", + host_address_to_string (gdbarch->address_class_dwarf_to_id)); gdb_printf (file, "gdbarch_dump: gdbarch_address_class_id_to_name_p() = %d\n", gdbarch_address_class_id_to_name_p (gdbarch)); @@ -3496,27 +3496,27 @@ set_gdbarch_have_nonsteppable_watchpoint (struct gdbarch *gdbarch, } bool -gdbarch_address_class_type_flags_p (struct gdbarch *gdbarch) +gdbarch_address_class_dwarf_to_id_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != nullptr); - return gdbarch->address_class_type_flags != nullptr; + return gdbarch->address_class_dwarf_to_id != nullptr; } -type_instance_flags -gdbarch_address_class_type_flags (struct gdbarch *gdbarch, int byte_size, int dwarf2_addr_class) +unsigned int +gdbarch_address_class_dwarf_to_id (struct gdbarch *gdbarch, int byte_size, int dwarf2_addr_class) { gdb_assert (gdbarch != nullptr); - gdb_assert (gdbarch->address_class_type_flags != nullptr); + gdb_assert (gdbarch->address_class_dwarf_to_id != nullptr); if (gdbarch_debug >= 2) - gdb_printf (gdb_stdlog, "gdbarch_address_class_type_flags called\n"); - return gdbarch->address_class_type_flags (byte_size, dwarf2_addr_class); + gdb_printf (gdb_stdlog, "gdbarch_address_class_dwarf_to_id called\n"); + return gdbarch->address_class_dwarf_to_id (byte_size, dwarf2_addr_class); } void -set_gdbarch_address_class_type_flags (struct gdbarch *gdbarch, - gdbarch_address_class_type_flags_ftype address_class_type_flags) +set_gdbarch_address_class_dwarf_to_id (struct gdbarch *gdbarch, + gdbarch_address_class_dwarf_to_id_ftype address_class_dwarf_to_id) { - gdbarch->address_class_type_flags = address_class_type_flags; + gdbarch->address_class_dwarf_to_id = address_class_dwarf_to_id; } bool diff --git a/gdb/gdbarch-gen.h b/gdb/gdbarch-gen.h index 1e413796e11..34a106a9631 100644 --- a/gdb/gdbarch-gen.h +++ b/gdb/gdbarch-gen.h @@ -896,11 +896,11 @@ void set_gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch, bool cannot_st bool gdbarch_have_nonsteppable_watchpoint (struct gdbarch *gdbarch); void set_gdbarch_have_nonsteppable_watchpoint (struct gdbarch *gdbarch, bool have_nonsteppable_watchpoint); -bool gdbarch_address_class_type_flags_p (struct gdbarch *gdbarch); +bool gdbarch_address_class_dwarf_to_id_p (struct gdbarch *gdbarch); -using gdbarch_address_class_type_flags_ftype = type_instance_flags (int byte_size, int dwarf2_addr_class); -type_instance_flags gdbarch_address_class_type_flags (struct gdbarch *gdbarch, int byte_size, int dwarf2_addr_class); -void set_gdbarch_address_class_type_flags (struct gdbarch *gdbarch, gdbarch_address_class_type_flags_ftype *address_class_type_flags); +using gdbarch_address_class_dwarf_to_id_ftype = unsigned int (int byte_size, int dwarf2_addr_class); +unsigned int gdbarch_address_class_dwarf_to_id (struct gdbarch *gdbarch, int byte_size, int dwarf2_addr_class); +void set_gdbarch_address_class_dwarf_to_id (struct gdbarch *gdbarch, gdbarch_address_class_dwarf_to_id_ftype *address_class_dwarf_to_id); bool gdbarch_address_class_id_to_name_p (struct gdbarch *gdbarch); diff --git a/gdb/gdbarch_components.py b/gdb/gdbarch_components.py index da2dbd75c4d..812854afc4d 100644 --- a/gdb/gdbarch_components.py +++ b/gdb/gdbarch_components.py @@ -1539,8 +1539,8 @@ non-steppable watchpoints. ) Function( - type="type_instance_flags", - name="address_class_type_flags", + type="unsigned int", + name="address_class_dwarf_to_id", params=[("int", "byte_size"), ("int", "dwarf2_addr_class")], predicate=True, ) diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index 1aebdfa46d3..1155b8dd648 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -1607,14 +1607,14 @@ s390_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr) return addr & 0x7fffffff; } -/* Implement addr_class_type_flags gdbarch method. +/* Implement addr_class_dwarf_to_id gdbarch method. Only used for ABI_LINUX_ZSERIES. */ -static type_instance_flags -s390_address_class_type_flags (int byte_size, int dwarf2_addr_class) +static unsigned int +s390_address_class_dwarf_to_id (int byte_size, int dwarf2_addr_class) { if (byte_size == 4) - return TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1; + return 1; else return 0; } @@ -7355,8 +7355,8 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_long_bit (gdbarch, 64); set_gdbarch_long_long_bit (gdbarch, 64); set_gdbarch_ptr_bit (gdbarch, 64); - set_gdbarch_address_class_type_flags (gdbarch, - s390_address_class_type_flags); + set_gdbarch_address_class_dwarf_to_id (gdbarch, + s390_address_class_dwarf_to_id); set_gdbarch_address_class_id_to_name (gdbarch, s390_address_class_id_to_name); set_gdbarch_address_class_name_to_id (gdbarch, -- 2.34.1