From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gnu.wildebeest.org (wildebeest.demon.nl [212.238.236.112]) by sourceware.org (Postfix) with ESMTPS id 94450384A87E for ; Sat, 6 Feb 2021 03:03:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 94450384A87E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=klomp.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mark@klomp.org Received: from librem (deer0x15.wildebeest.org [172.31.17.151]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id 945B530278CD; Sat, 6 Feb 2021 04:03:08 +0100 (CET) Received: by librem (Postfix, from userid 1000) id C90CFC0814; Sat, 6 Feb 2021 04:01:59 +0100 (CET) Date: Sat, 6 Feb 2021 04:01:59 +0100 From: Mark Wielaard To: "George, Jini Susan" Cc: "Sharma, Alok Kumar" , "dwz@sourceware.org" , "E, Nagajyothi" , "Achra, Nitika" Subject: Re: [PATCH] DWZ aborted "write_types: Assertion `ref && ref->die_dup == NULL'" Message-ID: <20210206030159.GA2851@wildebeest.org> References: <3b76b14ca5608a8cb0b31b34767d322aab31e7e8.camel@klomp.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Status: No, score=-5.6 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: dwz@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Dwz mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Feb 2021 03:03:10 -0000 Hi Jini, On Fri, Feb 05, 2021 at 01:21:16PM +0000, George, Jini Susan via Dwz wrote: > This was triggering with the gdb test case > gdb.dwarf2/dw4-sig-types.exp when compiled with clang. Thanks, I could replicate it with that. The difference between g++ and clang++ building that testcase with -gdwarf-4 -fdebug-types-section is that g++ always creates the actual type DIE as a top-level DIE in the type unit, while clang++ can create a deeper embedded type DIE. If g++ needs the type to be nested (for example inside a namespace, it will still create a top-level DIE with a DW_AT_specification pointing to the nested type. Which is why we never saw this assert accidentially trigger in the g++ case. I pushed the patch. Thanks, Mark