From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id Ici7FW1M4mkl/R4AWB0awg (envelope-from ) for ; Fri, 17 Apr 2026 11:06:21 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=efficios.com header.i=@efficios.com header.a=rsa-sha256 header.s=selector1 header.b=nzcR8IQ8; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 547871E0B1; Fri, 17 Apr 2026 11:06:21 -0400 (EDT) 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 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 BE21C1E093 for ; Fri, 17 Apr 2026 11:06:20 -0400 (EDT) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 77F0D4CCCA22 for ; Fri, 17 Apr 2026 15:06:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 77F0D4CCCA22 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=efficios.com header.i=@efficios.com header.a=rsa-sha256 header.s=selector1 header.b=nzcR8IQ8 Received: from YT3PR01CU008.outbound.protection.outlook.com (mail-canadacentralazon11020101.outbound.protection.outlook.com [52.101.189.101]) by sourceware.org (Postfix) with ESMTPS id 874464BB3BA8 for ; Fri, 17 Apr 2026 15:03:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 874464BB3BA8 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=efficios.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 874464BB3BA8 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=52.101.189.101 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1776438227; cv=pass; b=VZlJBfYWl3mrt4eiHfroACt8axxdmTWXkQLKmeqtGaOb5Pcnft9C4ZHieXUBuffn4oCgLlqLvDMKEQ3VrxTOwLqUuRfuyYbXEthADYO6MNXBeSINT9ISh6Rp8gFUbL1ebEFN2or0JqjOSgMANykUfzOgwrYZJUPS5UcDbD3EoYE= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1776438227; c=relaxed/simple; bh=62/yOU9R9ta4B3CIXA4cYVer25gBj0C3C/Y+NME5OhI=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=psGclop7eN5ihJ3dMzjprX+q6A85vWZD+Cav7WpzMHtjCYASIbeKbDHpRV3x+LSEs6C5nrq5UZoN5P++Vo48RKVJKulimZ6IGXB8IieJnH7ovz8A30tQRkj1DkERZ9LB9uznfhiZP1acvgvFFTNQYTs9afqqU3pumr1zrVLRtF8= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 874464BB3BA8 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YrYhHSsehAKe432wZQS6vchxiW6SBm4kdbwtT/hPkTN8eOYFjNUA3Fu/xqFIw0NG+tGd8Iq3x3Ha9Ax/+PwaGvLUshkugozdgrKlQcjVgfTA7+VWaZzD2qufeArqOPZSGieQcbMOoF+am3ujJee9miGgESpeQaLUK9T5zBpRQeDMsiLoQCHZBvCEKDpdxO+OFJHxefX+PXoxAYE9/9XEK0QH4i/Fgr8W4CeGQ6m5o6aFdkjIXTbd8yJMmiVm0jvxY6Abf7+un0NGGyPXevEkp16KfJ64JeyMmzz7vzxtJfoLtiTYv877ANv8JzDUPO9IPnvqrlnO1qBNpzn/bXosqA== 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=GZ1NifN2A/1dOPB9nSwJln4CkHSCKaxkWoFuTUoY/zw=; b=A+NbQP0cqB7qWLvjO4lgv3/JABpj7yhHSJ+hFFVRKelXPMjxKyq/d3Cjls65Rri+Gh4caTze/NXtUoC/PdCO40IYo4qzKfH+bAy+ZagoFzzg2K/XEjukFxwLpeRj7GGK2LnDigE5qo0VXTxtA3BR20A2cfsQDy2IpUT2cK4W7f+o0fzi+DGiwKfSyJ7EMaEfDLZRQx3W+xDaT6jgTiojVYGnM37SNh++lMPnrP0qlZN2BRMGQn33dF1hp2sNK7kyiED2oNeG3p02ZT12qPGPN8lA36FfiY/9UvN/KgdDTJeitx9Ph2cpHtESrGTzr46lC2cff1WmdXTU5yhK3hm0Rw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GZ1NifN2A/1dOPB9nSwJln4CkHSCKaxkWoFuTUoY/zw=; b=nzcR8IQ8LBpIRaZg6Whpv7xGyC1wrIvNaK0//GtNtAL+XMPiowKcmaC1GT1MP1LywLJlTek1o0GbQPZDopC4HputH+DlP4NAIAabwVbq9ov+Z/T/vR2jFqI7LFTtpW50gZ1uD2jYXgrFzz7uBxb0EgV2FlBKmJ05UI3wdDZy3vtFSlI19dQ8ZIB3xfYsxJAEvCDAo2q3ppxg+HUMOot05JG33QVdObYa4IG02E+8dwGxe3nzPZEIk2RroEsb7kPlt1qn3685CIdmEl9LsMw1uR7XzuYWtUmJm1QPDa9B3KCpOOJUu4pP61vMgPuoMQ7TrNgegmFNWp+RaDSbQIfOzA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=efficios.com; Received: from YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:2c::6) by YTZPR01MB11974.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:16e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.25; Fri, 17 Apr 2026 15:03:43 +0000 Received: from YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM ([fe80::bbfa:179f:fdc8:b15d]) by YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM ([fe80::bbfa:179f:fdc8:b15d%5]) with mapi id 15.20.9818.023; Fri, 17 Apr 2026 15:03:43 +0000 Message-ID: <9026e071-144f-4f13-ba9e-a668b3f3f95b@efficios.com> Date: Fri, 17 Apr 2026 11:03:41 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 09/11] gdb: change objfile::map_symtabs_matching_filename to find_symtab_matching_filename To: Andrew Burgess , gdb-patches@sourceware.org References: <20260416202408.422441-1-simon.marchi@efficios.com> <20260416202408.422441-10-simon.marchi@efficios.com> <87a4v1elwx.fsf@redhat.com> Content-Language: fr From: Simon Marchi In-Reply-To: <87a4v1elwx.fsf@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQZPR01CA0029.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:86::26) To YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:2c::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YQXPR01MB5418:EE_|YTZPR01MB11974:EE_ X-MS-Office365-Filtering-Correlation-Id: 346dfa82-6680-4436-04c3-08de9c928476 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|376014|1800799024|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: Ve/JcqUUOgs/7tTGbKV0Wdt1LaaweDfrL/P+bZoBHpc7fC/mVU5gqrQXUabmzYn3dhbpf34Wikaeq+Rt4cOMnAj3whaf0G/MX0mNY0r+I66IqAAq0VVI6daFYpo+lmthagnXi0PbSC7a2q+brbaE+kdZqkXdiDensZ9eDw6V1UEn9iq7I5vd0mmXOCdU66yCpeavBViCBeoPa2oKdSDPkmxDHwkuV0HJ7Mxw//JrxVbOlENux43698orefQy/ZbMliHbvnBo0WcJEY+oIlJs0bP22jz5eLBsdew74bXMHPh3Z+WeyhXMz+h+UI4x5FCGM8rTzVWyaAlUnW76vQCi1mM684y2uexgc59OTopfFRG4cMZJI/Vuj+4Y+oLhkDhhdjqZKCBUDi2Jn1WH2I6s8bxz3BgWWTw/npc7eGCcuzboZrA6EgL/enkIivktTDESxca8ZTN9PHBTELWXu9L/5Mdjj2JAzV9PS2LZaMq9k+bZUglj+OKkoHTNv+FLiecS7oJ5bF27SV4KcYzudp75E8vW0Yz1dLsCFQMnTtkX4S0agJqHS08L+r7ExmTZi7mjYyLIxN0Rw3sxX4LCAmgv3BDADjl5VXX3fBPKtJCHUinnl08j67UAKrMytWok5po9xZNjenQvONf7hrupPU4FEKkr7jqWkfTAJNbrmnmOcOKGjk61RnLLU7qZs5scgR8VrmykNXbQkf9ckv9Iqqx6bdzsu4n2DbP3Uvs2GPSPMLc= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(18002099003)(56012099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VGFpRlRnSkszaFY0bHUweExKNGFrMWRGTzVab3ZaYnVBYWdkdkV6M216Q3dF?= =?utf-8?B?SFZjUzc0MmNpMkFPbWhxZGZFMjA3TEZmOUdQQTl3QTJqM1EvbE9Rc3BvZzJS?= =?utf-8?B?blZ6MURXWENzRlpoNlBXNnZveVFDM3NvQ3l1a2hLVEU3M0NiVld4WWtHY2Q4?= =?utf-8?B?TEdxaXY3bG4xN2hETjdIZ0RNLzJ2K3VzOHZEYjV3ZC9DcEhNaVQzWVlFSnA5?= =?utf-8?B?bkZGbGFrMGlLbkpTYWFjeDBhTnlUVnIrY09mSmJuMDVBNmxrSGE4NGczVVBm?= =?utf-8?B?NFFFeHUyU2w0TXViZW5SU09SUnZXWTZFYkVrOWNzam1PdmNhT1VYdWxhMDJH?= =?utf-8?B?RGRTUy9teUYrcFBRR1JEanZkbENVbjNNWHZzRnEwMGxuRzhtREw0R0NDWHRX?= =?utf-8?B?WVdrNTVoRmwvWkVDc08ra0haNTU0QTNzQ29pbW16eTdkSitBdXQyRjVTdGM2?= =?utf-8?B?alNTcGpnTEpMUXNwMm5jSG9rRE9Cc2toWS9iVlU0MklDM2xXb1R5cjJRT3RO?= =?utf-8?B?TklESjdNTUdHbDNqZ0k4dXBoamFoK2lJYkpjTkZPUko5dk95K040UngwWkk0?= =?utf-8?B?cThsSkljaG14RlB2M1NaWVhNeHdrZDFMa2I5UllhSUhybnMyVkxuMkZCenZP?= =?utf-8?B?bzd4WW5SS1h5OEZteVlISHlLM3o0ZzdvTFNCQUp0REdDcjFmWHgvaGJESHhZ?= =?utf-8?B?WGxtanBiOWNGTHNuamlvTnhhbkxLQ3FXY1VwUUtpZTRZMXVGWkhwb2lOOFV1?= =?utf-8?B?QU5hS1ErNDlielR5bkI5NFVnNVNuZmFoZ2lwUUpSaWRHMzZybHRoRXphSkZK?= =?utf-8?B?NWJqK1Z0emlFMEhpOTFPbjZ2eEg0Vmg2MWlrZXh4cExUeHBFUHdET3JEOEhz?= =?utf-8?B?ZnFtb2NPYkhqVHIzU2FTd053ZEdsVjVoVjZxMS8vUmJVL3B6RTJBU1NKOE9s?= =?utf-8?B?Nms2c29xdUUraEN1Y3FxSWZRMUZvVW1iMk13alM3b1VOWU1iRENiTVNtajBS?= =?utf-8?B?Nyt3Z2pEQlpvWDQ0c05OdkU4SmIvYU85c1ZNQlhqdGt4Rnd4bWlqWXlmUVZG?= =?utf-8?B?UmJWUlRlM3JvY1JKWCtWcCtSSHQ3RXJhakRYaVBsQWZjRUhJeWdTK09KSWNH?= =?utf-8?B?V1RvTWtKMEJkc0pET0JobE9abnNjRVB3ZVVSaUdiVGZaaFl4cDNiakFzcHZ4?= =?utf-8?B?bkVreGV4OXJUbjJNWlVlcE1TeWJSZlFsanVVQlFjOUxTZTZhdjdnK2hlcVJI?= =?utf-8?B?UzdHbFJxUUdCVzFCMUVZOEhNZExBY3FXa3M3ZWFhb3dPeUtrNENaSjlnNmc3?= =?utf-8?B?QWczTTRQVU5KYTdrd3BJQzhBN09qcVZQMC9ZL1o4SUh6WUpSYlBBSlc0ekhk?= =?utf-8?B?SmZVS29pSkNzV1F0djBmMDFFMXE0QllRS3VTdXIyZVlYMm8zbTFpVFo2MkxX?= =?utf-8?B?NWJiQnVXaG4xVExJaWNWZUM2N3oxTDI3S0xvWmJmVzdrWU1BZkNLRklzTGNW?= =?utf-8?B?Y20yRENOSDRNRUhLS3M1NGZKb2lxNVpPbnRPNWUwK0Rsbm85ZzYwazNzMXlv?= =?utf-8?B?ZjhFYU0zZHVCNnlzV3RJc0xjVG9rcGVpWGwzdVdxMm1INTZleFBEbHFOSWhL?= =?utf-8?B?MXo1MUlvTHlZc25hMVRKMCszWHdRb2g2RFpZUUlUSGI4K05TcU9ZZnU0WFZh?= =?utf-8?B?UEFyNVVuZDNlNGhic21HNkJBQ0I3ZGFiQnRPa25oSTZiOVoxUzYyb3lSWDdw?= =?utf-8?B?RDVBMlNHVEU5cjUzeE45Nmloc1JIb3ZnWFUvbUhPQm5xdHBvNEtvLzFPaGR1?= =?utf-8?B?dkZGSTV2RkErT2M1MW5ZcmdGZy80TEtBSmVLSjNjSEo0RG1NNXZwelgwZndy?= =?utf-8?B?RDFtUjZUWGVraGRuRkxPbDkwY0JreDc4YnY5T0xYc3dTNExhOGZETXI5S3JM?= =?utf-8?B?QS9vR3k5THc1Y3U3aDZZdVh2Uk8yMFdaK0FDQWgvNDlCbUovQ2E3ekxUdllO?= =?utf-8?B?dndkWVQ5cHVrMGpkR1Jhb2VWR3N5enpWNkp0bmp4M3Q0YzhDNS9mVFA5RTY2?= =?utf-8?B?cVhaVUl2cVlLcm9nazgyZzBKM1krd1NWdWZoMkhvNlF0ejdtajhFK0RSM3Nq?= =?utf-8?B?VHV0M1owQlpBaGswMzFUKzNKeXlZQ1BsZzRmQVlYVEs3OTEyV25nTVViSldR?= =?utf-8?B?UnROZC9zaVNIbWxZYTVTOERLcmlkVS96a2R0UVJOUWdQV2c4dStKMFpqR3l0?= =?utf-8?B?cmVkZmE1a3JEUDFpaHdrTUQwbUxWTkFISE1tZFg3QzEwY1BvQXBQbkN1SG5s?= =?utf-8?B?VmhWNGJzVGhRcnRBK0JvQnJlL2l3RHJVYTJFZVBSVCt2c2RvOFhtUT09?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 346dfa82-6680-4436-04c3-08de9c928476 X-MS-Exchange-CrossTenant-AuthSource: YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2026 15:03:43.5901 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Xu5XJAFMnMmhIgUiX8/IIyQ49TCACCFsG7DrsWZtU7/SATV4RkBg3sw1BqqXnt0Lu0Dr6ehibfAF5/1tUxXI8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YTZPR01MB11974 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 On 4/17/26 9:50 AM, Andrew Burgess wrote: > Simon Marchi writes: > >> The only user of objfile::map_symtabs_matching_filename uses that method >> to find the first matching symtab. It would therefore be more natural >> for that method to be a "find" method, returning the first symtab >> matching the predicate. >> >> Change map_symtabs_matching_filename to be >> find_symtab_in_compunit_symtab, and the internal >> iterate_over_one_compunit_symtab to be find_symtab_in_compunit_symtab. > > Typo: > > Change map_symtabs_matching_filename to be find_symtab_in_compunit_symtab, and ..." > > Should be: > > Change map_symtabs_matching_filename to be find_symtab_matching_filename, and ..." Done. >> >> This makes function find_symtab simpler. >> >> Change-Id: Id14a95498fad243495d6eab18810d0c4ab8dbf90 >> --- >> gdb/objfiles.h | 16 +++----- >> gdb/symfile-debug.c | 89 +++++++++++++++++++++------------------------ >> gdb/symtab.c | 20 ++-------- >> 3 files changed, 52 insertions(+), 73 deletions(-) >> > >> diff --git a/gdb/symfile-debug.c b/gdb/symfile-debug.c >> index 8e4892649508..d90f400f379c 100644 >> --- a/gdb/symfile-debug.c >> +++ b/gdb/symfile-debug.c >> @@ -159,29 +159,30 @@ objfile::forget_cached_source_info () >> iter->forget_cached_source_info (this); >> } >> >> -/* Check for a symtab of a specific name by searching some symtabs. >> +/* Find the first symtab of CUST matching BASE_NAME, NAME and REAL_PATH, for >> + which CALLBACK returns true. >> >> If NAME is not absolute, then REAL_PATH is NULL >> If NAME is absolute, then REAL_PATH is the gdb_realpath form of NAME. >> >> The return value, NAME, REAL_PATH and CALLBACK are identical to the >> - `map_symtabs_matching_filename' method of quick_symbol_functions. >> + `find_symtab_matching_filename' method of quick_symbol_functions. > > This comment doesn't make sense. The find_symtab_matching_filename > function is a member function of `objfile` not > `quick_symbol_functions`. You didn't write that, but it looks like a > pre-existing mistake in the comment. Can you fix that please? Maybe: > > The return value, NAME, REAL_PATH and CALLBACK are identical to the > `objfile::find_symtab_matching_filename' method. > > Would do? Ah, it's possible that quick_symbol_functions::map_symtabs_matching_filename existed before, and then it was merged into the do-it-all search method. Fixed as you suggested. >> @@ -254,6 +258,7 @@ objfile::map_symtabs_matching_filename >> return false; >> }; >> >> + symtab *result = nullptr; >> auto compunit_callback = [&] (compunit_symtab *symtab) >> { >> /* Skip included compunits, as they are searched by > > The next line of this comment references > iterate_over_one_compunit_symtab, and should be updated to > find_symtab_in_compunit_symtab. Fixed. >> diff --git a/gdb/symtab.c b/gdb/symtab.c >> index 6a5c8c7058e4..fd841318387e 100644 >> --- a/gdb/symtab.c >> +++ b/gdb/symtab.c >> @@ -637,8 +637,6 @@ static symtab * >> find_symtab (program_space *pspace, const char *name, >> find_symtab_callback_ftype callback) >> { >> - struct symtab *result = NULL; >> - > > Ahh, I should have looked ahead! I complained about this in the last > patch, but I see it's now gone. No need to change the last patch I > guess. No worries, it was easy to fix. I also don't look ahead much when reviewing patches, otherwise it's a lot of tokens to hold in the small context window in my brain. > >> gdb::unique_xmalloc_ptr real_path; >> >> /* Here we are interested in canonicalizing an absolute path, not > > Approved-By: Andrew Burgess Thanks, Simon