From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id MR0CEO/U9GnLSgkAWB0awg (envelope-from ) for ; Fri, 01 May 2026 12:29:35 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; secure) header.d=adacore.com header.i=@adacore.com header.a=rsa-sha256 header.s=google header.b=aYPuvuyt; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 3D5001E0BA; Fri, 01 May 2026 12:29:35 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.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,RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED 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 BC28F1E067 for ; Fri, 01 May 2026 12:29:34 -0400 (EDT) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 5CAAB48444A6 for ; Fri, 1 May 2026 16:29:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5CAAB48444A6 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=adacore.com header.i=@adacore.com header.a=rsa-sha256 header.s=google header.b=aYPuvuyt Received: from mail-ot1-x32c.google.com (mail-ot1-x32c.google.com [IPv6:2607:f8b0:4864:20::32c]) by sourceware.org (Postfix) with ESMTPS id 445C546A9CC0 for ; Fri, 1 May 2026 16:29:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 445C546A9CC0 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 445C546A9CC0 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::32c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777652950; cv=none; b=xelfMmdEqVMhXqayz3PDjSvQHPpBdEr7G6C5JEKnNR6vfzyCNcPnSbFVN2YTzNQZCjsoDtNUtiY7k9e4BApRUy5b4clhD7dmnk5xAFrXHSQvDBg7kLeooDsWT60CAwSxIK9QMSm6WOnCEeHDEKnKutI3byvRC8ldhUMP/TTbmGQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777652950; c=relaxed/simple; bh=Nfg2hqwWSNsp2reQOJycIPY1Jxt5f7/OKbABkV6BfR8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=qs0Zl1Wd4xge+sleZzXU7ndoJpLWrY/N5qVSGUkbQ/KMDcCHhuqmEDvRqYdw8wC/mVPaF8wjH3qb1huOCERcaz6r7eg0HE3uOppcFF/vW/susK33aNcCYdCPXL7bygpny616mBfzAfeTRLodhanyT9XpzxRAFBEBWI0OSWubwtg= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 445C546A9CC0 Received: by mail-ot1-x32c.google.com with SMTP id 46e09a7af769-7de4ebe10cbso1665399a34.3 for ; Fri, 01 May 2026 09:29:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1777652949; x=1778257749; darn=sourceware.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=l9JoLrPqZvDIEUrfb1vkLMfNMGBFjLpEPmUhjMxbmXE=; b=aYPuvuytC7a+lJjPkgicVAAqlLsaVOl/qmiTrTItgPVaFkvV7NfN9LMndiDuN68YAO vQ4AioZeOwD7akPtwiqG7XdzgRKXoOwwSOUS4kQfn97cpVcHpsXsT6icpqZY0QnV5Qfz 57LXJNgfV6s0T58UIzxiWtB2K7ECN+qbTEcXUdU810f3+dDktwEPTBDEh2Q+0THVeuup 7derfqMXLAZoi4lkuJBvTxVbsNTDdJzsRmN9op5oAlcFjrHTIPvczZ11D0OMA3gFUlUm 6IwrIDQWF/WWxtDjpaMTJgIiNY5lscMER64A21Y/H8vk6Kt4vN20DpN6+4bs3I408bq4 ne3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777652949; x=1778257749; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=l9JoLrPqZvDIEUrfb1vkLMfNMGBFjLpEPmUhjMxbmXE=; b=Ke3HHmvdK/VnkdiqBBLqIeX49UwLWO0rR3lT/WHNx6IqsTLa+EhrcxwwwfNWapnGmI Kuuk0hLMkrJNgNF3icYFzkKa1IqF9hqr9p6XM6GHT9QfXqo9xtBlM5avlW/xqI1xsIiU 7HWj6qmm+oO/JQIPKTBg/0bW4sJz8C7Q5iNn+hToib1WicTgpXwgVrbOxjJ/sVgaTSIQ ZKFiCLvoAmdQAnMU996ZT6HofHNfrHX8ZSIzrb8vnRc1tf3wVs/OO2BQ8Z34QyP6oFgp QKen5fX5D4Rqy+Us/3Ddul08ZsgNLJsCIC0OPHRiD3W29c5HXDdJcfRwJTLyt2IRtu7f uifA== X-Forwarded-Encrypted: i=1; AFNElJ+3fkD1/CH28D4G/gOeap4lw7H0TfXhqLjltFTX2X+zs36m0P8GXgzwedXu13qehfD0A5i4Z73O5qwQSg==@sourceware.org X-Gm-Message-State: AOJu0YwaoJYefesiABYPzIWHwoTpyAoB6KendbT7gf2bbgHhNGJXavyp aoskXV/L9vXlNcPCGs7nHWctNlKp6RppnuGjRlyRNIUo+ZXnrJagawk3m3R8QquSiQ== X-Gm-Gg: AeBDieuboQ+1i5A1UOqmXcxxfrbxUM/pFf2q9vNkWyLQamCVxiIARRocGOV0geq9W6H Bn+zw1r9TWnwPawk8t8Q30YzGAQNBDzuPp4SHeNt5PWL/7LVXcpy3aEIg5UsWZLTvIwZ8pqxdJl 4+cgpS1pDdA3kUVhm+ku9c4tM4mNPHa1tl5bGyPZl76vew8G3bSbScqewAwzKyaHCQGjIt3atae lJ16HILBP2EJt+TfkxsNsCwwRJKosroPRjCwzY9rQc50VdjAQtEIOS4bcefvEQdUxmkIkUuCOEN 7BSDhkrTUUG2FmwUU/diOlmG1agpOzRbdrhjwr92ffRjSohaULTLptRPryH60dk1dBB3svslsb9 3qKR6nC8ufcN+rCowT0ddVKOym3dI6cPhEWlmkcppuKR5J/OGjt7pzw5sPqUsoxMDXZYBXYunVa DaV/4dp/fSizjQiZkqAwFkZF4cS1sWoxNBydPurUwf8kjqnPKXc1fLuA== X-Received: by 2002:a05:6820:201b:b0:68a:a429:e564 with SMTP id 006d021491bc7-6968bb90be5mr1522167eaf.9.1777652949402; Fri, 01 May 2026 09:29:09 -0700 (PDT) Received: from bapiya (75-166-225-82.hlrn.qwest.net. [75.166.225.82]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-43454942dc1sm2783338fac.5.2026.05.01.09.29.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 May 2026 09:29:08 -0700 (PDT) From: Tom Tromey To: Simon Marchi Cc: Tom Tromey , gdb-patches@sourceware.org Subject: Re: [PATCH] Avoid crash in dwarf2/read.c:determine_prefix In-Reply-To: (Simon Marchi's message of "Thu, 23 Apr 2026 22:40:13 -0400") References: <20260423185200.61358-1-tromey@adacore.com> X-Attribution: Tom Date: Fri, 01 May 2026 10:29:07 -0600 Message-ID: <87340bhz58.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain 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 >>>>> "Simon" == Simon Marchi writes: Simon> On 2026-04-23 14:52, Tom Tromey wrote: >> I found a gdb crash when using some changes to gnat-llvm to have it >> emit unqualified names in the DWARF. The crash happens because >> determine_prefix does this: >> >> return dwarf2_full_name (nullptr, parent, cu); >> >> However, dwarf2_full_name can return NULL, causing a crash in the >> caller. >> >> The particular DWARF causing this is pretty strange -- it is a >> function nested inside another nameless function. This may be a bug >> in gnat-llvm, something I plan to investigate. >> >> Meanwhile, gdb shouldn't crash. This patch changes determine_prefix >> to avoid possible crashes here, by following its contract and not >> returning NULL. >> >> I'm not sure if it's worthwhile to write a test case for this. Simon> Seems fine. Did you go around and check if other calls to Simon> dwarf2_full_name handled nullptr correctly? Most of them do, but others Simon> seem like they would have a problem if dwarf2_full_name returned Simon> nullptr. Or perhaps if in some cases we can prove that dwarf2_full_name Simon> can't return nullptr, then we could use a gdb_assert. I didn't generally look. Looking now though they generally seem fine. Really what we should do is rewrite all the name computation code. It's overly convoluted and confusing, and the cooked indexer proved that a lot of the hair isn't needed. Tom