From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id bINpFaUJcmrYhQYAWB0awg (envelope-from ) for ; Tue, 04 Aug 2026 11:47:49 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=polymtl.ca header.i=@polymtl.ca header.a=rsa-sha256 header.s=oct2025 header.b=IFQLLFOi; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 47A5E1E09E; Tue, 04 Aug 2026 11:47:49 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.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 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 CFE9A1E099 for ; Tue, 04 Aug 2026 11:47:48 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8EDBA4BB3BA9 for ; Tue, 4 Aug 2026 15:47:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8EDBA4BB3BA9 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=polymtl.ca header.i=@polymtl.ca header.a=rsa-sha256 header.s=oct2025 header.b=IFQLLFOi Received: from smtp.polymtl.ca (smtp.polymtl.ca [132.207.4.11]) by sourceware.org (Postfix) with ESMTPS id 0788B4BB24F3 for ; Tue, 4 Aug 2026 15:47:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0788B4BB24F3 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=polymtl.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=polymtl.ca ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 0788B4BB24F3 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=132.207.4.11 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1785858445; cv=none; b=cH+WLLa1FBKKlLZHFw30vx/DUEJx4FeIDrkxLW1WFMPo+TcOn7vMBEa97cY1ZsuRyYwq2Zs2+HjTXYHYY1mO3+e3rfy4ACxO4SqSiwKf+t2OGSTC5BZFCewd3abxSXF85FQd5Io/MiJeeFKFinXUWfLplg4gQlXFPQL+w7k/ITw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1785858445; c=relaxed/simple; bh=I3xm+aLVkGUFrVeSgjhQl5sCX6co9EfNmu34sphuTpQ=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=TXQYkJpjmWnZY6X0lYQAoTQw0TJMW51aEWqwYX2GyzHGGws+seyRbhWa2Dmzqtk+3jvH/Lvi0RXEHrgjskjLoCJEmoirmLet34VyWLFjWyfh2sH1DgyNUJbDZVwwkyP/iY9pHBsmQY7BDfWf6YY960AhomNHu5aF8kE3+6hp2us= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=polymtl.ca header.i=@polymtl.ca header.a=rsa-sha256 header.s=oct2025 header.b=IFQLLFOi DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0788B4BB24F3 Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id 674FlHj4208787 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 4 Aug 2026 11:47:22 -0400 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.polymtl.ca 674FlHj4208787 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=polymtl.ca; s=oct2025; t=1785858442; bh=bTIiDRD0CSw/aaDtSvUE6Su9cGcqfI2ZCHwWYf5++dk=; h=Date:Subject:To:Cc:From:In-Reply-To:From; b=IFQLLFOiKpF8UpA8YJmkyQn1H2NAxZPk90tHggTBTJUoXpX7tXBIRRGRQ7v4R/eCe 5rK3xulKBrQcaUR9xQTszqwpbW5Jaw9LDHiI/Nmx7Izzlylbnrx/UsXOi/e28h38zV 8U0HlMKfTQQ85b/woBY+NKpL1fhzMh0mjSG29y/4KGC/5VXVSLb0a0i802roNTGzK4 yfbPh3IO1psCk0nhvIEvldmIjsCZ5qDpTqJr+qQABdKIbdBRC/uUxeWoAZx/jgyDyG ueDQY0VHyOipfqdMMrQ+io1QOOihfQi4pgizQnQKhb/M0G0CKZXg9PEVwPrMKbzROe kRuQ0gqa0MbNQ== Received: by simark.ca (Postfix) id 3F5D31E099; Tue, 04 Aug 2026 11:47:17 -0400 (EDT) Message-ID: Date: Tue, 4 Aug 2026 11:47:16 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 08/10] gdb: add objfile -> solib backlink To: Tom Tromey Cc: gdb-patches@sourceware.org, Lancelot SIX References: <20260708215145.93134-1-simon.marchi@polymtl.ca> <20260708215145.93134-9-simon.marchi@polymtl.ca> <87ldb4uu4b.fsf@tromey.com> Content-Language: fr From: Simon Marchi In-Reply-To: <87ldb4uu4b.fsf@tromey.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Poly-FromMTA: (simark.ca [158.69.221.121]) at Tue, 4 Aug 2026 15:47:17 +0000 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 7/21/26 1:31 PM, Tom Tromey wrote: >>>>>> "Simon" == simon marchi writes: > > Simon> + /* Return the list of struct solib associated to this objfile. */ > Simon> + std::vector &solibs () { return m_solibs; } > > It's kind of bad to expose this as a non-const vector, since it means > that unscrupulous code can just modify it. I could change it to `const std::vector &` or `gdb::array_view`. The latter sounds better, since callers don't need to know they are stored in a vector (we could also return an even more generic "range" type, but I guess that would require more boilerplate (unless we already have a class to accomplish this easily that I forgot about?). > Simon> + if (const auto &solibs = objfile->solibs (); > Simon> + !solibs.empty ()) > Simon> + return solibs.front (); > > I wonder if instead you would consider exposing something like this as a > method on objfile. Like a "first_solib ()" method? I certainly can do that. Simon