From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2064.outbound.protection.outlook.com [40.107.93.64]) by sourceware.org (Postfix) with ESMTPS id B09EB3858002 for ; Fri, 20 May 2022 23:08:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B09EB3858002 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DoTqnmQ67qSBGM5jFVBHRvfMvA1K3/hZ2NGDKBkmNDbX5Dk93six8ZfwPvJH3Xnv7N1jZbreiLfIc047Fsaz+B9Rg/ijQNj/J9QbcTi6k8Uh6RRXppnYbNl13606/JuqzuAycSKJttIJS486yBfkW/BNGhNADOoUFfClQNZeVbYJck57TDSXYPSpO3TDRR2EyJ0mm5AuPAfkmgoi/6Ioa3+PooEGWyEtPHQveKfrB8+UqA2K4o643IgpA/IYiZbYLQVxdh/asyScZhty9gRj16wFgYAJ9XIoZx/rvOF/CkiWAE4oUL9BgKF6tRnIdjTdGEClroOWJC/+q979tqsTMg== 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=BKsmb4/h+I9GRCn4U256kq9Lhsn2ud0U5glLqzpHOW0=; b=Nv0DMG5GQ/Ox2AZpcFDzdkTYPw/MWxyfzbvUotImMjRiE9suRRalWGZe2V9Dm0GpTrGImyPVEcozh26RbtK/0tjXEYZQOCTqM8ORXnZ7gShXspegSN2rCIVt94uZh34YVSi/1CuGi2EQCdn3JM0NyZkiepGq/zXpXHDYtvQWxCNP8a7Ltd0tNy540rB0SVQFauLlkqLh9wqk5jZ7sI8eFZzHxlhZcm/PiMHRIiy1YbWe7Tn499PQYtiirrtd6tH7UB0bZ6N11huKA1Y/SXNzHNSVl7KHYqQ4Gt3avNei3n2zzsjD5ppVXkKq88u/O9G2fXz+Mf706qd4GfwJg5vgfg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none Received: from DM4PR12MB5745.namprd12.prod.outlook.com (2603:10b6:8:5c::7) by MN2PR12MB4160.namprd12.prod.outlook.com (2603:10b6:208:19a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14; Fri, 20 May 2022 23:08:16 +0000 Received: from DM4PR12MB5745.namprd12.prod.outlook.com ([fe80::e032:96b9:c743:3a9b]) by DM4PR12MB5745.namprd12.prod.outlook.com ([fe80::e032:96b9:c743:3a9b%9]) with mapi id 15.20.5273.017; Fri, 20 May 2022 23:08:16 +0000 Message-ID: <0db126be-7d03-d8ec-c825-a8dbd3d4ce72@amd.com> Date: Sat, 21 May 2022 00:07:06 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: Re: [PATCH v2 1/2] gdb: Require psymtab before calling quick_functions in objfile Content-Language: en-US To: Tom Tromey , Lancelot SIX via Gdb-patches Cc: lsix@lancelotsix.com References: <20220519184557.2169347-1-lancelot.six@amd.com> <20220519184557.2169347-2-lancelot.six@amd.com> <87k0agb3tn.fsf@tromey.com> From: Lancelot SIX In-Reply-To: <87k0agb3tn.fsf@tromey.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: AS9PR06CA0212.eurprd06.prod.outlook.com (2603:10a6:20b:45e::33) To DM4PR12MB5745.namprd12.prod.outlook.com (2603:10b6:8:5c::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 137f5565-4d88-44f0-5ca3-08da3ab59f34 X-MS-TrafficTypeDiagnostic: MN2PR12MB4160:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NqrE1rw3m7HHSZjj4DdGaVbINj6E2AEp8q/XtjGosaCNzaeruywxHXhQa+9+Si3YWoGi5qkGgXWg51uZF0NlVJsdrq2nijzQvfTZNl8V/i8EMSxj+feBF1OHQcTteduZiv3tLTaROvFKyf6IwalOBb7JoHcgm528+8hYKFOX6ys5jBOIxWL9cR6TX412ipRDSeCtGZOHmfNLzFCryO+ErUp7fWIH1bSQ+X3iKQrt6dYrUqhZew0PxjjNephWZGzIBsjQuxU/9xj1JwZgg6XxqT+OVRstI+8/oNv/h3Pb17ilHwoB5d+w5wCvVjtpCMxubl8g/W+Hoj+jzX/xkP+v+gwYK5m2mvgLpzYOfMbygebb0K/kxJb2OMxdoybur6wpiFe0wc3N3g7TPeOwo7ljTes0GfmW+IG0UwaA1gG5llifQzeZ+gkVgGaBpm7ULZBF0qaMQbn2lhe2UKiqdS8kNM/lLbGtkO9blSLZPbqQaK1NPxQn1N67rOks94+TDUpoCo/LZmb5nxSaxmdgIOp+Tsz3mu2TdESN6WXVlrK0dsBcoGSHcJ+uc7SMorgxELBubBUC8J42B2MpLEbCIcXlYm7L1K7agf5oKuvZFnBtCtRrODjBUmR59veKVg3cvQ2LAw1g0jJxWsYB4oOhi7B+F4+888GhM6Tihx4h+03B7TTfoJRDl8Shhl6twQ3UjvFUdEDKlqDKQzGzrWoQzqGJF0W8Lykd2nteeSSku27f5puM/to5+zxB9wvokjUO8SO6 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5745.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(83380400001)(508600001)(2616005)(53546011)(6512007)(6506007)(8936002)(66556008)(31686004)(66946007)(4326008)(36756003)(5660300002)(186003)(8676002)(66476007)(6486002)(316002)(2906002)(6666004)(38100700002)(110136005)(31696002)(86362001)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZFJTQlBjc2txU0ZqUmF5Y3pEMUFseVluaEZVdUhudlhwL2RmeTZueCtsRVJs?= =?utf-8?B?bEM0N1JMdVNGSDd3ckltd0xPb1RkWlBMcktHQnFiQ3VaT0tlRG04V3FPeC83?= =?utf-8?B?bGZrV3NyZUZxUUU4RVZmV0NoRm5PVDYxOWdTbTVEck9LdjhreUJTYWVFNjRr?= =?utf-8?B?NHQ5ZjRpWVFkZ01HS3UxWUh2VFo3ZTRJYk1oN1ZUUnloeVU4RmVoMnBzMkV1?= =?utf-8?B?bzdIa2JNa3J5UjEzSFN2cmFDN09UMm9zZEVOdmtCOUZjQjN2N1JjQzhHckJ1?= =?utf-8?B?N0p2VTV0bGVnZUwvdVVDVDlSREtxcmpaMlZZb2dsc3JUU3RJNGwwT1FMeXpM?= =?utf-8?B?d2lGSVdzZGNxdUpJUHpia3pLb0orczM0aUdFMzdESjBVN2lXMlcxWWMyNGYv?= =?utf-8?B?THdjZUN5Zk40TmI3MGI1Y1p0ek55UzZFY0RIeXBLWUFZNEIwRzVxcXIzVWE3?= =?utf-8?B?WlExeVZpS1hROXlYSXc1Q0dhakhRcUVYVGpTOURwajRuRTNVU1lrbGtNT05W?= =?utf-8?B?UXNheGJkeGFnUXFtWGU1K2kydDBPQUJQWnJ2WGIrK0RnT3NiVU9ZZUFsbGcv?= =?utf-8?B?M1V2SjkzZVo0YVo4akZSSEdwSlF6UXF5d3QvMDVjNEdrOWdWL3ZINlVndk1T?= =?utf-8?B?V2hnWXVsUGNuVC9iUzdwWXRRZFI3OTYrdkN4eWVOOEsxNUsyR1p4WEIzNzZU?= =?utf-8?B?VDhsbXJobXArMGhLeVJiZVFOUHM3eWJ6djNYMDlnWXpOVm1zdElLOTM1VGpa?= =?utf-8?B?UldDazNMNWVpeXBYQ2FCN3ZrM0ZidllwZXRTOFRiQmljOEZSOGtWbDcvVi9o?= =?utf-8?B?NkZXSlBLL29jd2RpOFRUcmNBQ1p1Z09vcUZ5WTVZWU9pRXFBYmNoVndUNHJy?= =?utf-8?B?MnNFWUk5ODV6bWVaVnUvcjBhdlphVk9VZmxvWHEwK3Y1UXRld1loU0U4bGJn?= =?utf-8?B?YXhtWWJaZU5qeGFlZXZtNHBpVGVpc1JlenYwZnloL1NJb21TQncxeTdCajJM?= =?utf-8?B?TlFZUlJOTmRoaGZYUXk0aEs5VkJURHZnOTU5V1JaWHk4bFptTHJnaVZQR2Z1?= =?utf-8?B?Y1RiUS9CWlZDamNRb3p4bms1NU15d2U4b0wxYXI0V1luUGMzZ2ZTN2Z6UU9x?= =?utf-8?B?NkU3TGRUbUpXdlE2WDduRDI5SkExZEozck8wV1MzMDl6TzRYWTZFRzdNR1JO?= =?utf-8?B?OWtjNVlidGN2MXZUYVFwYzYxR3R3aUVXQ09kTm5lelp4aXZEVGFrNFFhOXB0?= =?utf-8?B?YzU0b1hxeG9penhQejVWRUNPUEpGZFY4eSszZk8wWkNVY1JSSC9xYkZZbEJy?= =?utf-8?B?TUVLazF6eWVUcnFCYXI5SFhyQ3ZzUUgvVEd4MlVFZm1TemdZdVdNd1JxcHFL?= =?utf-8?B?L2RuQm5XcGN2UUpJdzh0VURpSTc4Y3Y4VWJyNkUzNEpPSVliOHplVTFRdlUx?= =?utf-8?B?L2VuY1luY3dWTEFpQ0ZHSzB2Yk9za2F4VmJHYXVXdTBrUnRIRHM1OGFTN2Vh?= =?utf-8?B?ZHhOTUdEUjQ0Rk5HNVB6dVVpd202VmtWZlRJeHdjbFdTVUtrTkkrSmxRU1kx?= =?utf-8?B?L0NVeW1mN21wdTNOdmMyN3RrbHRIM2FnMzdqYVRlTjE5WThLa0FDZy82U3Ax?= =?utf-8?B?dHk1alhjbkdSZlN0VmkvNGVMMVUrZFBBL0NlTmxFWi9IcEJTTWhPUkVDT2x5?= =?utf-8?B?ejFTL0w2emhUcnVPQXZlUEppY2hkQU9rWHNWbERvZVFtRmZNSW40ME1peWxG?= =?utf-8?B?SlhFZEhkQnUxdzY3WW50eHcxZjVaWWY3REpjNjdyS1lPMmVHc1VieTh0djBT?= =?utf-8?B?NGlTNVRQb29hTjRaY3NMNnYvUGJRYzVQNHpweDloeGt0V3FVRTJGemFPcDdD?= =?utf-8?B?MCtHTktNcGZHSWNLNEpjaXhaTmpuczY4MWRJaHZDWDB5MThoU2FZUzlFZVdT?= =?utf-8?B?QmhSazZPd1NFYVNZeXpFdHJSL1NmWTM5cVc0dURVMDIvTytTd0llMzRaOXpW?= =?utf-8?B?MVErMWpnaEtpWXZDT0RpS2NOc1gzY2JIeVJVOXZpVkxXeko0SStJVGRud1lo?= =?utf-8?B?eVdjV2Vkc1F2M3JpZVZvU3B4ekRBMmxkaUpPcElBMC9TVGp2ZHlJWXdmNndO?= =?utf-8?B?a3VTSEFySU1mOUdZMi85SlNCNFJEQlQ2cWZmNUpaeHhNUXB6TUhVdHMrcGlu?= =?utf-8?B?TStzL3hBRWoyU0tBUHZENDBJZnA1VzhvQlZFVUY3eGFzNDBYUWVuODAyWkxE?= =?utf-8?B?NEM1QW1USmR2K1pnVDFjNGdibEs5Q0FyVnJ3VUxXdExrVHhzZit6WHFOa1lj?= =?utf-8?B?dFE3bHJmTG5kbmRHbnV6N2o4OUtleTVmeWd0ck1RNWxmcjgwMWVITTNzc2k1?= =?utf-8?Q?kxNLTNRbQetYjnDNmeHkMHk6rX3ln6+oV72SVEDohXNnZ?= X-MS-Exchange-AntiSpam-MessageData-1: Rr0LClJzJMURNw== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 137f5565-4d88-44f0-5ca3-08da3ab59f34 X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5745.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 May 2022 23:08:16.3358 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 99OtlQ+zofr1ODLrhPSjucTYpRhQBaTx1AzTioWigq/q97XXKeDjRjN3olvytX5Xza3KQLiVhURFflOkWD1q8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4160 X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 May 2022 23:08:21 -0000 On 20/05/2022 16:51, Tom Tromey wrote: > [CAUTION: External Email] > >>>>>> "Lancelot" == Lancelot SIX via Gdb-patches writes: > > Lancelot> we see something like: > Lancelot> This patch proposes to wrap the access of the `qf` field with an accessor > Lancelot> which ensures that partial symbols have been read before iterating: > Lancelot> qf_require_partial_symbols. All calls to quick functions are updated > Lancelot> except: > > Thank you for the patch. > I have one small nit. > > Lancelot> + /* Ensure that partial symbols have been read and return the "quick" (aka > Lancelot> + partial) symbol functions for this symbol reader. */ > Lancelot> + > Lancelot> + const std::forward_list & > Lancelot> + qf_require_partial_symbols () > Lancelot> + { > Lancelot> + this->require_partial_symbols (true); > Lancelot> + return qf; > Lancelot> + } > Lancelot> + > > It seems like this could be private instead of public. > > It's ok with that change, you don't need to re-send it. > > Tom Hi, Thanks for the review. I have changed the declaration locally as follows (I did some back and forth on whether it should stay grouped with the other methods of ojbfile bracketed between a pritave:/public: pair or if it should go in a private section at the end of the struct — I finally opted for former). I'll keep this and push it with the revised version of patch #2 once approved. Best, Lancelot. --- diff --git a/gdb/objfiles.h b/gdb/objfiles.h index cb7a1357cfe..9da12ff12e0 100644 --- a/gdb/objfiles.h +++ b/gdb/objfiles.h @@ -612,6 +612,19 @@ struct objfile this->section_offsets[idx] = offset; } +private: + + /* Ensure that partial symbols have been read and return the "quick" (aka + partial) symbol functions for this symbol reader. */ + const std::forward_list & + qf_require_partial_symbols () + { + this->require_partial_symbols (true); + return qf; + } + +public: + /* The object file's original name as specified by the user, made absolute, and tilde-expanded. However, it is not canonicalized (i.e., it has not been passed through gdb_realpath).