From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net [217.70.183.201]) by sourceware.org (Postfix) with ESMTPS id A174A3858C20 for ; Fri, 4 Mar 2022 10:53:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A174A3858C20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=seketeli.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=seketeli.org Received: (Authenticated sender: dodji@seketeli.org) by mail.gandi.net (Postfix) with ESMTPSA id 9F0C41BF213; Fri, 4 Mar 2022 10:53:04 +0000 (UTC) Received: by localhost (Postfix, from userid 1000) id 33864581C3A; Fri, 4 Mar 2022 11:53:04 +0100 (CET) From: Dodji Seketeli To: Dodji Seketeli via Libabigail Cc: gprocida@gmail.com, Dodji Seketeli Subject: Re: [PATCH 2/2, RFC] dwarf-reader: Don't propagate canonical type upon aggregate redundancy Organization: Me, myself and I References: <87sfs3jpm0.fsf@redhat.com> X-Operating-System: Fedora 36 X-URL: http://www.seketeli.net/~dodji Date: Fri, 04 Mar 2022 11:53:04 +0100 In-Reply-To: <87sfs3jpm0.fsf@redhat.com> (Dodji Seketeli via Libabigail's message of "Mon, 28 Feb 2022 10:40:39 +0100") Message-ID: <87bkymhtv3.fsf@seketeli.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-3.8 required=5.0 tests=BAYES_00, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Mar 2022 10:53:09 -0000 Dodji Seketeli via Libabigail a =C3=A9crit: [...] > This comes from trying to fix > https://sourceware.org/bugzilla/show_bug.cgi?id=3D26646. > > During DIE comparison for the purpose of DIE canonicalization, we need > to detect a loop due to a recurring aggregate comparison. Thus, the > compare_dies function returns true in when it detects that it's > comparing two aggregate that are already being compared. In that > situation of "detected aggregate redundancy", even though the > comparison seemingly succeeds, no canonical type propagation should > happen. > > This patch prevents canonical type propagation when compare_dies > return true to signal aggregate redundancy detection. > > This addresses https://sourceware.org/bugzilla/show_bug.cgi?id=3D26646#c2= 1. > > * src/abg-dwarf-reader.cc (compare_dies): Do not propagate > canonical type when aggregate redundancy is detected. > > Signed-off-by: Dodji Seketeli Applied to master for now. I'll work on a more global solution, similarly to what's done in the IR canonicalizer soon. Cheers, --=20 Dodji