From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from CAN01-YQB-obe.outbound.protection.outlook.com (mail-yqbcan01on2123.outbound.protection.outlook.com [40.107.116.123]) by sourceware.org (Postfix) with ESMTPS id 12CC33858D33 for ; Wed, 7 Feb 2024 03:37:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 12CC33858D33 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 12CC33858D33 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.116.123 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1707277078; cv=pass; b=lJrD8OfA4lt1R7lWdRlewk96lmFX0WWwrYYZD/2GuXFVZeCcD9Zcsq2PKKnL/bnYlzq29QpKS77biukWMcQjKU1216whYa8m5apoq0JSxEOO1qqwZpdgqbQ76DPzwTj43mtfZABQxGCL8BwqgOUfWVCL77luvjQhLCOBJwvMJIg= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1707277078; c=relaxed/simple; bh=RbUWiwLBrGcU71Nnwv//wrEgaheC17aAWEaC237YzJM=; h=DKIM-Signature:Message-ID:Date:From:Subject:To:MIME-Version; b=ZKLwm6NvP1AvrgF3oXa9y6q80rNxIZfVOpkGwqEFKLrzSYYvND4bjBPspFTcUCOXAkffrubDNb3iEZebMf8/RjmkaEbHpe4r8o8wOsEkZGEBYTou85rP1SUbLsl8ywnmNnnggCiDAyWZCDTvITEx6drlAqvZbVpkW8aNNelaE3s= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gcDec5scZap3Fsu+kko/WX5eSc82uFW6BtyjRO6FPkJ615xi6XEhan6AhNewCYwTH/BO1YasLgvaHsy1yHtDEPfaRPrAw3viUP5cgPrOSVV+xOuKGJTVW/kVsz/XneyazUuKXW2cfXtzDvrDhsPCgzq/U4wolYEoCr8OXwuq+pTOmfM1bjHOp8rFPxlv0VUhQkPLcUwqvz+CLqF2ASMAGrzsM9xAFyiJKJF493wRLN1ooAAv53y6TUJF9mx6C18qwgndv4sXnEJWqvRl3H8Y1rkXOYt0YOGh1agsDpVYbccoHMSHdVE4SV5HegvgQ9Xj+/Rp6pXg5h+5ZhTXj3IXkQ== 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=lkrSlHH1rTih54zIWqdPg1tu6/p82ymS0FiCquhaeds=; b=fwDaP7yDcoCgQzeecXT9/le4Ous8l2b8LhPxNp2xy/W4HPzKlOJiJhmQeXB7zpzdd1jQU4XCRZnx/eVH+XRgF2Q1fx9CouTsWGK81d/5qN/TEpkg1wMlGsh+1RqnSphLC45Oi66rbsYk+nSAVuAYBbakP0UEYtg+sjP9M3vCj+C/0HO8lpG5sis+Dm6JnaghWj5KOJrkdPKipcnvIDNPGu7HgNMMxozpP0n6aHFAO93HV1Lh0br7LAIm89qIrlaTvBk0h4m3DmF1HtUg35rzI/aN3cjmaSOfJY4y60R7fj9J8w62QsTkjdUeunMni+dOc2wF5ifKB69egvyUXClapg== 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=lkrSlHH1rTih54zIWqdPg1tu6/p82ymS0FiCquhaeds=; b=gEz7l/HYP8h90KVbvBzllSdoU7n2pu57couM3zuNXQaNN7ziTABmsUC8apzG8DPeLrT1Nz196alUISRcfHa7rFveGX9jytn5Hhd/wKDX/R2Ux4mWL1RsDC4dATWR8jnsCALUtIJnnMxgyClgFoLUh9IFGrVDuemx3o9JLURpmnPvAfF7kq8yFL9I51TVOXTN4ryxZzpqAlsRzE2Wa4fHgBdHk56nUjnJBu4z7u1kR9rQnB3BRxJ10tbElLni9knNNTs9JzaRrq2YgRnxLSPZmM91NGeVpnaT37EnAPsWaJxk71bh9o5JpG2qzRlDTYCT4fhmWYtSO/idK6wE5oGryw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=efficios.com; Received: from YT2PR01MB5525.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:50::8) by YT2PR01MB10635.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:f2::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.36; Wed, 7 Feb 2024 03:37:54 +0000 Received: from YT2PR01MB5525.CANPRD01.PROD.OUTLOOK.COM ([fe80::793a:d099:e86a:fb29]) by YT2PR01MB5525.CANPRD01.PROD.OUTLOOK.COM ([fe80::793a:d099:e86a:fb29%2]) with mapi id 15.20.7249.035; Wed, 7 Feb 2024 03:37:54 +0000 Message-ID: <66f89bb0-e088-40ee-8adb-a9b9b069f8b5@efficios.com> Date: Tue, 6 Feb 2024 22:37:54 -0500 User-Agent: Mozilla Thunderbird From: Simon Marchi Subject: Re: [PATCH 4/5] gdb: add program_space parameter to clear_solib To: Simon Marchi References: <20240206171514.119244-1-simon.marchi@efficios.com> <20240206171514.119244-5-simon.marchi@efficios.com> Content-Language: fr In-Reply-To: <20240206171514.119244-5-simon.marchi@efficios.com> Cc: "gdb-patches@sourceware.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQZPR01CA0170.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:8b::9) To YT2PR01MB5525.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:50::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YT2PR01MB5525:EE_|YT2PR01MB10635:EE_ X-MS-Office365-Filtering-Correlation-Id: 7af694d7-6075-47d7-874b-08dc278e2b2a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: P3FRHki7KI0YVrtGnM9+5ob11/Jzq6HXKrTVIU/rKKSM7kfD1A1ko6JBVVfwIMkjV1qJSaAY2YdMkc45j9rJuFCUborR2uMEPq8naGJyaOYvyIxsAosZplmYmH8GHHu00j40Gq/u81VWLttz/c6+PpN9XPJkX0mmOjQhmaIGtRWpcFmVKEo7TNJeeMc6Fsp0BsCpoMtBzsGxWvqEOSqGGaLs4xvON0BZfvvQqXdBQ3kDRULosoP6J3IJg0GjcNROZpCKre4H3vewTQnqzGnFgcs8AflP9OfKiPNbzKUt4v4RNzpz0V/FQRMZzrIJ197FzvRgyVqUDwsRljfiVdlNFhLDycQOT94jgaqbgqSk4P5uFvVwS8SSBvf7mK55tH4S/DO+ZXX++jG3exGeDLb7pt9xwGZ+7FB57A/x6cnQQNQovU/0eo6/vNrFgCKK0SqZwTN+5mABmODM6waLUGD6CD/493T6a4NFmDipzT/IJRah6ovRktdhF4vUkPZlDHT+d5A49dMZ02l/+ousKRWRyUWiW1bu8WKQqs54mBhDqN8eFJ+JNstvoYS4t3BR8votw+PSy6FuxkUw/tLvykDbnc2xHmIg0dyeMVoF3RZKKZGO63ZvalS+3y/M9frONDGWkN5+a3uvg/sfKBxyni+ALA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT2PR01MB5525.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(366004)(39830400003)(346002)(396003)(376002)(136003)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(38100700002)(31686004)(84970400001)(44832011)(83380400001)(6486002)(26005)(6506007)(478600001)(2616005)(31696002)(53546011)(6512007)(316002)(41300700001)(37006003)(66946007)(66556008)(66476007)(4326008)(2906002)(6862004)(36756003)(8676002)(5660300002)(6200100001)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NjJZK0pVNEVxcHRnNnNnWlkzQVZJMHU2Zkw2Z0FRd21adTBpc2dRM2k5Y0E0?= =?utf-8?B?SE80M1pSMWJsQzRFVmRIU1BBdjYvRlQyZ1ppaGNFcXlhc2dOck1nRGwrdU12?= =?utf-8?B?ejNsclRPQjBXYkhmRnhTWnBQdFIvOEw0VnBPRUh3Qnk4c3hWK1E3b2pYSVJN?= =?utf-8?B?RVRJS044NWdjL0ZJLzZHNmh0WE9ReTFBclVpODE1M2hJQWJpTTZBenhjRHRz?= =?utf-8?B?anpiL2NmdkNISVhFOENhdGVYWFZ0d3k1ZlJja2NUcjhZeTZhaUFpbUMwUkI4?= =?utf-8?B?ekMwNUJmSlQwL2JJbFl6SDczb3NyaGREQjN4RHdSMFlBcldNcEs4L1BQc2hi?= =?utf-8?B?UmN4aUxPemU4anN4QWhXR25GU0FnempDUDBDS1JaV3RhaW53Q1FvVUZCVTN1?= =?utf-8?B?Wndrd05lcXB2dFRNYWppUkl6V1BkZ2NYZGRMZFlUWmpSWWZDeDRaRHNDQXEr?= =?utf-8?B?WWhxeHc1R2VSNjZ1ZEVLMENIcm5nelgrV0xZcnRubTdLYytXQWc2Vlk3Sytn?= =?utf-8?B?TWVZbVVqcUQ5a0pCTWJaaTlJSmRlL3cwVGg4eloxbTBUMXNIZkx2bkVEOTVB?= =?utf-8?B?eTJYdlJva3NWY3QrcTA2R2NmSHI4cHI5aU9wTFFQOEFxT3ZsRVA1V0lvc2JV?= =?utf-8?B?bndFaU5PVk9weFZrenpvZDlOZ1Z2V3F0WE5LcUFTV1pid0sySTM4bE1OMGJv?= =?utf-8?B?TkxCQk1RTVlXV1FodUlhWVVYUkpySHhDZHlFSGFaTVhqMDYwRXdreVgzZ2ZQ?= =?utf-8?B?cHFkb1RwWjZLTG1HUkRYNnFUTjU2SVFmL3kwOFBJalVKS2R5ZlVhK0VmdDRK?= =?utf-8?B?NXExVU1Ba0pNd2kyTWxxc3lnNkpibVlJYURVNm5tbkMvV20yeDNDVFpNOFQy?= =?utf-8?B?eTJwYWpKSDNkV1ZtMGVrQUMyT0I0UjlIS3Z5Sk5kN3dVVzh0OE5Kcm1UVzJ0?= =?utf-8?B?Sk5RbzVtVkRNZS9CSVhseXhhMGhidjB6UmFQMjdVa3FvNlZxY0lZcWM2QzNl?= =?utf-8?B?YXNkaUNlR1BudVo2ejA2OFE0Y3dsVXhlZ3ExbERmaVRYdVZVbStzT2dpdWxF?= =?utf-8?B?aEhNL3FQOFA3aS9QNzFZcGFLeTVnbkNYZEJYczhyMlZnRzViUmpXcWJ3cEc0?= =?utf-8?B?MEY4VUsrN3lVZVVNeXloa2ZCWHB6NmFRVytIVjE5SDRZT2JkSkJqYWk4WWZt?= =?utf-8?B?SFRLWUM4Sk1QdXFUUEJZaEpjUFpCNHR4Y2p5bWYvTDg2VHhBZU42RTZGaEYx?= =?utf-8?B?ZVl1Y2hobDBZRmE5K05YK09zVlQ5TU5WZnpYWGIzeStMNWFWb2ZqUWFjU3dC?= =?utf-8?B?eWFodVlqVDhZSlhMYXIvVTdBK3J6ejgwckFQUDRNSUI1TE1oNWRJR3pVV0pK?= =?utf-8?B?eHI3K1l5SW5qOWhzVFpjUEtac1kvODY0bjIvUnJQdkcyLzlteStQMDhuaUNS?= =?utf-8?B?cUQ1MWJZeFFTenRxcHoreG1TUVB0SlpOUVBVWC9NWTIyUTF3V2YvY2NwNFdm?= =?utf-8?B?eldpTlplb1piOFVBemJBODN3ZVZ3cy9jK0J0RE5sb0VMN1Z2QjRZZkg5bGF4?= =?utf-8?B?TGZPNFZIZGUxWjh2Q1V5R3hBRytadDZhTzdBY2hZbVljejhmZkRDY2gyOFBG?= =?utf-8?B?dklFQUNRZjJSR1R5K1hpVnQ2Nk5JRUxpQ00vVnlkU2ExakdadUREcUtnWFVD?= =?utf-8?B?MlpnSmtrR0pkOGdLaDdpbmNOckZhSVJIREkySkZPZlZsRUI4WFd6djRBTWNu?= =?utf-8?B?cVRlVmJnd1JCeWFRbnlhMjhlSFMvUUM5Rkl1ZnpIVFUzamlQMGt1Yy9HL3JZ?= =?utf-8?B?ZTlGaUVpV3c3Q0VYdjUwaXRpM1EwbHo4TUxyY1lOQTZzSGlhb1M5bjhFelJR?= =?utf-8?B?dm5JaVUvV3ExQjdxVkFMNnlLZHBIdWsrWElndytrbHB0ZGt1L2VBZDRGOFFy?= =?utf-8?B?VDBJZ1lCemR2YTBYT1QxeC9oNGlmVEJBZjRVRHVNVDlaTFA5RnEyUWFBMWhT?= =?utf-8?B?U2VMTzJCN1Bjei9LMzlDSmFQbUNwenlqODlaS1VNN3JBYVdsU252MXB0ak9Z?= =?utf-8?B?dzU0ZjZnaXZNSEhXNng5c1F5NDM2QmpVWHltTzNZQjZUKzdOL3pBdWVtMmRI?= =?utf-8?Q?YSm3N/IA/XAxTPEdilUHvmsvS?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7af694d7-6075-47d7-874b-08dc278e2b2a X-MS-Exchange-CrossTenant-AuthSource: YT2PR01MB5525.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2024 03:37:54.3604 (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: JoyvnesOdw8loCQLqLT0j8pgriSe8iI8I2qRvNVK1l8OvqfT7GL4ziX5V1ythPRZfKU421FiQQ89iiPeNCI2YQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT2PR01MB10635 X-Spam-Status: No, score=-3039.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,WEIRD_PORT autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 2/6/24 12:14, Simon Marchi wrote: > Make the current_program_space reference bubble up one level. > > Remove one unnecessary declaration of clear_solib. > > Change-Id: I234e2c8c0b71713364fc7b76cee2bee2b026bd6d > --- > gdb/corelow.c | 2 +- > gdb/solib.c | 21 ++++++++++++--------- > gdb/solib.h | 6 +++--- > gdb/symtab.h | 4 ---- > 4 files changed, 16 insertions(+), 17 deletions(-) > > diff --git a/gdb/corelow.c b/gdb/corelow.c > index 43c1f69b1317..f291b2aba191 100644 > --- a/gdb/corelow.c > +++ b/gdb/corelow.c > @@ -335,7 +335,7 @@ core_target::clear_core () > > /* Clear out solib state while the bfd is still open. See > comments in clear_solib in solib.c. */ > - clear_solib (); > + clear_solib (current_program_space); > > current_program_space->cbfd.reset (nullptr); > } > diff --git a/gdb/solib.c b/gdb/solib.c > index 98cda039a833..bd69c549b8e8 100644 > --- a/gdb/solib.c > +++ b/gdb/solib.c > @@ -1180,23 +1180,26 @@ solib_keep_data_in_core (CORE_ADDR vaddr, unsigned long size) > return false; > } > > -/* Called by free_all_symtabs */ > +/* See solib.h. */ > > void > -clear_solib (void) > +clear_solib (program_space *pspace) > { > - const solib_ops *ops = gdbarch_so_ops (current_inferior ()->arch ()); > + inferior *inf = find_inferior_for_program_space (pspace); > + gdb_assert (inf != nullptr); Thanks to the Linaro CI for pointing it out, this particular change causes some regressions, for instance in gdb.base/catch-fork-kill.exp. The assertion fails because inf is nullptr. We're here: #0 internal_error_loc (file=0x55adc73f51c0 "/home/smarchi/src/binutils-gdb/gdb/solib.c", line=1189, fmt=0x55adc73f4b00 "%s: Assertion `%s' failed.") at /home/smarchi/src/binutils-gdb/gdbsupport/errors.cc:57 #1 0x000055adcb297e6d in clear_solib (pspace=0x613000011d80) at /home/smarchi/src/binutils-gdb/gdb/solib.c:1189 #2 0x000055adcb29822e in no_shared_libraries (ignored=0x0, from_tty=0) at /home/smarchi/src/binutils-gdb/gdb/solib.c:1250 #3 0x000055adca9f26d4 in program_space::~program_space (this=0x613000011d80, __in_chrg=) at /home/smarchi/src/binutils-gdb/gdb/progspace.c:120 #4 0x000055adca0c570c in delete_inferior (inf=0x618000225480) at /home/smarchi/src/binutils-gdb/gdb/inferior.c:302 #5 0x000055adca0c801d in prune_inferiors () at /home/smarchi/src/binutils-gdb/gdb/inferior.c:492 What I observe is that the current inferior is #1, bound to pspace #1, and we're deleting inferior #2, bound to pspace #2. My change doesn't work, because at this point inferior #2 has been removed from the inferior list, so find_inferior_for_program_space returns nullptr. However, the current code seems wrong too, because we're using inferior #1's arch to get hold of an solib_ops to call ops->clear_solib on, despite deleting program space #2, which was bound to inferior #2. It works here, because both inferiors have the same gdbarch with the same solib_ops. But it would be possible for the two inferiors to have different gdbarches and solib_ops. My upcoming solib series should improve the situation, by having a backlink from program_space to solib_ops. So we won't need an inferior here in order to get the solib_ops. In the mean time, I'll try to revert using current_inferior to get the arch and solib_ops, even though I know it's wrong. Simon