From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id /PttMVS30WeUYQ0AWB0awg (envelope-from ) for ; Wed, 12 Mar 2025 12:33:24 -0400 Authentication-Results: simark.ca; dkim=fail reason="signature verification failed" (768-bit key; unprotected) header.d=tromey.com header.i=@tromey.com header.a=rsa-sha256 header.s=default header.b=ZKpuRq/H; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id BB33A1E105; Wed, 12 Mar 2025 12:33:24 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.0 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (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 F3C2A1E08E for ; Wed, 12 Mar 2025 12:33:23 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8B30B3858023 for ; Wed, 12 Mar 2025 16:33:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8B30B3858023 Authentication-Results: sourceware.org; dkim=fail reason="signature verification failed" (768-bit key, unprotected) header.d=tromey.com header.i=@tromey.com header.a=rsa-sha256 header.s=default header.b=ZKpuRq/H Received: from omta38.uswest2.a.cloudfilter.net (omta38.uswest2.a.cloudfilter.net [35.89.44.37]) by sourceware.org (Postfix) with ESMTPS id DAEE63858D21 for ; Wed, 12 Mar 2025 16:32:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DAEE63858D21 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org DAEE63858D21 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=35.89.44.37 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1741797172; cv=none; b=dqWepWHc6BDeUIVHkg1rUXqiu0XwoHwakfaD1kXPBdW0kQA9epuL7V3PSdyVsUAd0iCT5y09yi50h8uNZduJey1roLUEDAi1+vuA1+TprV1scK8FVPPsyqhBkGYTEQb5oEGwXQJMYlen5DnTDyc1XSf60ca9gre7IB3Prn+z3rg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1741797172; c=relaxed/simple; bh=rf9wY4S7BeVhHs6C3sUoG3z3r/LQxhcSZYEOSLwg0Ow=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=toSOMG0QyNPsRmlGIJ6XzvDXcZGvFh1FcJMf6YM43vETNVngpqGVAj4qMN9dG+QVn89+V7BVCU8IRLUAQN/qx2/GCOCkIOZM8rJGg6lI7MQoGdCm21EQBQd8MXuvz9TKG8/or1xjI6HjjTJ3TtUqC88+5hPbWEYxIqgOW+GUVvk= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DAEE63858D21 Received: from eig-obgw-6009a.ext.cloudfilter.net ([10.0.30.184]) by cmsmtp with ESMTPS id sNVdtGYiVAfjwsP0ktc7bu; Wed, 12 Mar 2025 16:32:50 +0000 Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTPS id sP0jtCXCuRoGBsP0ktWVEN; Wed, 12 Mar 2025 16:32:50 +0000 X-Authority-Analysis: v=2.4 cv=C/bvyxP+ c=1 sm=1 tr=0 ts=67d1b732 a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=Vs1iUdzkB0EA:10 a=ItBw4LHWJt0A:10 a=pGLkceISAAAA:8 a=HwLFMXv_0UdtFeHMjRAA:9 a=6Ogn3jAGHLSNbaov7Orx:22 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:Date:References:In-Reply-To :Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=uwWdFOhZqgh+1RjPiLnb6i+CJg9D+RAUPV8iNjVge+E=; b=ZKpuRq/H9wh7dnCoXmw5lH8gNW ZUcAwHeRlMyvsUezFbb6UlvBz+LLCcq/RG4IkZSWc87khJ1gVHp1U557RtAjt8XGvcH8eT9cqHist d+kU5I0a8ZrqtsaRl4998z9RR; Received: from 97-118-51-80.hlrn.qwest.net ([97.118.51.80]:46726 helo=murgatroyd) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.1) (envelope-from ) id 1tsP0i-00000002XJz-3fWw; Wed, 12 Mar 2025 10:32:49 -0600 From: Tom Tromey To: dominikmascherbauer Cc: gdb-patches@sourceware.org, dominikmascherbauer Subject: Re: [PATCH 0/3] DWARF type signature lookup fallback. In-Reply-To: (dominikmascherbauer's message of "Tue, 11 Mar 2025 15:57:17 +0100") References: X-Attribution: Tom Date: Wed, 12 Mar 2025 10:32:45 -0600 Message-ID: <87ldtaqkeq.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 97.118.51.80 X-Source-L: No X-Exim-ID: 1tsP0i-00000002XJz-3fWw X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 97-118-51-80.hlrn.qwest.net (murgatroyd) [97.118.51.80]:46726 X-Source-Auth: tom+tromey.com X-Email-Count: 2 X-Org: HG=bhshared;ORG=bluehost; X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-CMAE-Envelope: MS4xfEFLnZ0VyaG24uyKEKjI/bESY8YAk1imXFErJzXepAnGSxoBvNqRYB8QugEhK4gk9UKsP6gz2u5a4sQpEgkv28uAY66cT7J1irCIPhVE1ryMCLf8Frsz TnOgFMXVUDefd0sjDY83gLb7g5s0vc9AupLvI+c1SgaEQt4V+7ekADdlSJ55e1Lm3zshUwAuhtG92M7Phe9x+Y7A85d6CHa9ri8= 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 >>>>> dominikmascherbauer writes: > I am working on a patch that adds parameters to allow type signature > fallback for DWARF type units to fallback to other objfiles. This > allows to only create type units once and reuse them by their type > signature, reducing duplication of type units. It builds on the > uniqueness of type signatures, so a type signature always references > the same type unit. I am not sure this can really work due to lifetime constraints. GDB has some rules about type ownership: 1. Arch-owned types must only refer to other arch-owned types 2. Objfile-owned types must only refer to other types coming from the same objfile, or to arch-owned types These rules exist so that if an objfile is removed, there will not be any dangling pointers. I think this series violates rule 2. There's a follow-on rule to this that isn't as frequently discussed, but a symbol in an objfile has to follow rule 2 as well: it can't refer to types from another objfile. And I think this series also violates this. I think you can see this in action for opaque types, where the lookup is done over and over, because caching the result would violate the rules. (This brings up the question of why you want this feature at all as opposed to just using opaque type resolution.) Anyway, this can't be easily remedied. One idea we have discussed in the past is to have a "type GC". What this would mean is removing type ownership -- just allocate all types globally. Then, have a garbage collector that removes type objects when things change, for instance after an objfile is destroyed. This is difficult to implement though. For one thing types can refer back to symbols. Though perhaps this particular special case could be handled by the GC. Maybe other approaches are possible too, I don't know. Tom