From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2085.outbound.protection.outlook.com [40.107.92.85]) by sourceware.org (Postfix) with ESMTPS id 4624C3858D35 for ; Thu, 19 Oct 2023 11:08:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4624C3858D35 Authentication-Results: sourceware.org; dmarc=fail (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 4624C3858D35 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.92.85 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1697713686; cv=pass; b=PbzouNldhQeTHVZD0q/zST4UmFgOqbPGmyYbchhVPcOGsO1l0ByIQNiYRFcDD18fa5BbT4cBbzOfx3ZBMlWpiRJRMw7KxtvXRU976rU1NhsoWGKwiefSL5N2Wrzjak6ZuoHPyHojXkOeyqoEFt5GP3Y+OQz4RL47L6LTQOPBIP0= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1697713686; c=relaxed/simple; bh=7jb+lzqbH1bccyes0MFQo6/0ksIYeiO6zHTwBM2J1/U=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=TB83EbmCgEwMXce1ErKuC4TIG99CsfVErQ03wwVHXYztTtdtAvSpIPsO7NqzBzHd001MNDvrrgQlPWabsNJcRIc5swsMX6KHdVLdv57xMU/aR6IhTPatJfpcHZO58lPvwLKNpFkNpKzCMpXzYrLEAFZ7+jp494oUJ+oM17ESzLU= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vy+0/hAncP+P8071JCYkYggWQYFQ1ozT3QKb/UQV4hUuOhCrMuZQC7DKnhmG6vhKXG1JNXZWMDhuCjcfORHlcFFO8YUIjZbOW0KU7+alE/J9c6DA0lsFgDko/PMIkhZJ2ezHlhm57OQ9JmbzMwHsRXcX+u/bBTDDAndHLjL28OiT3bNI1FZgBeHkXYAek78aISGPo2CWvmwQ3dseLevSztt9PsnPlZV2lrw+ji4bSECKbB/d/AKVEFM7lLJUJqibJg1aboB5wsVf2UrPvYLW9J7qTEsZ8MdgedNSvCOeGku6wlnRmQ+aTfYlawvVlgjKbP0YLpginrlO4r/+mKOMqA== 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=wKqYotsC0Scl/D33tIyBF/FoZtpDVRQPjZPRKF8lkME=; b=jz7hrvIQ66fey1PPYU8mJC45xYGW2yyOa4J+jvSHd2tIacj3PzJxUNk2OYAKjGvZhcyJmg3795zR32LH9bPasOn5A+mNohb8AQgBhuxW2vwvl0zv/h/vBoXkM/njHUxavKWf4Zpho5SIF8NzmUnKJNCuolTJl00WT6cNcbK2Ong69apPLJHRb0ruFWerg4q4fEA8VTBJZDEN6CSaVTWiPaRIAwUJzBkiexO4qh+JOWfa/5NEIQi1JGICEDxjgDATWU58xe1Sn8FfS2HM39aL+53IY5Xp7rLk+MSjGe0GhfMbLNJXpNbGRXNUgc107hsS2F6885WpAkVZ3dk7NN8KUg== 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 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=wKqYotsC0Scl/D33tIyBF/FoZtpDVRQPjZPRKF8lkME=; b=wrLbvpqnGdV3Vvybxp7tRgkbjXNmKbEvfCIDeg6s8aKTeeGW6NrOrNpvL4Qxz9AGAPy0JBFSGIY4AHHirQpVgRuisq9v213tE6q8PTzcjpB8dQtUvV7+J8IxTvIDOeU8nrAmRQ9U0Ve1n6NL+QHifWDCabTJSuj4zRn/5gc0XX0= Received: from DS7PR05CA0044.namprd05.prod.outlook.com (2603:10b6:8:2f::10) by PH8PR12MB6747.namprd12.prod.outlook.com (2603:10b6:510:1c3::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.40; Thu, 19 Oct 2023 11:08:01 +0000 Received: from DS2PEPF00003442.namprd04.prod.outlook.com (2603:10b6:8:2f:cafe::cd) by DS7PR05CA0044.outlook.office365.com (2603:10b6:8:2f::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.21 via Frontend Transport; Thu, 19 Oct 2023 11:08:01 +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=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DS2PEPF00003442.mail.protection.outlook.com (10.167.17.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6907.21 via Frontend Transport; Thu, 19 Oct 2023 11:08:01 +0000 Received: from khazad-dum (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 19 Oct 2023 06:07:57 -0500 Date: Thu, 19 Oct 2023 12:07:50 +0100 From: Lancelot SIX To: Simon Marchi CC: , Simon Marchi Subject: Re: [PATCH 4/24] gdb: replace some so_list parameters to use references Message-ID: <20231019110750.34bk5fflxalsb4tw@khazad-dum> References: <20231010204213.111285-1-simon.marchi@efficios.com> <20231010204213.111285-5-simon.marchi@efficios.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="fxzfywifthshccae" Content-Disposition: inline In-Reply-To: <20231010204213.111285-5-simon.marchi@efficios.com> X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS2PEPF00003442:EE_|PH8PR12MB6747:EE_ X-MS-Office365-Filtering-Correlation-Id: 184e4ad8-ca5e-4bdd-9391-08dbd093a8b5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VH/ENrFhbAfTNCanoHlUzQozG/aA7of77cWRqqx2PpBttSf07n3wIZQJ45c19lOMtC+vzXxNcGdr3kUTsg/17tR7Q7vDZayEfZlwb7V2mN7ossSsRuZEkDtUCFhThNy27WFtCyeO+csUw86cxs1DELJcltYzSt00wTqJUCrLzh+ftmJXGeB5hOrqtbdtWs3e7hzP+RMF0tyewAsc3CoIzzsk6j9ZpUJ5p+8fk+KdpRh5/7PAWtXh2634bb3LCxTUg4OchiCcu3Tjunv9QEgH/KrKexoSOT91s0A1cwdVLdGnc0xEc3e/iHy1q9UQssRC3uusMvI1ZSsUvap/Q9LlXSeOwyFdW3Lo3fbvxXCgz2oXdVSh+MBjqr9ottsY4Saf4r5/1M3ERdHpZM9JdBvz8V0oJYCUtNmGWk+hTlolAl+wNethYR26J/CbT8vJHvMOX17604iY2CstJc4VnmwYn3p/XAWffhrpp6jFZmIxmJDrJP3FuBwwNE5NEcTINJOLkV1a2RSHdivwjaYOp0dzTVmbk4SYvf+FQL7JXI3txsV+tnL/e0gv1LgUlbpewM8aYV42W37K6PX3AKBfAVSTBtOjWFdy1dqNmpMWmiHcnN/i4YfzgA4bHfS2QNE6hSHcGIr2UNwt3X2YzqWGMufSI99fN45DATNwbkcEkGUA24gb3UXZHsAos2RaLmE5OqRfewFnE5jnV+A2c2Sizr4xxXoQKqaTWoKqCOun5qUi/Yw8EVWE9iSR/chBUWuvD+Dq4/R0fNBDZAfHOuPt7XVSrijLV6MKXKeKhoTQdkIwqpU= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(376002)(39860400002)(346002)(136003)(396003)(230922051799003)(186009)(1800799009)(82310400011)(451199024)(64100799003)(40470700004)(46966006)(36840700001)(40460700003)(2906002)(47076005)(9686003)(44144004)(6666004)(33716001)(1076003)(70586007)(316002)(41300700001)(54906003)(478600001)(70206006)(86362001)(426003)(81166007)(83380400001)(26005)(36860700001)(356005)(82740400003)(16526019)(336012)(8676002)(235185007)(40480700001)(55016003)(5660300002)(8936002)(4326008)(6916009)(2700100001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2023 11:08:01.1674 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 184e4ad8-ca5e-4bdd-9391-08dbd093a8b5 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS2PEPF00003442.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6747 X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP 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: --fxzfywifthshccae Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline Hi Simon, Some minor remarks below. On Tue, Oct 10, 2023 at 04:39:59PM -0400, Simon Marchi wrote: > From: Simon Marchi > > A subsequent patch changes so_list to be linked using > intrusive_list. Iterating an intrusive_list yields some references to > the list elements. Convert some functions accepting so_list objects to > take references, to make things easier and more natural. Add const > where possible and convenient. > > Change-Id: Id5ab5339c3eb6432e809ad14782952d6a45806f3 > --- > gdb/breakpoint.c | 5 +- > gdb/bsd-uthread.c | 12 ++--- > gdb/exec.c | 4 +- > gdb/interps.c | 4 +- > gdb/interps.h | 8 +-- > gdb/mi/mi-cmd-file.c | 2 +- > gdb/mi/mi-interp.c | 26 ++++----- > gdb/mi/mi-interp.h | 6 +-- > gdb/nto-tdep.c | 6 +-- > gdb/nto-tdep.h | 3 +- > gdb/observable.h | 5 +- > gdb/progspace.h | 4 +- > gdb/solib-aix.c | 11 ++-- > gdb/solib-darwin.c | 23 ++++---- > gdb/solib-dsbt.c | 9 ++-- > gdb/solib-frv.c | 9 ++-- > gdb/solib-rocm.c | 8 +-- > gdb/solib-svr4.c | 35 ++++++------ > gdb/solib-target.c | 49 +++++++++-------- > gdb/solib.c | 126 +++++++++++++++++++++---------------------- > gdb/solib.h | 4 +- > gdb/solist.h | 13 +++-- > gdb/target-section.h | 2 +- > 23 files changed, 183 insertions(+), 191 deletions(-) > > diff --git a/gdb/mi/mi-interp.h b/gdb/mi/mi-interp.h > index f9af61f0a571..781a8dc6f466 100644 > --- a/gdb/mi/mi-interp.h > +++ b/gdb/mi/mi-interp.h > @@ -60,8 +60,8 @@ class mi_interp final : public interp > void on_record_changed (inferior *inf, int started, const char *method, > const char *format) override; > void on_target_resumed (ptid_t ptid) override; > - void on_solib_loaded (so_list *so) override; > - void on_solib_unloaded (so_list *so) override; > + void on_solib_loaded (const so_list &so) override; > + void on_solib_unloaded (const so_list &so) override; It is orthogonal to this change, but it would make sense for those methods to be const as well. Doing this requires interp::interp_ui_out to be const as well (as done in attached patch). > void on_about_to_proceed () override; > void on_traceframe_changed (int tfnum, int tpnum) override; > void on_tsv_created (const trace_state_variable *tsv) override; > diff --git a/gdb/observable.h b/gdb/observable.h > index acb05e9b535c..5ed6ca547ce0 100644 > --- a/gdb/observable.h > +++ b/gdb/observable.h > @@ -99,13 +99,12 @@ extern observable /* The shared library specified by SOLIB has been loaded. Note that > when gdb calls this observer, the library's symbols probably > haven't been loaded yet. */ > -extern observable solib_loaded; > +extern observable solib_loaded; I am wondering, is there a reason to make the solib parameter const for solib_unloaded but not for solib_loaded? Changing it to const seems to still compile just fine. If down the line an observer needs to modify the SO, the observer's signature can be adjusted. > > /* The shared library SOLIB has been unloaded from program space PSPACE. > Note when gdb calls this observer, the library's symbols have not > been unloaded yet, and thus are still available. */ > -extern observable > - solib_unloaded; > +extern observable solib_unloaded; > > /* The symbol file specified by OBJFILE has been loaded. */ > extern observable new_objfile; --fxzfywifthshccae Content-Type: text/x-diff; charset="us-ascii" Content-Disposition: attachment; filename="0001-gdb-interp-Make-interp-interp_ui_out-const.patch" >From 4e9158ca45ffc4e15c8c57a0df9f99ab49a35c0e Mon Sep 17 00:00:00 2001 From: Lancelot SIX Date: Thu, 19 Oct 2023 09:29:39 +0100 Subject: [PATCH] gdb/interp: Make interp::interp_ui_out const The interp::interp_ui_out can be declared const. Make this change as it will be used in a following patch. Change-Id: I11844d36f44d369400049f916db94aca9f43be51 --- gdb/cli/cli-interp.c | 4 ++-- gdb/interps.h | 2 +- gdb/mi/mi-interp.c | 2 +- gdb/mi/mi-interp.h | 2 +- gdb/python/py-dap.c | 2 +- gdb/tui/tui-interp.c | 4 ++-- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gdb/cli/cli-interp.c b/gdb/cli/cli-interp.c index 829948b4993..21c78fd98a9 100644 --- a/gdb/cli/cli-interp.c +++ b/gdb/cli/cli-interp.c @@ -50,7 +50,7 @@ class cli_interp final : public cli_interp_base void resume () override; void suspend () override; void exec (const char *command_str) override; - ui_out *interp_ui_out () override; + ui_out *interp_ui_out () const override; private: @@ -255,7 +255,7 @@ cli_interp_base::supports_command_editing () } ui_out * -cli_interp::interp_ui_out () +cli_interp::interp_ui_out () const { return m_cli_uiout.get (); } diff --git a/gdb/interps.h b/gdb/interps.h index 287df2c8c81..a3cbf32aa12 100644 --- a/gdb/interps.h +++ b/gdb/interps.h @@ -65,7 +65,7 @@ class interp : public intrusive_list_node interpreter. It can be a formatter for stdout, as is the case for the console & mi outputs, or it might be a result formatter. */ - virtual ui_out *interp_ui_out () = 0; + virtual ui_out *interp_ui_out () const = 0; /* Provides a hook for interpreters to do any additional setup/cleanup that they might need when logging is enabled or diff --git a/gdb/mi/mi-interp.c b/gdb/mi/mi-interp.c index 0d3c8235c2c..70075eed16b 100644 --- a/gdb/mi/mi-interp.c +++ b/gdb/mi/mi-interp.c @@ -875,7 +875,7 @@ mi_interp::on_user_selected_context_changed (user_selected_what selection) } ui_out * -mi_interp::interp_ui_out () +mi_interp::interp_ui_out () const { return this->mi_uiout; } diff --git a/gdb/mi/mi-interp.h b/gdb/mi/mi-interp.h index f9af61f0a57..ff3c439f1e3 100644 --- a/gdb/mi/mi-interp.h +++ b/gdb/mi/mi-interp.h @@ -37,7 +37,7 @@ class mi_interp final : public interp void resume () override; void suspend () override; void exec (const char *command_str) override; - ui_out *interp_ui_out () override; + ui_out *interp_ui_out () const override; void set_logging (ui_file_up logfile, bool logging_redirect, bool debug_redirect) override; void pre_command_loop () override; diff --git a/gdb/python/py-dap.c b/gdb/python/py-dap.c index 3444eccb6fb..7a78e54571f 100644 --- a/gdb/python/py-dap.c +++ b/gdb/python/py-dap.c @@ -56,7 +56,7 @@ class dap_interp final : public interp /* Just ignore it. */ } - ui_out *interp_ui_out () override + ui_out *interp_ui_out () const override { return m_ui_out.get (); } diff --git a/gdb/tui/tui-interp.c b/gdb/tui/tui-interp.c index 299cc4caea0..a88162c08e1 100644 --- a/gdb/tui/tui-interp.c +++ b/gdb/tui/tui-interp.c @@ -50,7 +50,7 @@ class tui_interp final : public cli_interp_base void resume () override; void suspend () override; void exec (const char *command_str) override; - ui_out *interp_ui_out () override; + ui_out *interp_ui_out () const override; }; /* Cleanup the tui before exiting. */ @@ -141,7 +141,7 @@ tui_interp::suspend () } ui_out * -tui_interp::interp_ui_out () +tui_interp::interp_ui_out () const { if (tui_active) return tui_out; -- 2.34.1 --fxzfywifthshccae--