From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id +a2BFHrhS2r6BioAWB0awg (envelope-from ) for ; Mon, 06 Jul 2026 13:10:18 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=XZtCbRLu; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 500E01E098; Mon, 06 Jul 2026 13:10:18 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::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 EF9231E024 for ; Mon, 06 Jul 2026 13:10:16 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 90C8B4BA2E19 for ; Mon, 6 Jul 2026 17:10:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 90C8B4BA2E19 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=XZtCbRLu Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azon11011024.outbound.protection.outlook.com [40.107.208.24]) by sourceware.org (Postfix) with ESMTPS id 841ED4BA2E07 for ; Mon, 6 Jul 2026 17:09:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 841ED4BA2E07 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=amd.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 841ED4BA2E07 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=40.107.208.24 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1783357765; cv=pass; b=wDqdU529nvvs0ykPAdWoGJaRMR08DRtoJu1YWMKWRiqxKlgpbxIyU8gk2biQBFv2JY/S7O3nB4JSC65BBydah6d9Zcc8tKwe9w49c5Se+sbEJobfNo0qM+L+6gOYvzqXZawyiieckMEokCAL5d2S4eKzSOmeB1bvPP9kj3872Bo= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1783357765; c=relaxed/simple; bh=y427HQL04hdWdC9qDBpcGMk+25In5PQ8/LP+aHkDtUk=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=Z64yhYpKcnDilxbIznkRQirAZryQI5idV401PphCs7b4pJG+DrooZDQLFECWtG8jFmOB7XRvOiieMUr4QJRvuwmlJzKwCMsylugIcQX7Q966g423V/RNOywtfdjSGXZkFDvPh8/CSwEFehn+ZTPYFE6f1T74GSkBMnOGM8UZT+k= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=XZtCbRLu DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 841ED4BA2E07 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AUIEA73OPYU/7ILiAGTI6TxjA38dyxateXdrB+Ei6VrgRBJ1akWRkjUxwPzIPRC4Qmbycrt0MloRhx/fi19JFnU6SPFA7kQsquZKfJWyWRNEPEEvgK+Cs2up6xC9IF/Vrb9iIowgtjN6+bgzvN+vcCqkthi0xApFI2cRHE6/rCyxxRibqBbATwLrrOe8ReXqIxn/BHiK2BvRrB3WJDX7AlDSN69ZRJ0T157lO4oZE7X9097m4X7rxgXlAoFOyZBOmHjWHtzYzXoQqfMVmc32MP3V9EmsaSEU0MhTjuiib13jxoCVcMjuo1dbKBTHwBhshkeTn3cPErvJF1QsTcdldA== 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=fTRnY3FNuckKmF51ej8RkvBRnJaN3QQqC/3xJ3//ptQ=; b=SOX1es5PuZDttxOMpZbG4fAK+XqwWs8RPUtwsxhp2OPf6f9AOp20OCuepv547PRy7TvP6i/r323Xa4gegkQoKzIG+F1OfcwWW5qkUC98A9BG9XJfEIJrZz7vTexxpM9qhuUea6vwIWww7eFF6aNPw6OCYn9bUPXPWoy/UsojlqoQW4wl4FHeCerQ/g33e6mZN4HiDRhpJdOcs8miBBatLoZV5NMxfKF9FTU+IrGyQT2FzG3hpXtKh7/F3NrHIjBl7oebAQGO8oY450t0S0CyiMMhwo0ZHZvSv2JzpTOC+08tdkvPHxBmdfsR11fMDRt+auKN2Vx5QVEDPmfbMzNXMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=efficios.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fTRnY3FNuckKmF51ej8RkvBRnJaN3QQqC/3xJ3//ptQ=; b=XZtCbRLuLYsN4460JeKaROHtazZbIaCCXrQgrsWuZUr2Cwu11JiWt47w9gSqupz4y/KFnM+9fWepzgHrfdCLn+f7N8q6r2402s1pUdAlHxOvCOazcF9DNsBXoq9SJ1gksA1Ph9V8bcsFBfsiYznbvmEpCFXK1TQLC6vNFaau9RQ= Received: from SJ0PR13CA0159.namprd13.prod.outlook.com (2603:10b6:a03:2c7::14) by BY5PR12MB4177.namprd12.prod.outlook.com (2603:10b6:a03:201::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.13; Mon, 6 Jul 2026 17:09:17 +0000 Received: from SJ5PEPF000001CA.namprd05.prod.outlook.com (2603:10b6:a03:2c7:cafe::1a) by SJ0PR13CA0159.outlook.office365.com (2603:10b6:a03:2c7::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.181.8 via Frontend Transport; Mon, 6 Jul 2026 17:09:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C Received: from satlexmb08.amd.com (165.204.84.17) by SJ5PEPF000001CA.mail.protection.outlook.com (10.167.242.39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.6 via Frontend Transport; Mon, 6 Jul 2026 17:09:17 +0000 Received: from khazad-dum (10.180.168.240) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 6 Jul 2026 12:09:16 -0500 Date: Mon, 6 Jul 2026 18:09:07 +0100 From: Lancelot SIX To: Simon Marchi , Subject: Re: [PATCH v2 4/10] gdb: de-constify some methods of solib_ops Message-ID: References: <20260608200100.666134-5-simon.marchi@efficios.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20260608200100.666134-5-simon.marchi@efficios.com> X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb08.amd.com (10.181.42.217) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001CA:EE_|BY5PR12MB4177:EE_ X-MS-Office365-Filtering-Correlation-Id: c87ceeaa-e83b-419b-a1db-08dedb815046 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700016|82310400026|1800799024|376014|23010399003|22082099003|18002099003|3023799007|56012099006|11063799006|27256017; X-Microsoft-Antispam-Message-Info: evYoElUxkX8384BJ4/qazTYDg4AR/9fRciUuiL8sAA4MGYQSPknfK0/7KchP/T9MNnOIZqi9lhb32f6A02W4pyWBB8XpjOWn7KTCTjHJac+SptzI8LmoXP2ngu4dqvNhyFdWTzFxvIyvsbWorQd+a3fGJvlxBnxIVuQoqHItf3IL8yoic65dzXQWXocbIblc+XpW+HHErPCftik7zG8jBmPgd1QFRyZyCQC5paMxUv0u40ZrMv6DDKJfycdQADXSSzBbRUparVuQRhpQKOchKo7OAxzbesIxLRl5zijyC55qziMMLsFvSvGjyDbu8yBHtCOWGBO4S/wX4KfrBn9w3gba9vohGD5cy12PuYhqhWzAzSAOfSTzmFKJkzWFpGyzwktH0y42UNM1Bis5ST3qKQzzIzuUlEZWY9YTYC5EZn62nH7t5Pj2eDvmrpuCnTtyrpcCYfoMDxmSxC+bMJqCbQWWXdAK8QX+S1S5ZWVF72sQVJxyA57KvfoJu3sXcazaIok7/mKbIxQ2zqVJLSd+Y0oq+hty+bs+RhJjEcn7+OwA5CB5dz8nnSGinDhI/Uat5MrBLaaZeUdd0JdKY6QpXcfxdC29SnXV4KFnr53pPvQAabg2EGA9GNhFE0+dME5MmP0e+ZqaGKq9s56+PnSGpSjlHAEGBftDJ+/VHp7lL5XvakXJ6QW7ZFOJs/HLO3VAR2FpKSGN4AX5s5ZyydpPbErEQg7wwoBwqyXt2Et+EpZFIvZwFjdalikaOUisz4m6 X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb08.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700016)(82310400026)(1800799024)(376014)(23010399003)(22082099003)(18002099003)(3023799007)(56012099006)(11063799006)(27256017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5RMSu0i7dY5orwhHj4YxXQ+3iODqIWzYdzhMq23zz1Km5/SUUeuiNPWdCvgI0dPtVrXT92LKTHs+9DyZNnvdt7ujRL7aHnYiLszIzLJRPlvieEghlWYO0VM+ImgUL4vC4uJkDT+jkceq/W/r8qpW8r1Xyzslrb1/IZGF7W6n3gh61Zv4OEvrAxy7OWAoAFg/vPwJUa2zir7waQAt5PjuYunVHJ0qaPcsfQIzxHJFbC12ggJbavgqbdDWTkm7spwT2gapqvX8SRvV6oOpwVaz5HU3vkkVnrn97zc4gBvUCG2MtWKnvklXKApLTom3kDgya80tkcjMXc0jxAUZzbIvLgmpW1xPhltKD2wEFmr78Azqk+7Hema2FY1ZD3lJb46Ka2R/0WPE7MRLq7p0fl4b91apUypIrKdQggB1ISg4Ioaur5ZZ3G+MMNb6kn6CqezG X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2026 17:09:17.6494 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c87ceeaa-e83b-419b-a1db-08dedb815046 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001CA.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4177 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 Mon, Jun 08, 2026 at 04:00:28PM -0400, Simon Marchi wrote: > The following commit moves the ROCm solib data from a registry to the > rocm_solib_ops object itself. This requires making some methods > non-const, and it then cascades to a bunch of things. This will have to > be done one day or another, when (I suspect) we'll move more solib_ops > data out of registries and into the solib_ops objects themselves. Do it > in this separate patch to avoid polluting that patch. > > No behavior change expected. > FYI, the solib-rocm part look good to me. Approved-by: Lancelot Six (amdgpu) Best, Lancelot > Change-Id: Icb5e921a82e235817f8817a3aa3c20b2c9dc959f > --- > gdb/progspace.h | 2 +- > gdb/solib-aix.c | 12 ++++++------ > gdb/solib-darwin.c | 12 ++++++------ > gdb/solib-dsbt.c | 8 ++++---- > gdb/solib-frv.c | 8 ++++---- > gdb/solib-rocm.c | 20 ++++++++++---------- > gdb/solib-svr4.c | 14 +++++++------- > gdb/solib-svr4.h | 14 +++++++------- > gdb/solib-target.c | 2 +- > gdb/solib-target.h | 2 +- > gdb/solib.c | 8 ++++---- > gdb/solib.h | 14 +++++++------- > gdb/windows-tdep.c | 4 ++-- > 13 files changed, 60 insertions(+), 60 deletions(-) > > diff --git a/gdb/progspace.h b/gdb/progspace.h > index e9261ff8590d..21977747cb94 100644 > --- a/gdb/progspace.h > +++ b/gdb/progspace.h > @@ -260,7 +260,7 @@ struct program_space > { return std::move (m_solib_ops); } > > /* Get this program space's solib provider. */ > - const struct solib_ops *solib_ops () const > + struct solib_ops *solib_ops () const > { return m_solib_ops.get (); } > > /* Return the list of all the solibs in this program space. */ > diff --git a/gdb/solib-aix.c b/gdb/solib-aix.c > index 705760651217..28f69ed9cbb4 100644 > --- a/gdb/solib-aix.c > +++ b/gdb/solib-aix.c > @@ -32,9 +32,9 @@ struct aix_solib_ops : public solib_ops > using solib_ops::solib_ops; > > void relocate_section_addresses (solib &so, target_section *) const override; > - void create_inferior_hook (int from_tty) const override; > - owning_intrusive_list current_sos () const override; > - gdb_bfd_ref_ptr bfd_open (const char *pathname) const override; > + void create_inferior_hook (int from_tty) override; > + owning_intrusive_list current_sos () override; > + gdb_bfd_ref_ptr bfd_open (const char *pathname) override; > }; > > /* See solib-aix.h. */ > @@ -425,7 +425,7 @@ solib_aix_get_section_offsets (struct objfile *objfile, > } > > void > -aix_solib_ops::create_inferior_hook (int from_tty) const > +aix_solib_ops::create_inferior_hook (int from_tty) > { > const char *warning_msg = "unable to relocate main executable"; > > @@ -454,7 +454,7 @@ aix_solib_ops::create_inferior_hook (int from_tty) const > } > > owning_intrusive_list > -aix_solib_ops::current_sos () const > +aix_solib_ops::current_sos () > { > std::optional> &library_list > = solib_aix_get_library_list (current_inferior (), NULL); > @@ -498,7 +498,7 @@ aix_solib_ops::current_sos () const > } > > gdb_bfd_ref_ptr > -aix_solib_ops::bfd_open (const char *pathname) const > +aix_solib_ops::bfd_open (const char *pathname) > { > /* The pathname is actually a synthetic filename with the following > form: "/path/to/sharedlib(member.o)" (double-quotes excluded). > diff --git a/gdb/solib-darwin.c b/gdb/solib-darwin.c > index 6e2535ca427f..07cd88d0e0c6 100644 > --- a/gdb/solib-darwin.c > +++ b/gdb/solib-darwin.c > @@ -42,9 +42,9 @@ struct darwin_solib_ops : public solib_ops > > void relocate_section_addresses (solib &so, target_section *) const override; > void clear_solib (program_space *pspace) const override; > - void create_inferior_hook (int from_tty) const override; > - owning_intrusive_list current_sos () const override; > - gdb_bfd_ref_ptr bfd_open (const char *pathname) const override; > + void create_inferior_hook (int from_tty) override; > + owning_intrusive_list current_sos () override; > + gdb_bfd_ref_ptr bfd_open (const char *pathname) override; > }; > > /* See solib-darwin.h. */ > @@ -211,7 +211,7 @@ find_program_interpreter (void) > } > > owning_intrusive_list > -darwin_solib_ops::current_sos () const > +darwin_solib_ops::current_sos () > { > type *ptr_type > = builtin_type (current_inferior ()->arch ())->builtin_data_ptr; > @@ -471,7 +471,7 @@ darwin_solib_read_all_image_info_addr (struct darwin_info *info) > } > > void > -darwin_solib_ops::create_inferior_hook (int from_tty) const > +darwin_solib_ops::create_inferior_hook (int from_tty) > { > /* Everything below only makes sense if we have a running inferior. */ > if (!target_has_execution ()) > @@ -606,7 +606,7 @@ darwin_solib_ops::relocate_section_addresses (solib &so, > } > > gdb_bfd_ref_ptr > -darwin_solib_ops::bfd_open (const char *pathname) const > +darwin_solib_ops::bfd_open (const char *pathname) > { > int found_file; > > diff --git a/gdb/solib-dsbt.c b/gdb/solib-dsbt.c > index 052b170fd9a6..22b9a581546a 100644 > --- a/gdb/solib-dsbt.c > +++ b/gdb/solib-dsbt.c > @@ -128,8 +128,8 @@ struct dsbt_solib_ops : public solib_ops > > void relocate_section_addresses (solib &so, target_section *) const override; > void clear_solib (program_space *pspace) const override; > - void create_inferior_hook (int from_tty) const override; > - owning_intrusive_list current_sos () const override; > + void create_inferior_hook (int from_tty) override; > + owning_intrusive_list current_sos () override; > bool in_dynsym_resolve_code (CORE_ADDR pc) const override; > }; > > @@ -526,7 +526,7 @@ lm_base (void) > we provide values for. */ > > owning_intrusive_list > -dsbt_solib_ops::current_sos () const > +dsbt_solib_ops::current_sos () > { > bfd_endian byte_order = gdbarch_byte_order (current_inferior ()->arch ()); > CORE_ADDR lm_addr; > @@ -860,7 +860,7 @@ dsbt_relocate_main_executable (void) > The shared library breakpoints also need to be enabled. */ > > void > -dsbt_solib_ops::create_inferior_hook (int from_tty) const > +dsbt_solib_ops::create_inferior_hook (int from_tty) > { > /* Relocate main executable. */ > dsbt_relocate_main_executable (); > diff --git a/gdb/solib-frv.c b/gdb/solib-frv.c > index 4f0aac31e733..cff3c3ca0193 100644 > --- a/gdb/solib-frv.c > +++ b/gdb/solib-frv.c > @@ -36,8 +36,8 @@ struct frv_solib_ops : public solib_ops > > void relocate_section_addresses (solib &so, target_section *) const override; > void clear_solib (program_space *pspace) const override; > - void create_inferior_hook (int from_tty) const override; > - owning_intrusive_list current_sos () const override; > + void create_inferior_hook (int from_tty) override; > + owning_intrusive_list current_sos () override; > bool in_dynsym_resolve_code (CORE_ADDR pc) const override; > }; > > @@ -321,7 +321,7 @@ lm_base (void) > } > > owning_intrusive_list > -frv_solib_ops::current_sos () const > +frv_solib_ops::current_sos () > { > bfd_endian byte_order = gdbarch_byte_order (current_inferior ()->arch ()); > CORE_ADDR lm_addr, mgot; > @@ -789,7 +789,7 @@ frv_relocate_main_executable (void) > enabled. */ > > void > -frv_solib_ops::create_inferior_hook (int from_tty) const > +frv_solib_ops::create_inferior_hook (int from_tty) > { > /* Relocate main executable. */ > frv_relocate_main_executable (); > diff --git a/gdb/solib-rocm.c b/gdb/solib-rocm.c > index 60e64c494f88..4032ada28a0f 100644 > --- a/gdb/solib-rocm.c > +++ b/gdb/solib-rocm.c > @@ -215,11 +215,11 @@ struct rocm_solib_ops : public solib_ops > { return std::move (m_host_ops); } > > /* The methods implemented by rocm_solib_ops. */ > - owning_intrusive_list current_sos () const override; > - void create_inferior_hook (int from_tty) const override; > - gdb_bfd_ref_ptr bfd_open (const char *pathname) const override; > + owning_intrusive_list current_sos () override; > + void create_inferior_hook (int from_tty) override; > + gdb_bfd_ref_ptr bfd_open (const char *pathname) override; > void relocate_section_addresses (solib &so, target_section *) const override; > - void handle_event () const override; > + void handle_event () override; > > /* Implement the following methods just to forward the calls to the host > solib_ops. We currently need to implement all the methods that > @@ -270,7 +270,7 @@ struct rocm_solib_ops : public solib_ops > > private: > owning_intrusive_list > - solibs_from_rocm_sos (const std::vector &sos) const; > + solibs_from_rocm_sos (const std::vector &sos); > > solib_ops_up m_host_ops; > }; > @@ -303,7 +303,7 @@ rocm_solib_ops::relocate_section_addresses (solib &so, > static void rocm_update_solib_list (); > > void > -rocm_solib_ops::handle_event () const > +rocm_solib_ops::handle_event () > { > /* Since we sit on top of a host solib_ops, we might get called following an > event concerning host libraries. We must therefore forward the call. If > @@ -319,7 +319,7 @@ rocm_solib_ops::handle_event () const > /* Create solib objects from rocm_so objects in SOS. */ > > owning_intrusive_list > -rocm_solib_ops::solibs_from_rocm_sos (const std::vector &sos) const > +rocm_solib_ops::solibs_from_rocm_sos (const std::vector &sos) > { > owning_intrusive_list dst; > > @@ -334,7 +334,7 @@ rocm_solib_ops::solibs_from_rocm_sos (const std::vector &sos) const > objects currently loaded in the inferior. */ > > owning_intrusive_list > -rocm_solib_ops::current_sos () const > +rocm_solib_ops::current_sos () > { > /* First, retrieve the host-side shared library list. */ > owning_intrusive_list sos = m_host_ops->current_sos (); > @@ -692,7 +692,7 @@ rocm_bfd_iovec_open (bfd *abfd, inferior *inferior) > } > > gdb_bfd_ref_ptr > -rocm_solib_ops::bfd_open (const char *pathname) const > +rocm_solib_ops::bfd_open (const char *pathname) > { > /* Handle regular files with SVR4 open. */ > if (strstr (pathname, "://") == nullptr) > @@ -780,7 +780,7 @@ rocm_solib_ops::bfd_open (const char *pathname) const > } > > void > -rocm_solib_ops::create_inferior_hook (int from_tty) const > +rocm_solib_ops::create_inferior_hook (int from_tty) > { > get_solib_info (current_inferior ())->solib_list.clear (); > > diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c > index 8e3de4d3ea1a..35c81000b10a 100644 > --- a/gdb/solib-svr4.c > +++ b/gdb/solib-svr4.c > @@ -1059,7 +1059,7 @@ svr4_solib_ops::clear_so (const solib &so) const > /* Create the solib objects equivalent to the svr4_sos in SOS. */ > > owning_intrusive_list > -svr4_solib_ops::solibs_from_svr4_sos (const std::vector &sos) const > +svr4_solib_ops::solibs_from_svr4_sos (const std::vector &sos) > { > owning_intrusive_list dst; > > @@ -1253,7 +1253,7 @@ svr4_current_sos_via_xfer_libraries (struct svr4_library_list *list, > linker, build a fallback list from other sources. */ > > owning_intrusive_list > -svr4_solib_ops::default_sos (svr4_info *info) const > +svr4_solib_ops::default_sos (svr4_info *info) > { > if (!info->debug_loader_offset_p) > return {}; > @@ -1452,7 +1452,7 @@ svr4_solib_ops::current_sos_direct (svr4_info *info) const > /* Collect sos read and stored by the probes interface. */ > > owning_intrusive_list > -svr4_solib_ops::collect_probes_sos (svr4_info *info) const > +svr4_solib_ops::collect_probes_sos (svr4_info *info) > { > owning_intrusive_list res; > > @@ -1469,7 +1469,7 @@ svr4_solib_ops::collect_probes_sos (svr4_info *info) const > method. */ > > owning_intrusive_list > -svr4_solib_ops::current_sos_1 (svr4_info *info) const > +svr4_solib_ops::current_sos_1 (svr4_info *info) > { > owning_intrusive_list sos; > > @@ -1496,7 +1496,7 @@ svr4_solib_ops::current_sos_1 (svr4_info *info) const > /* Implement the "current_sos" solib_ops method. */ > > owning_intrusive_list > -svr4_solib_ops::current_sos () const > +svr4_solib_ops::current_sos () > { > svr4_info *info = get_svr4_info (current_program_space); > > @@ -2143,7 +2143,7 @@ svr4_solib_ops::disable_probes_interface (svr4_info *info) const > standard interface. */ > > void > -svr4_solib_ops::handle_event () const > +svr4_solib_ops::handle_event () > { > struct svr4_info *info = get_svr4_info (current_program_space); > struct probe_and_action *pa; > @@ -3318,7 +3318,7 @@ svr4_relocate_main_executable (void) > their symbols to be read at a later time. */ > > void > -svr4_solib_ops::create_inferior_hook (int from_tty) const > +svr4_solib_ops::create_inferior_hook (int from_tty) > { > struct svr4_info *info; > > diff --git a/gdb/solib-svr4.h b/gdb/solib-svr4.h > index 3078a092778c..d7f58a76224d 100644 > --- a/gdb/solib-svr4.h > +++ b/gdb/solib-svr4.h > @@ -99,14 +99,14 @@ struct svr4_solib_ops : public solib_ops > void relocate_section_addresses (solib &so, target_section *) const override; > void clear_so (const solib &so) const override; > void clear_solib (program_space *pspace) const override; > - void create_inferior_hook (int from_tty) const override; > - owning_intrusive_list current_sos () const override; > + void create_inferior_hook (int from_tty) override; > + owning_intrusive_list current_sos () override; > bool open_symbol_file_object (int from_tty) const override; > bool in_dynsym_resolve_code (CORE_ADDR pc) const override; > bool same (const solib &gdb, const solib &inferior) const override; > bool keep_data_in_core (CORE_ADDR vaddr, unsigned long size) const override; > void update_breakpoints () const override; > - void handle_event () const override; > + void handle_event () override; > std::optional find_solib_addr (solib &so) const override; > bool supports_namespaces () const override { return true; } > int find_solib_ns (const solib &so) const override; > @@ -135,7 +135,7 @@ struct svr4_solib_ops : public solib_ops > void free_probes_table (svr4_info *info) const; > CORE_ADDR find_r_brk (svr4_info *info) const; > CORE_ADDR find_r_ldsomap (svr4_info *info) const; > - owning_intrusive_list default_sos (svr4_info *info) const; > + owning_intrusive_list default_sos (svr4_info *info); > int read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, > CORE_ADDR debug_base, std::vector &sos, > int ignore_first) const; > @@ -144,10 +144,10 @@ struct svr4_solib_ops : public solib_ops > CORE_ADDR lm_addr_check (const solib &so, bfd *abfd) const; > CORE_ADDR read_r_next (CORE_ADDR debug_base) const; > CORE_ADDR read_r_map (CORE_ADDR debug_base) const; > - owning_intrusive_list collect_probes_sos (svr4_info *info) const; > - owning_intrusive_list current_sos_1 (svr4_info *info) const; > + owning_intrusive_list collect_probes_sos (svr4_info *info); > + owning_intrusive_list current_sos_1 (svr4_info *info); > owning_intrusive_list solibs_from_svr4_sos > - (const std::vector &sos) const; > + (const std::vector &sos); > void disable_probes_interface (svr4_info *info) const; > void update_full (svr4_info *info) const; > int update_incremental (svr4_info *info, CORE_ADDR debug_base, > diff --git a/gdb/solib-target.c b/gdb/solib-target.c > index ac965df20e94..0df8c6048aef 100644 > --- a/gdb/solib-target.c > +++ b/gdb/solib-target.c > @@ -232,7 +232,7 @@ solib_target_parse_libraries (const char *library) > #endif > > owning_intrusive_list > -target_solib_ops::current_sos () const > +target_solib_ops::current_sos () > { > owning_intrusive_list sos; > > diff --git a/gdb/solib-target.h b/gdb/solib-target.h > index 0d2f0840aa63..abfa0b513742 100644 > --- a/gdb/solib-target.h > +++ b/gdb/solib-target.h > @@ -29,7 +29,7 @@ struct target_solib_ops : solib_ops > using solib_ops::solib_ops; > > void relocate_section_addresses (solib &so, target_section *) const override; > - owning_intrusive_list current_sos () const override; > + owning_intrusive_list current_sos () override; > bool in_dynsym_resolve_code (CORE_ADDR pc) const override; > }; > > diff --git a/gdb/solib.c b/gdb/solib.c > index d92d0dd9a3dd..ae41572b2b58 100644 > --- a/gdb/solib.c > +++ b/gdb/solib.c > @@ -438,7 +438,7 @@ solib_bfd_open (const char *pathname) > } > > gdb_bfd_ref_ptr > -solib_ops::bfd_open (const char *pathname) const > +solib_ops::bfd_open (const char *pathname) > { > return solib_bfd_open (pathname); > } > @@ -689,7 +689,7 @@ notify_solib_unloaded (program_space *pspace, const solib &so, > void > update_solib_list (int from_tty) > { > - const solib_ops *ops = current_program_space->solib_ops (); > + solib_ops *ops = current_program_space->solib_ops (); > > if (ops == nullptr) > return; > @@ -1289,7 +1289,7 @@ clear_solib (program_space *pspace) > void > solib_create_inferior_hook (int from_tty) > { > - if (const solib_ops *ops = current_program_space->solib_ops (); > + if (solib_ops *ops = current_program_space->solib_ops (); > ops != nullptr) > ops->create_inferior_hook (from_tty); > } > @@ -1354,7 +1354,7 @@ update_solib_breakpoints (void) > void > handle_solib_event (void) > { > - if (const solib_ops *ops = current_program_space->solib_ops (); > + if (solib_ops *ops = current_program_space->solib_ops (); > ops != nullptr) > ops->handle_event (); > > diff --git a/gdb/solib.h b/gdb/solib.h > index 9e6c3f7346ee..5b5049f53435 100644 > --- a/gdb/solib.h > +++ b/gdb/solib.h > @@ -62,7 +62,7 @@ struct solib : intrusive_list_node > > OPS is the solib_ops implementation providing this solib. */ > explicit solib (lm_info_up lm_info, std::string original_name, > - std::string name, const solib_ops &ops) > + std::string name, solib_ops &ops) > : lm_info (std::move (lm_info)), > original_name (std::move (original_name)), > name (std::move (name)), > @@ -70,7 +70,7 @@ struct solib : intrusive_list_node > {} > > /* Return the solib_ops implementation providing this solib. */ > - const solib_ops &ops () const > + solib_ops &ops () const > { return *m_ops; } > > /* Free symbol-file related contents of SO and reset for possible reloading > @@ -131,7 +131,7 @@ struct solib : intrusive_list_node > > private: > /* The solib_ops responsible for this solib. */ > - const solib_ops *m_ops; > + solib_ops *m_ops; > }; > > /* A unique pointer to an solib. */ > @@ -173,7 +173,7 @@ struct solib_ops > /* Target dependent code to run after child process fork. > > Defaults to no-op. */ > - virtual void create_inferior_hook (int from_tty) const {}; > + virtual void create_inferior_hook (int from_tty) {}; > > /* Construct a list of the currently loaded shared objects. This > list does not include an entry for the main executable file. > @@ -182,7 +182,7 @@ struct solib_ops > inferior --- we don't examine any of the shared library files > themselves. The declaration of `struct solib' says which fields > we provide values for. */ > - virtual owning_intrusive_list current_sos () const = 0; > + virtual owning_intrusive_list current_sos () = 0; > > /* Find, open, and read the symbols for the main executable. If > FROM_TTY is non-zero, allow messages to be printed. > @@ -198,7 +198,7 @@ struct solib_ops > { return false; }; > > /* Find and open shared library binary file. */ > - virtual gdb_bfd_ref_ptr bfd_open (const char *pathname) const; > + virtual gdb_bfd_ref_ptr bfd_open (const char *pathname); > > /* Given two solib objects, GDB from the GDB thread list and INFERIOR from the > list returned by current_sos, return true if they represent the same library. > @@ -226,7 +226,7 @@ struct solib_ops > solib_add is called. > > Defaults to no-op. */ > - virtual void handle_event () const {}; > + virtual void handle_event () {}; > > /* Return an address within the inferior's address space which is known > to be part of SO. If there is no such address, or GDB doesn't know > diff --git a/gdb/windows-tdep.c b/gdb/windows-tdep.c > index 78bf49b9c81f..261c38b35635 100644 > --- a/gdb/windows-tdep.c > +++ b/gdb/windows-tdep.c > @@ -828,7 +828,7 @@ struct windows_solib_ops : target_solib_ops > { > using target_solib_ops::target_solib_ops; > > - void create_inferior_hook (int from_tty) const override; > + void create_inferior_hook (int from_tty) override; > void iterate_over_objfiles_in_search_order > (iterate_over_objfiles_in_search_order_cb_ftype cb, > objfile *current_objfile) const override; > @@ -845,7 +845,7 @@ make_windows_solib_ops (program_space *pspace) > /* Implement the "solib_create_inferior_hook" solib_ops method. */ > > void > -windows_solib_ops::create_inferior_hook (int from_tty) const > +windows_solib_ops::create_inferior_hook (int from_tty) > { > CORE_ADDR exec_base = 0; > > -- > 2.54.0