From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id GejiNXC7JGnDLioAWB0awg (envelope-from ) for ; Mon, 24 Nov 2025 15:09:20 -0500 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=labware.com header.i=@labware.com header.a=rsa-sha256 header.s=mimecast20220511 header.b=btYF57QT; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id D65F01E0B6; Mon, 24 Nov 2025 15:09:20 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (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 478731E048 for ; Mon, 24 Nov 2025 15:09:20 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EC5BD3858D37 for ; Mon, 24 Nov 2025 20:09:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EC5BD3858D37 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=labware.com header.i=@labware.com header.a=rsa-sha256 header.s=mimecast20220511 header.b=btYF57QT Received: from us-smtp-delivery-114.mimecast.com (us-smtp-delivery-114.mimecast.com [170.10.133.114]) by sourceware.org (Postfix) with ESMTP id 164F53858417 for ; Mon, 24 Nov 2025 19:56:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 164F53858417 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=labware.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=labware.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 164F53858417 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.114 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1764014210; cv=none; b=uxg6LuUQxaSt6TnfVjOzNA+hfVftGl6ps2or0TMWYMb4wyu70LZcqwHzblR2rBrodJwxEwf83Y3O8z1a/phYnPnokcZKgTjKr8kP9/XrYR20SHL17pkTFP4AavGFZjN+hbaM/5my4F286QnsHN8lgCfm6JQ+xO2bI9tCU8AjaU4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1764014210; c=relaxed/simple; bh=2SnhDYKuPawNny7RzThu9d5a9mUOqRQC7VuitwiqgoU=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=W2mj2Mn1XoCFjLsYDWH48CCBZPciSG0VtN7I+RLZ4V5dmuqtHKtVFBvRSUSG8NtPqdqkbKUfMJYT9eJvZ9+u65odugOxDp+0DomYuArHtpfDEYwAaxgC6x5OGGe3gJirdwVMOT9YGr4IFd8//vCFNv8jIwIXtTLLz1dKX0lx464= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 164F53858417 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=labware.com; s=mimecast20220511; t=1764014209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tPw7aiT2ZKGNPRrqNl9JSnL2o7XpuvvQEEV8+5d6Owg=; b=btYF57QTofnZ1VR+qXc933s48JNNCVPnBebCnrFhstkU6CufDcueKoccKsRXJxlZM0vNe6 1n+ULpc9rI9F/yTDMVMIpSngv6xuClMfiRXzks5SRT6S7H1k776riNGUav8rCCvj0vZ8sj nzREvk0ge5qQsJcxNiSVFq9UutfLJDI= Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11021101.outbound.protection.outlook.com [52.101.62.101]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-126-ZULUEy1RM-GWsrSyIZrAYg-1; Mon, 24 Nov 2025 14:56:49 -0500 X-MC-Unique: ZULUEy1RM-GWsrSyIZrAYg-1 X-Mimecast-MFC-AGG-ID: ZULUEy1RM-GWsrSyIZrAYg_1764014208 Received: from SA1PR17MB5365.namprd17.prod.outlook.com (2603:10b6:806:1d8::11) by SA1PR17MB4769.namprd17.prod.outlook.com (2603:10b6:806:19c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.11; Mon, 24 Nov 2025 19:56:46 +0000 Received: from SA1PR17MB5365.namprd17.prod.outlook.com ([fe80::9a:538a:fa42:730e]) by SA1PR17MB5365.namprd17.prod.outlook.com ([fe80::9a:538a:fa42:730e%3]) with mapi id 15.20.9366.009; Mon, 24 Nov 2025 19:56:45 +0000 From: Jan Vrany To: gdb-patches@sourceware.org CC: Jan Vrany , Tom Tromey Subject: [PATCH v2 08/13] gdb: implement readnow_functions::expand_all_symtabs Date: Mon, 24 Nov 2025 19:55:30 +0000 Message-ID: <20251124195535.2116845-9-jan.vrany@labware.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251124195535.2116845-1-jan.vrany@labware.com> References: <20251124195535.2116845-1-jan.vrany@labware.com> X-ClientProxiedBy: LO4P265CA0243.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:350::7) To SA1PR17MB5365.namprd17.prod.outlook.com (2603:10b6:806:1d8::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR17MB5365:EE_|SA1PR17MB4769:EE_ X-MS-Office365-Filtering-Correlation-Id: 357e0b04-9d93-4c86-a32a-08de2b939840 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024 X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?gEHdi6KMCiARbrh8nsQq670hPvD9vwGxF/dJ/lwLoZ3T6w1BW1qsuJV5Izg3?= =?us-ascii?Q?KOtdIRSVj8fAsTQCGOIHZj0taZduSTalfXiNfcxjqLC9kW+9PhLu+yf3oU8h?= =?us-ascii?Q?5s9DRTVikCJYzLVFs1bJyU8d7BGSKrMwwT7E7W9Ov661UBZRXREr2kLOf6hi?= =?us-ascii?Q?HxWqu3hwYIXnoK6QHbphCsRpoAoLfkO2o0FtwfwHVMs0kgQ9E+azehIbPd87?= =?us-ascii?Q?BX5RvFgQRlkLuhJ3rINiWSBwcovrKXP2wS/uvuins7k5BDMIso/aGyqSa/h7?= =?us-ascii?Q?aVppJQjZj1xvtyzXizjmNsBOsCm3KeOLHUanJRKaQaUBTAQU8MjmfsIO+Yif?= =?us-ascii?Q?wTRNPb3Qx4StUEnKXLjvRXVJ3JbXwNS4b6ENxxGvopVBWvbw0h+GFAH1DCCg?= =?us-ascii?Q?f1pVg57k2OMnOBauOhJCN55tPwzNfT3SfipD5mtiiOdGojSFBJpl4/rYxWWL?= =?us-ascii?Q?Md+XFwYIEQLEj3iMT9IB7kzodnZ28BgU/0eCyLLkrh7Zz3F6bT/83QmuSB6K?= =?us-ascii?Q?A5b74tL71bgjD6Uq2EhSpWec6ZZDq8Ajuf3QDEKPMB6zD6fBFuX/0e+Yxww6?= =?us-ascii?Q?XyFlUUbGZ/uUMt+i9W5gDV2xOcZm2HPu99E4Kksq861ekWQ99XXAXwbDvDlS?= =?us-ascii?Q?SflAV774keWg0G8FD32ED45PshPMrvv9N7Cq5gbRV3wKKUFR+a544Sah2iN6?= =?us-ascii?Q?8Bli5RX7S0mgGR4tSuYyGGAJEkyB7Wm9u06iWglOR54GH5miFkMMiSTmMgvt?= =?us-ascii?Q?SCpf/fYXzH3rnuGhfkYPcZMvZGy04UcRTky+XsQHozCNltUrRWVNYYbWZvqP?= =?us-ascii?Q?k9r3vh3QYJ/kPvN3jpqxo148GipPGraeekX98A7P67hXkBhAQPXKo+6p/UVF?= =?us-ascii?Q?3n+y/tcG/bOI/K/UhLInIs23pzOMB87gimF0wQLaQ9oI12dvNpoqZ7fFUWCJ?= =?us-ascii?Q?L3KPuyOUhPc6VyKaT5ENX4tcgnBgcHKwRPLYQAxlv157A9FbK5hdJtZ9w6G/?= =?us-ascii?Q?QvTYk1iryht3oZoQezfOWx1MmXsNSTYQ8AZaUricboBWIg40krvRob2BQVsS?= =?us-ascii?Q?rDakfWikUi52PoMKXLfBh2I8E49B2AJg7OZyhQQth3GyQrrK5kqeMzPMHXsG?= =?us-ascii?Q?u8vbsNSX4rUo/jk0zpF/C+F8gC91I95SRwMKu//zNPeBmx6ydv/wEGmbUYYy?= =?us-ascii?Q?z1fyHLcbX5k1sgEAIMsg7mHqcIXiVOKOy3lZ99g6YCVf0Ii9lp8msxBzE9ex?= =?us-ascii?Q?HiEXjnE3a6MOLG8zqUOMj9ebWgbwjCJp3bLjBQ1v1F8kokr402VrZF1RY6mA?= =?us-ascii?Q?e9URBZ4ePrOf5awqTqeVjwPyOWjk3Ppb1lmwfcmT6Tam9bK80Md7va+u4ahd?= =?us-ascii?Q?FguBem1LWI4/GsYDexabTUWQjyqHBfmDHkrjzI7FXqZJTbaAfvUbrLtTHfp9?= =?us-ascii?Q?cs2x4C9XV6EC9ciu8z0WBMFN5D/rsUzq?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA1PR17MB5365.namprd17.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024); DIR:OUT; SFP:1102 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QG7dKNDrE5Ayv0108XTiXems0reUor8eRVvDC//zP/b9FE1hilLI6ptgmy2M?= =?us-ascii?Q?NOU7V0JWduvK/LnF3SoYNldb3MjmjzWuloPf3qLKLAinYe6fAxaALKjxQq2D?= =?us-ascii?Q?HMtYpV/6FJxpKB0dIKmExXj4MpiwHeYBWTRgBo3o3JTX8QxWFgxObPOGi+93?= =?us-ascii?Q?ldFlbcBGYP9AZoVamwMX9hDOdKl/QpddhCl5xlZW2pWdLJXb9Ge+4H53yQ4S?= =?us-ascii?Q?qkAM9y6SY7XR63PV72qe8+m0COZ2l8WScbYciNK1jNtFolfo3Xoc1DIg3f8K?= =?us-ascii?Q?5aERtlZfsaRaxP+odYs3rz5vZJd15yhwB0JH7QzX1uy3dKU87Hpt3eW/0hvR?= =?us-ascii?Q?zji1tQ3DQRz2WtiDdWEH+LwoWSvbUIWJn2O6jCh62FZFcX79wgURRtz0c5im?= =?us-ascii?Q?sV4zKlXD+E3eCkpZRTGEQGZZzkLoNQdgbJO/mjrKn1VUJIupDySZ/lcuGbyB?= =?us-ascii?Q?iadKibJyWdchFmj3w01c042hWudSga+Oc1DYZ+GhTcYW9m/+Tzi+kxRUdDhP?= =?us-ascii?Q?jWMLeMWVcTolsT4K1v5kf9EAZiZxga3/S+QiUjmfMrXn4gSZisAj8TtCDBhK?= =?us-ascii?Q?bfwG+Fw12Jd4ESklRWIOW5OM70s4v3CfbW/eA2AiwZ/Q0KGz0qHZOZYmPtez?= =?us-ascii?Q?o6gGwF9+/UX1/l5zKP/ObzNIy6pJP092j92hRNKyAhVoGQq2B3qkzZtiWPFt?= =?us-ascii?Q?WI5eDU9lDQFD3VSPCrKUlbRLNtI/ONE0gfs06G/k7r8a+mZIFhgcN6fW35hR?= =?us-ascii?Q?rts3vATksKawKtuDnq+Je8xdjJ5qT8zm0e8SOhwKLGoGDkKH1Y35chKZ0kEB?= =?us-ascii?Q?Yp5/nCu5LKYOxxBEo3NeVigAQadlljr9ZQBS1GzS2zaedMtE/Fbqy8OqeYxr?= =?us-ascii?Q?mLfFG18LWe3+MKhT/i+SqtLxQFlSULaugahUcvbV9Ji++h3qXS4m9vqFwIhJ?= =?us-ascii?Q?iRF/q6k7pbOP8tdsfqOkUiuoUCxxPoixUkghEnJP+kHA53o/WKONJ7WlrNmS?= =?us-ascii?Q?xYVhBvTBNMDEXwIjES/h3bGup6DC7QNNvLBhia/fNbl6M3hXFs6nfDnd9m3M?= =?us-ascii?Q?2fbzfQR4fq4OAQglXiHNEIreuVdE7LW/PxskFHORXxekCCrk7hpvsj2xyu93?= =?us-ascii?Q?s1Us/2k+wfpq/q4wkm94/0xknd1F0Yv3YIEwJilNZaWyDyhBC6JnzUpWpHs1?= =?us-ascii?Q?btSjafxifuUuJhKTX/y1faaRL7l6Wj6j32aR8vAfHLw1enTI18m+va3VeK2l?= =?us-ascii?Q?EyflwEZSrcbjGja6R/ezsQXu+uotrUZRPrS/RAdRUd9vvblDmSa7ZAgeGMsd?= =?us-ascii?Q?jqg9pNXx7F/Fy8BDUFz2bBbnnDw7fTVQNEFnsucdVU5TkNPXs2dl90Y4qlHj?= =?us-ascii?Q?SnthhNco1RkcsCTig10Qla26h3Zp3uaNhG1tl1IkxxbSqzY2h7GCelm9NcmY?= =?us-ascii?Q?m+eIoMpafGaZlgxlSJ/gNC3FtH5MpLvz6iog5KlQE9tuPAjqJQlnh74QcNE3?= =?us-ascii?Q?WSfBl4J9KuOOGNsO1DTpnBZ+sCZf7EGm7vPkp9Ull61leWjMTv4zrePnoceF?= =?us-ascii?Q?gtU+CWGVfL5llqUS9nidL8aDvQ6XJo7YnfyYnjq8?= X-OriginatorOrg: labware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 357e0b04-9d93-4c86-a32a-08de2b939840 X-MS-Exchange-CrossTenant-AuthSource: SA1PR17MB5365.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2025 19:56:44.9631 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b5db0322-1aa0-4c0a-859c-ad0f96966f4c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wDugvxwOmU9zykERgB58ARIPaRvtvTwKZlpkb0nMiXlxaznbXh+6uRHf36lsDNAk8Tla5LWrhzx8itm55MzlwQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR17MB4769 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: TqPgGnMi2Wwd8__igXPGr84hktWMoc3y1rFXZX_c-eQ_1764014208 X-Mimecast-Originator: labware.com Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=WINDOWS-1252 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 This commit implements readnow_functions::expand_all_symtabs as empty. This will allow readnow_functions to be used in other cases, for example in JIT reader. Prior this code CUs were instantiated by calling objfile::expand_all_symtab= s (which in turn call dwarf2_base_index_functions::expand_all_symtabs) from symbol_file_add_with_addrs right after the call to syms_from_objfile (which in turn calls dwarf2_initialize_objfile). Since now readnow_functions defines its own, empty expand_all_symtabs, CUs are instantiated earlier in dwarf2_initialize_objfile. This seemed like a good place because this function actually installs readnow_functions into the objfile. Testing on my machine with -readnow shown no regression. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=3D33554 Approved-By: Tom Tromey --- gdb/dwarf2/read.c | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 471496bd4be..89e06923320 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -1572,6 +1572,10 @@ struct readnow_functions : public dwarf2_base_index_= functions { } =20 + void expand_all_symtabs (struct objfile *objfile) override + { + } + bool search (struct objfile *objfile, =09 search_symtabs_file_matcher file_matcher, =09 const lookup_name_info *lookup_name, @@ -1748,6 +1752,24 @@ dw2_instantiate_symtab (dwarf2_per_cu *per_cu, dwarf= 2_per_objfile *per_objfile, return per_objfile->get_symtab (per_cu); } =20 + +/* Ensure that the symbols for all CUs have been read in. DWARF2_PER_OBJF= ILE + is the per-objfile for which CUs are instantiated. */ + +static void +dw2_instantiate_all_symtabs (dwarf2_per_objfile *per_objfile) +{ + for (dwarf2_per_cu *per_cu : all_units_range (per_objfile->per_bfd)) + { + /* We don't want to directly expand a partial CU, because if we +=09 read it with the wrong language, then assertion failures can +=09 be triggered later on. See PR symtab/23010. So, tell +=09 dw2_instantiate_symtab to skip partial CUs -- any important +=09 partial CU will be read via DW_TAG_imported_unit anyway. */ + dw2_instantiate_symtab (per_cu, per_objfile, true); + } +} + /* See read.h. */ =20 dwarf2_per_cu_up @@ -2051,17 +2073,7 @@ dwarf2_base_index_functions::print_stats (struct obj= file *objfile, void dwarf2_base_index_functions::expand_all_symtabs (struct objfile *objfile) { - dwarf2_per_objfile *per_objfile =3D get_dwarf2_per_objfile (objfile); - - for (dwarf2_per_cu *per_cu : all_units_range (per_objfile->per_bfd)) - { - /* We don't want to directly expand a partial CU, because if we -=09 read it with the wrong language, then assertion failures can -=09 be triggered later on. See PR symtab/23010. So, tell -=09 dw2_instantiate_symtab to skip partial CUs -- any important -=09 partial CU will be read via DW_TAG_imported_unit anyway. */ - dw2_instantiate_symtab (per_cu, per_objfile, true); - } + dw2_instantiate_all_symtabs (get_dwarf2_per_objfile (objfile)); } =20 /* If FILE_MATCHER is NULL and if CUS_TO_SKIP does not include the @@ -2441,6 +2453,7 @@ dwarf2_initialize_objfile (struct objfile *objfile, dwarf_read_debug_printf ("readnow requested"); =20 create_all_units (per_objfile); + dw2_instantiate_all_symtabs (per_objfile); objfile->qf.emplace_front (new readnow_functions); } /* Was a GDB index already read when we processed an objfile sharing --=20 2.51.0