From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id bemNItVwvWqxEyAAWB0awg (envelope-from ) for ; Wed, 30 Sep 2026 16:28:05 -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=OOrWGy89; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 797D11E051; Wed, 30 Sep 2026 16:28:05 -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 DAA031E01F for ; Wed, 30 Sep 2026 16:28:04 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9506E4BAE7EF for ; Wed, 30 Sep 2026 20:28:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9506E4BAE7EF 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=OOrWGy89 Received: from YT6PR01CU002.outbound.protection.outlook.com (mail-canadacentralazlp170120003.outbound.protection.outlook.com [IPv6:2a01:111:f403:c103::3]) by sourceware.org (Postfix) with ESMTPS id 0CA634BB589C for ; Wed, 30 Sep 2026 20:27:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0CA634BB589C 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 0CA634BB589C Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c103::3 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1790800057; cv=pass; b=lu9BX+9xOsJUOQRKA5ops1XrX6eP1mXN+d9TlSAgW3n3ozkMseM/GQ62QXXRQrMfue8jgqrAUGugLvntTF/IiByNqwYPAkAHJoH0ak0FP+zG+T20u0jCItURAqjq6Ca1iPajZxtHd2SXoiF0fXR+aEmiJgAHBr+q3bRGLKg69v8= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1790800057; c=relaxed/simple; bh=N/kiOqYKoaoG+yeL4rSVGxEnjaJnqDtPAebiVaN/Cn4=; h=DKIM-Signature:Message-ID:Date:From:Subject:To:MIME-Version; b=pRJThT2UMMu5hCCg8uw5yelkKCH3KuvReNGxDrn080igKrneSS9tQdQMF83ZLKE/jkmLTblH1Lt8xdLEbH1W9iR1hfZGIgtj6wc4heR9YEs+ysodzJ4VXoK+w8I4p7mXkCUCmIZI7krVzP7DOGWhocycA0MQF6rfZo/JPLNXWHg= ARC-Authentication-Results: i=2; 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=OOrWGy89 DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0CA634BB589C ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ughSzxfOjFLfyjP6rv3EnUI5lhdAHBmPddSZ30dBk7MLlrMcD37BLtfjYA7zmD3FWJUUnsafj6A4s3GKW5cvulylEKZZaGAtpLRHKyiWezpJUQjGvzaM8f7tF0F/M5cuPMwHMgShp2CeZAooQW6gw77Md6gDLIewtlNkaPtLzi0k654ekmqWfjKy9CkZjQR0DtvpFHzCMCy+sQp6SX49pGYXzvttzV5yVJi/bv1B/NuZzdmfE/n8psw0Cz4q1nDdbKCKkAXhUxPHJHCwRNk7XjNqH3P1wvLAJNx7fIg/XU9IEdfjDrOtGcXNPdJtUr49nAxO0/sIXSRRt2am50XbWg== 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=ewvvvMs23UdQYa6FnMbck3KyW4cV4ZLTPBDj+RpyL+A=; b=VAZJHcbo1zHGXDoEQpqCzkEYqd5a8IQClU2xbre/eZHJJ6tL8UaWR87bAKM9phz1yE3gsYgD8kH1rTG9DR/fMkDsCOHaHNbf7KVqxJqb0I32ejDKW1wprIXdU8lhaI8bmUKGmgVr3gQR21+SuDQD48DcqDxq3X9VdNEkaSVvSpSUyr1LSsB9dxpS6m778JrVjXcdA56sdSgCPNzCwxfyxE++g5Be1ablbrwKHJpw4x/dgKAEIMz21PT7HlmkrVRsSE8yxvS298M7rYIfDf0vge9ecJfgAGtekhPelUL/q1MeD1JBaL6tqMu3jOTR+rOg/phC5eAvOD55I4P8c4LY7Q== 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=ewvvvMs23UdQYa6FnMbck3KyW4cV4ZLTPBDj+RpyL+A=; b=OOrWGy89yhQ7738DK04+sQDP7HGVGQfzfrk0xkkZSyf60wGveUA+AguvZCg8eoWq4jn+O3El2sili40jXVgzQnzV7o3cUDvTEisMMiHdR/TyQ1RjJP/zCmvB6kJtfYLc1rsi4xHOie2yxIpENbIiewvb/a+BtIIyy+8lTB/TNDzljx8svYTEME8sK3DxamQ7SoEhQtREzm5vwGe51UDdaqRQGF0mPa0+WCEdh9KddPYnxgYoGmu9VLHK3Gz1V8qIlR2QZ/yQHHve3dTAuU3jf4JDH3n0SXRuyZ/mVHxpvZ5SZarnEZVMrfMy8alDIaiN/gezYjsr4opjD2hPeK38Zg== Authentication-Results: mx.microsoft.com 1; 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 YT4PR01MB10727.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:100::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.472.16; Wed, 30 Sep 2026 20:27:34 +0000 Received: from YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM ([fe80::bbfa:179f:fdc8:b15d]) by YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM ([fe80::bbfa:179f:fdc8:b15d%7]) with mapi id 15.21.0451.026; Wed, 30 Sep 2026 20:27:34 +0000 Message-ID: Date: Wed, 30 Sep 2026 16:27:33 -0400 User-Agent: Mozilla Thunderbird From: Simon Marchi Subject: Re: [PATCH 7/9] gdb: add matching helpers to global_symbol_searcher To: "Rohr, Stephan" References: <20260929194119.155169-1-simon.marchi@efficios.com> <20260929194119.155169-8-simon.marchi@efficios.com> Content-Language: en-US Cc: gdb-patches@sourceware.org In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQBPR0101CA0293.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:6d::27) To YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:2c::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YQXPR01MB5418:EE_|YT4PR01MB10727:EE_ X-MS-Office365-Filtering-Correlation-Id: 1fd2ad96-f9b2-4add-08c5-08df1f3142a5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|376014|10070799003|1800799024|23010399003|10067099003|56012099006|4143699003|3023799007|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: u3GO6Cz8dSQmcigClj3Gzj8FS9PGxo7lMbkH1mKehvL0qMGfjOgV42AjJaVFUqSRUE80I9f4e9424JaStsk00IqhB8MJoTNPgjaV9ebczgD8rJJUpKFTxnAhfxLzhb8x5dMHrDWDnMbrqdlDT07EWjn4vCv3afrhY/l3/Nobc/T5nAlylMhpSyJe83NudXSBWmtej9IKt3d74dPLdf7CxMEsuZgj656EgE8Fb6SeIswzgz68oI2aYRhd8z+ltrlJby0NMQ+8TZLfsi5NTrIx6+l6nykONsfXOx+kQ+QUpIwgztNJbnvRn+uroqIjj9zceOw078V35D0JDuy0/GNmp/XCByMFXolPfhF+8zzLcg647PeIeNRmPY6HMk7cCkiX10fd5Kw0mE7G3EEvVBhVxfCYayVjN3gFQoCvfY35qylNrk0NirfZ+qeKyA9dytNMb/2V39bBnHk3deDJKJdg0VqpcZ35xux5vX6CQ2sS0Bg9/cMe+Y0kePyxMcv00JfUMr6GNRZlHjcdPhFa0CuKTr3f/cff3vThnPHL9r1CK+4unzmGkNTgpaPOKk2oYbyU9DTG5mzp5TT8/GFauMqubxvEgv0w9ejWKZe3tEQa87/As4rcd6KJTcUpWF4vHnuu58zErUuxTboAqlxqUGAcGckqaM9UkZOjFEi5ZFRMiFM= 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)(10070799003)(1800799024)(23010399003)(10067099003)(56012099006)(4143699003)(3023799007)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?STZhNHg3ZmFRYlpuc3Z0SG9tcWN5cEE0TnB4VkgwZ0x3UG1TRWpjSUhjRkZp?= =?utf-8?B?ZzZFT1N3TFdrc2s2ZHYzQUNEWFpPUXlKa3ZwdHJnTXBKNmVzZDlrQkZmZzJS?= =?utf-8?B?Q3BoZU9mMXkxOG5WZjJGbDFVZEQ4d1YxSm0vZmwwUmlmaEZQZmlSc0ljTm9N?= =?utf-8?B?K3RoaEhXZFRIRkFXeGtSNkhZc3NsVDMrYlM3d3ozRGRMNmJQekVZc0twVjN3?= =?utf-8?B?bnpUd216U0tZQUNJTUV0VjZ2Q1c2cW1Na004ZS9JejRjcktqNzdScHlsT1ZZ?= =?utf-8?B?UmFvOGQybHMrNXBGc2pRcm43cDhxQUo3OGJudFBRdHFvRVNRYjhnNERncm94?= =?utf-8?B?RVI5Nm8zcU1Qc3R0b1IxYXlKd3JWZ0xhL0oyNkphc0lsaFB2WW42QURseHBF?= =?utf-8?B?ajNzRTFRbG51RklxSVhiQkJiYklNTnY3Nk5ZMk1rWEVGMW1IdC9XUTVLYWkx?= =?utf-8?B?L3BpYlp2UkhIMGdqSHVCenk2Ry80b1RmTnVIZWZBU1V2bGRDaUlCT2ZFOFFF?= =?utf-8?B?Y2dtOU5KL1YrVmZuZ1lJL2pSMXplTEVNNE5JcFZDTVVncURTSWtXQXB6Y2dD?= =?utf-8?B?OVFuaitJZ3dydE1aUTQ3d2ZjbDlxdmh3T1NBTHFuZ2w2T3Vlc29rZGk0ZFJ4?= =?utf-8?B?ZzR4S3Zma01xSkFmQWZlV1BZSGhtT1pQSlhIR0ZXZDY5ZmdVdDZBbnlWOGtU?= =?utf-8?B?ZngvRXMyMkp6YmVONWVmNmNZWFZMQTVFMkFIVzlZRlAyYVhTZXdMQmluRSt3?= =?utf-8?B?Y1BNUk52eW1Sdy9QVWhPWkRJWkNZeHBLN2dDUDVqNDVLUTNUY082T09KMnll?= =?utf-8?B?dGh2L0xVU2t1cmlSTzlqYmJkU3ZyZDJrZUFhdTYwK050aUYyYzlMMEtGMXJm?= =?utf-8?B?dlJuN2s4WDdFYnRYU1dHUlBQcDBzaUVGT0Ira09oY2NaNzZOR2Rldks5bERL?= =?utf-8?B?QW1BNEJtcWJDb2s2MlhjSFFZNTg3Rm9Ga1ZNVnkzSm5sL2RwNzJaZTZWTDlj?= =?utf-8?B?QVpxZkppWjlmNktJOWh3Qjh0bzFpVDlRdHR3a09BUkg4ckRSNU00V0hLaVE0?= =?utf-8?B?TG00bHZFL29YQXoxL0xjVzhaV05oYUtuU1RHR25yV0Z3ZERqZHRyeVp6a2p4?= =?utf-8?B?ZEd6RUFRclQ5VlppbHhoSlZ6ZlJ2anp4aXl2L2NkdmJWMFlmL3RiR2x2SlRY?= =?utf-8?B?TysvWm11ZUl3TUVRc1d3K041ZXdxbzlHazdmcmZrV1dJZ1FIcUc1YzI2Q0Nq?= =?utf-8?B?TFJOSVpvWEJwdUFvcnN4V3oxZXpXWHVadTVkNmRsQ2k4SEVXK0g4ZmgveGR0?= =?utf-8?B?Z1NTaTBhcGg5UUZDYjgwYnlFQURwWm95Y0pvYnRNQ0x4UGNpR0Q0OGkrNVUx?= =?utf-8?B?K0VXNUhqMDRpU2pRdEFsS2p1MWdTZ1JINll6ajBzait2RnF4RDR0aGdyZVZS?= =?utf-8?B?bVZhTEg0cStMSzNSUXNBYXBrbmJFK21xaXpBczFiTnF0QkRCS3VEZ0VIZVpR?= =?utf-8?B?QkFKR3U5VVA4Sm5nT1JhZHN3UUIrZ2JVVFRmdDZWa1FaOWxNalV6bGNkUU1m?= =?utf-8?B?RDE2d1E0MGJEb1NSOXJQOW1xS3FQajNRVGZYZmhZOGJXSWZqRTZHdVhDeVpX?= =?utf-8?B?U09aMVBBUk5aZHduZDNZQ1cyZjFpWWNwS0JKSXUxM3ZicGFxd0duRFhhcTNO?= =?utf-8?B?aUJtNXM4aVc4L1dVSjc4d25sTVl2L09IREhDMkcwMDNQUC9HeGlLb3RIZG5C?= =?utf-8?B?cUc1NUVEU3BhdGRONEJRMEJRcVdkMU53YlVOeDBXSHhVbVUxNlpxdjJyTmVO?= =?utf-8?B?aGxLR1hYV1FkRnhvb0lwYVVuaVF1UUxCcGpDSyt5d3RxK1JDYVNaV2FRcDNp?= =?utf-8?B?K0d4clJtM1RzWFZvM1BhSWJKcW9LTndKdW00b2VWQWthanJOakRULzJIeld5?= =?utf-8?B?WVpvdE53RmFTeTBzWW1TUW1zbkNoMkFaZWFqQjgrQnFBRmYyWjJDRjYrZ1Uz?= =?utf-8?B?SWkxQ1kwZUlQZGZRTUl1NUVWQnRmS1NTbFFjM3Vnd0RKT3VRWTh5Y3NZd3Zp?= =?utf-8?B?UXROeXVBRDRXVDZ2MUZGSGV3VE1lNTd0bDV6MFYwSjV6MlU2OFFKOHZzVXFN?= =?utf-8?B?V2xySm0weEV4QS83SEgxeEY0Sk5KVW9xeFNrejQyQUphQnpzYTVLWERKNFox?= =?utf-8?B?ejRLc25QSy9tLzZIRUdLL1FxUUNjN3Zvc0NLT2Vkcm9KaWQxNmw0clVWSDhh?= =?utf-8?B?SlR1N2hzWUNUd3FCWHRyL1NHS29lNFNOKzcrLy9aVXBxRUg5d2ZWL3lqQzhW?= =?utf-8?B?bkdaYzgyUW10cjQzelJUTUxlMUptQ0tKd0g1WjdwRzB6VklnZUxIcEFyUDJH?= =?utf-8?Q?2pVqK0UIYvfUS7lcgwKvQf83hF5j8cfdMaP0WDfABLxF/?= X-MS-Exchange-AntiSpam-MessageData-1: Rj8g/ejrEWVEag== X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1fd2ad96-f9b2-4add-08c5-08df1f3142a5 X-MS-Exchange-CrossTenant-AuthSource: YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2026 20:27:34.2730 (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: 3iEmGQMQiA7gO2niqOEwbzXxVPi8lYbXesYOZ8C2p9f2/jzEtT3m6XPE7Oz5/di+65XTbPKPT79IbHiczrkR4Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT4PR01MB10727 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 (I failed to reply-all the first time, adding gdb-patches this time) On 2026-09-30 09:51, Rohr, Stephan wrote: >> @@ -4824,8 +4901,6 @@ global_symbol_searcher::add_matching_symbols >> const std::optional &type_regex, >> std::set *result_set) const >> { >> - domain_search_flags domain = to_search_flags (m_kind); > > IIUC this is moved to "symbol_matches"? This implies "to_search_flags" is run > for every symbol. This looks unnecessary. We could add an additional argument to > "symbol_matches". I thought about that, but I am not sure it matters in practice, since to_search_flags compiles down to so few instructions. If you insist that we shouldn't do this call for every minsym, I would add an m_domain field and pre-compute it. But I don't think it's needed. >> diff --git a/gdb/symtab.h b/gdb/symtab.h >> index acbe41d131b7..5dd0475e4491 100644 >> --- a/gdb/symtab.h >> +++ b/gdb/symtab.h >> @@ -2675,6 +2675,19 @@ class global_symbol_searcher >> /* Compile M_SYMBOL_TYPE_REGEXP, if set. */ >> std::optional compile_type_regex () const; >> >> + /* Return true if SYMTAB matches one of M_FILENAMES. */ >> + bool symtab_matches_filenames (symtab *symtab) const; >> + >> + /* Return true if SYM is of type M_KIND, is in a file matching > > Rephrase to "is of kind M_KIND"? Done. >> + M_FILENAMES, and matches NAME_REGEX and TYPE_REGEX. */ >> + bool symbol_matches (const symbol *sym, >> + const std::optional &name_regex, >> + const std::optional &type_regex) const; >> + >> + /* Return true if MSYMBOL is of type M_KIND and matches NAME_REGEX. >> */ > > Same here. Done. >> + bool msymbol_matches (const minimal_symbol *msymbol, >> + const std::optional &name_regex) >> const; > > The function also checks the "created_by_gdb" flag and "is_suitable_msymbol". > Should this be mentioned in the comment, too? is_suitable_symbol basically checks m_kind, so it's already covered in the comment. As for created_by_gdb... It's subjective, but I don't think that a function doc like this necessarily needs to talk about all the details of the implementation. But anyway, I added a mention: /* Return true if MSYMBOL is of kind M_KIND and matches NAME_REGEX. This function also filters out the minimal symbols artificially created by GDB. */ Simon