From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id BDFB9385AE77; Tue, 28 Jun 2022 22:55:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BDFB9385AE77 From: "woodard at redhat dot com" To: libabigail@sourceware.org Subject: [Bug default/28760] libstdc++ doesn't pass self check Date: Tue, 28 Jun 2022 22:55:41 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: libabigail X-Bugzilla-Component: default X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: woodard at redhat dot com X-Bugzilla-Status: RESOLVED X-Bugzilla-Resolution: FIXED X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: dodji at redhat dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: resolution bug_status Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 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: Tue, 28 Jun 2022 22:55:41 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D28760 Ben Woodard changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED --- Comment #1 from Ben Woodard --- commit 72b46b2600ef1f7af54b6d5f7dd6afc23c7cf2c3 Author: Dodji Seketeli Date: Thu Jun 23 12:13:05 2022 +0200 ir: Make canonicalization stable wrt typedefs in fn return types In the grand scheme of things, two function return types can be equal modulo typedefs. Because those two function textual representations are different, the two overall function types would end up having different canonical types and thus, the two functions would be considered as having different sub-types. The harmless change pass would then kick in and flag that change as harmless. But then, "abidw --abidiff" that is used for testing purposes would still be not happy. This patch strips typedefs off of return types of function types when the string representation is to be used for internal (e.g, type canonicalization) purposes. The fix for this change uncovered another issue: When setting the naming typedefs for an (anonymous) C++ class, the qualified name of the class was wrongly being set to the qualified name of the typedef. Only the name of the class should be affected, in essence. The qualified name would, ONLY as a result of the name change, be adjusted. This patch fixes those issues and adjusts the test suite accordingly. * src/abg-ir.cc (get_function_type_name, get_method_type_name): When the function type name is for internal purposes, strip potential typedefs off. (equal): In the overload for function_type, strip potential typedefs off of return types before comparing them. (decl_base::set_naming_typedef): Properly adjust the qualified name of the type to which a naming typedef is being set. * tests/data/test-alt-dwarf-file/libstdc++/libstdc++-report.txt: New reference test output. * tests/data/test-alt-dwarf-file/libstdc++/usr/lib/debug/usr/lib64/libstdc++.= so.6.0.30-12.1.1-1.fc37.x86_64.debug: New binary test input. * tests/data/test-alt-dwarf-file/libstdc++/usr/lib64/libstdc++.so.6.0.30: New binary test input. * tests/data/Makefile.am: Add the new test material to source distribution. * tests/data/test-annotate/test15-pr18892.so.abi: Adjust. * tests/data/test-annotate/test17-pr19027.so.abi: Likewise. * tests/data/test-annotate/test21-pr19092.so.abi: Likewise. * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise. * tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise. * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise. * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise. * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise. * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise. * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise. Signed-off-by: Dodji Seketeli --=20 You are receiving this mail because: You are on the CC list for the bug.=