From patchwork Thu Jun 22 07:29:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 71519 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3AD673858C53 for ; Thu, 22 Jun 2023 07:30:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3AD673858C53 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1687419006; bh=TDDScTHtdkiwgNXGjzz8Kfirbb09zKiHjQw7B89K8Ig=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Help: List-Subscribe:From:Reply-To:From; b=OOIqHkJUGspW+4034rn1eCYH9qfnC4jRuPz48lXvB6QvYmFOgtel7wTY7fUVQGYkL B9k590UXLZBk0u7gN+Os03FdTUJYkFlBBugrt+J2p5MboX93JP2eQQfuEZ382d/T6o XK1Flxb6zI2y2C6Mwg/v/cheNFslHZpJhINopWNM= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id E60D63858D28 for ; Thu, 22 Jun 2023 07:29:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E60D63858D28 Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-674-Yc4IOX-MPAGbNB2XRAcFCQ-1; Thu, 22 Jun 2023 03:29:43 -0400 X-MC-Unique: Yc4IOX-MPAGbNB2XRAcFCQ-1 Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-3ffbeabaf7eso9216841cf.2 for ; Thu, 22 Jun 2023 00:29:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687418982; x=1690010982; h=mime-version:user-agent:message-id:date:organization:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=TDDScTHtdkiwgNXGjzz8Kfirbb09zKiHjQw7B89K8Ig=; b=M4tn5/ITYNTgsm0DVqB+Qtvw8lXstMuDZyDupqt1ofGXdkInorLHw1VgtWV/xFAUGO LoUlPrFgpYLhZin0D+1tMIj3A11dEAu1mOKEp+euVqQQaOvBkVqrPpxxz7syZsq6r1Di wKTjkkHkuGZ8NSAXtRw3Jo0OMirtFXwKaJtm1czpmEclt8VuorYNifhkV2GM0FAmhbQV KQPOWkGXqhYsKOw+2aie2FK8qGj7WP34zpEqtemXgZ2H+7jx3X0PhMCpVnIwOb6EtEA/ FS44k5gYcYimXw9iDMBY8Bw4H7hwLnIWv03bSysdzetbNQUwbcmVlc9RqWHYBjYb1tB/ FVTA== X-Gm-Message-State: AC+VfDyo68l475LSRW63wk4K7QXtyEgLWQgJt76zonBU+ilR1t4dUMEX DwA9dLugca1BfKjlYMORdOvVcS9Jb2sfmO9ndifpOM1TKkRibwew7sSeKKlVKhJ6FAiYB2BbYVb 7hE82Kstqw8Jep5RNRnqHe9XisIOB46RNzk5Sa90tFbHkQPciePoYfDvUGurZg/9RQgtmInA3cq 9g X-Received: by 2002:a05:622a:1a9b:b0:3f4:cfed:969f with SMTP id s27-20020a05622a1a9b00b003f4cfed969fmr22198404qtc.13.1687418980918; Thu, 22 Jun 2023 00:29:40 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7RmJau/IEvzvxApO8lOb5YDH4R+1otNOQdOa9MP5CZxJEfWcTPzcmt52EW9l9dj9bYyYX1/A== X-Received: by 2002:a05:622a:1a9b:b0:3f4:cfed:969f with SMTP id s27-20020a05622a1a9b00b003f4cfed969fmr22198327qtc.13.1687418978970; Thu, 22 Jun 2023 00:29:38 -0700 (PDT) Received: from localhost ([88.120.130.27]) by smtp.gmail.com with ESMTPSA id r5-20020ac85205000000b003fdec95e9c8sm3283763qtn.83.2023.06.22.00.29.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jun 2023 00:29:38 -0700 (PDT) Received: by localhost (Postfix, from userid 1000) id ED20EB4FD1; Thu, 22 Jun 2023 09:29:34 +0200 (CEST) To: libabigail@sourceware.org Subject: [PATCH, applied] Bug 30461 - insight fails self-compare Organization: Red Hat / France X-Operating-System: CentOS Stream release 9 X-URL: http://www.redhat.com Date: Thu, 22 Jun 2023 09:29:34 +0200 Message-ID: <877crw2bvl.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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-Patchwork-Original-From: Dodji Seketeli via Libabigail From: Dodji Seketeli Reply-To: Dodji Seketeli Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" Hello, This self-comparison issue is due to several different underlying problems. Class destructors are often implemented by the compiler using cloned functions, even for virtual destructors. In DWARF, for a given class, the cloned function implementing the virtual destructor might come way after the point where the class and its member functions (including the destructors) have been declared. So the DWARF reader needs to match the "dangling" cloned function that implements the virtual destructor with the destructor declared in the class declaration. Note that it's the cloned definition that contains the address of the ELF symbol for the destructor, not the declaration. So we really need to see the cloned function to build a proper IR (that also represents the ELF symbol) for the destructor. As the destructor is implemented by a cloned function, we might see (in the DWARF) other clones of that function that have the same linkage name. In that case, if the IR of the class already has a destructor with the same linkage name, then we not build another IR for it, otherwise we'd wrongly duplicate the destructor. And this is exactly the error we were doing in this issue. This patch addresses that issue. The ABIXML does unfortunately have classes with duplicated destructors, due to this. So as the DWARF reader is now going to be fixed, the ABIXML reader also needs to be fixed to avoid reading duplicated member functions. The patch addresses that issue as well. Then, when the above was fixed, I stumbled across an issue related to type fundamentals of type canonicalization: I think we will ultimately need to be able to canonicalize types in the same order, if they come from DWARF or ABIXML. It now appears to me that because of recursive types in the context of ODR-violations (two different types being present in different translation units and yet having the same name. For instance, the BFD type from binutils and this insight package), type canonicalization is not a commutative operation, unfortunately. That is why we need to either store some type hash in ABIXML to avoid having to re-do type canonicalization when reading ABIXML, or canonicalize types coming from ABIXML in the same order as they were, when they came from their initial format (DWARF or otherwise). This would be a project in it own right. Until then, a workaround that seems to be enough in this case is to clear the type comparison result cache after canonicalizing each type. The rest of the patch adjusts the regression tests output as needed. For the record, below is the command line that triggered the issue: $ fedabipkgdiff --debug --self-compare -a --from fc38 insight * src/abg-dwarf-reader.cc (build_ir_node_from_die): If we are looking at a cloned function that's a member function to be added to an existing class, make sure a member function with the same linkage name doesn't already exist in the class before adding this one. Otherwise, we'd be duplicating a member function inside the class. * src/abg-ir.cc (method_decl::set_linkage_name): When setting the linkage name of a method to a new one, erase the old method that had the old linkage name from the containing class. (compare_canonical_type_against_candidate): Clear the comparison type result cache after each type canonicalization to avoid re-using cached result that should have been invalidated. This is a work-around the more fundamental type canonicalization issue outlined in the preamble of this commit log. * src/abg-reader.cc (build_function_decl): Avoid loading duplicated member functions. The key of the function being its mangled name. (build_class_decl): The XML node to map when looking a member function is really the XML node for the member function. * tests/data/test-abidiff/test-PR18791-report0.txt: Adjust. * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: Likewise. * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise. * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise. * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise. * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise. * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise. * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise. Signed-off-by: Dodji Seketeli --- src/abg-dwarf-reader.cc | 3 +- src/abg-ir.cc | 10 + src/abg-reader.cc | 23 +- .../test-abidiff/test-PR18791-report0.txt | 91 +- .../PR22015-libboost_iostreams.so.abi | 63 +- .../test-read-dwarf/PR22122-libftdc.so.abi | 53 +- .../test-read-dwarf/test-libandroid.so.abi | 151 -- .../test-read-dwarf/test10-pr18818-gcc.so.abi | 122 - .../test-read-dwarf/test16-pr18904.so.abi | 2271 ++++++++--------- .../test22-pr19097-libstdc++.so.6.0.17.so.abi | 21 - .../test9-pr18818-clang.so.abi | 2 +- 11 files changed, 1151 insertions(+), 1659 deletions(-) diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index 6d330886..80b9d752 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc @@ -15847,7 +15847,8 @@ build_ir_node_from_die(reader& rdr, { fn = dynamic_pointer_cast(d); if (has_abstract_origin - && (linkage_name != spec_linkage_name)) + && (linkage_name != spec_linkage_name) + && !c->find_member_function_sptr(linkage_name)) // The current DIE has 'd' as abstract orign, // and has a linkage name that is different // from from the linkage name of 'd'. That diff --git a/src/abg-ir.cc b/src/abg-ir.cc index 0619c21f..f6ab6304 100644 --- a/src/abg-ir.cc +++ b/src/abg-ir.cc @@ -14668,6 +14668,7 @@ compare_canonical_type_against_candidate(const type_base& canonical_type, // Restore the state of the on-the-fly-canonicalization and // the decl-only-class-being-equal-to-a-matching-definition // flags. + env.priv_->clear_type_comparison_results_cache(); env.priv_->allow_type_comparison_results_caching(false); env.do_on_the_fly_canonicalization(false); env.decl_only_class_equals_definition @@ -23738,6 +23739,7 @@ method_decl::method_decl(const string& name, void method_decl::set_linkage_name(const string& l) { + string old_lname = get_linkage_name(); decl_base::set_linkage_name(l); // Update the linkage_name -> member function map of the containing // class declaration. @@ -23747,6 +23749,14 @@ method_decl::set_linkage_name(const string& l) class_or_union_sptr cl = t->get_class_type(); method_decl_sptr m(this, sptr_utils::noop_deleter()); cl->priv_->mem_fns_map_[l] = m; + if (!old_lname.empty()) + { + if (method_decl_sptr m = cl->find_member_function_sptr(old_lname)) + { + if (m.get() == this) + cl->priv_->mem_fns_map_.erase(old_lname); + } + } } } diff --git a/src/abg-reader.cc b/src/abg-reader.cc index 26a287cc..8d980e69 100644 --- a/src/abg-reader.cc +++ b/src/abg-reader.cc @@ -3461,6 +3461,16 @@ build_function_decl(reader& rdr, if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "mangled-name")) mangled_name = xml::unescape_xml_string(CHAR_STR(s)); + if (as_method_decl + && !mangled_name.empty() + && as_method_decl->find_member_function_sptr(mangled_name)) + { + function_decl_sptr result = + as_method_decl->find_member_function_sptr(mangled_name); + if (result) + return result; + } + string inline_prop; if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "declared-inline")) inline_prop = CHAR_STR(s); @@ -3569,12 +3579,12 @@ build_function_decl(reader& rdr, /// completion. If the function was suppressed by a suppression /// specification then returns nil. static function_decl_sptr -build_function_decl_if_not_suppressed(reader& rdr, - const xmlNodePtr node, - class_or_union_sptr as_method_decl, - bool add_to_current_scope) +build_function_decl_if_not_suppressed(reader& rdr, + const xmlNodePtr node, + class_or_union_sptr as_method_decl, + bool add_to_current_scope) { - function_decl_sptr fn; + function_decl_sptr fn; if (function_is_suppressed(rdr, node)) // The function was suppressed by at least one suppression @@ -5108,8 +5118,6 @@ build_class_decl(reader& rdr, } else if (xmlStrEqual(n->name, BAD_CAST("member-function"))) { - rdr.map_xml_node_to_decl(n, decl); - access_specifier access = is_struct ? public_access @@ -5149,6 +5157,7 @@ build_class_decl(reader& rdr, set_member_function_is_ctor(m, is_ctor); set_member_function_is_dtor(m, is_dtor); set_member_function_is_const(m, is_const); + rdr.map_xml_node_to_decl(n, decl); break; } } diff --git a/tests/data/test-abidiff/test-PR18791-report0.txt b/tests/data/test-abidiff/test-PR18791-report0.txt index 91733b7c..3ebbad04 100644 --- a/tests/data/test-abidiff/test-PR18791-report0.txt +++ b/tests/data/test-abidiff/test-PR18791-report0.txt @@ -1,4 +1,4 @@ -Functions changes summary: 1 Removed, 60 Changed, 1 Added functions +Functions changes summary: 1 Removed, 43 Changed, 1 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 1 Removed function: @@ -9,7 +9,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable [A] 'method void std::__cxx11::_List_base >::_M_clear()' -60 functions with some indirect sub-type change: +43 functions with some indirect sub-type change: [C] 'method bool sigc::connection::block(bool)' has some indirect sub-type changes: implicit parameter 0 of type 'sigc::connection*' has sub-type changes: @@ -164,22 +164,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable implicit parameter 0 of type 'sigc::internal::signal_impl*' has sub-type changes: pointed to type 'struct sigc::internal::signal_impl' changed, as reported earlier - [C] 'method void sigc::internal::slot_rep::disconnect()' has some indirect sub-type changes: - implicit parameter 0 of type 'sigc::internal::slot_rep*' has sub-type changes: - pointed to type 'struct sigc::internal::slot_rep' changed, as reported earlier - - [C] 'method void sigc::internal::trackable_callback_list::add_callback(void*)' has some indirect sub-type changes: - implicit parameter 0 of type 'sigc::internal::trackable_callback_list*' has sub-type changes: - pointed to type 'struct sigc::internal::trackable_callback_list' changed, as reported earlier - - [C] 'method void sigc::internal::trackable_callback_list::clear()' has some indirect sub-type changes: - implicit parameter 0 of type 'sigc::internal::trackable_callback_list*' has sub-type changes: - pointed to type 'struct sigc::internal::trackable_callback_list' changed, as reported earlier - - [C] 'method void sigc::internal::trackable_callback_list::remove_callback(void*)' has some indirect sub-type changes: - implicit parameter 0 of type 'sigc::internal::trackable_callback_list*' has sub-type changes: - pointed to type 'struct sigc::internal::trackable_callback_list' changed, as reported earlier - [C] 'method sigc::internal::trackable_callback_list::~trackable_callback_list(int)' has some indirect sub-type changes: implicit parameter 0 of type 'sigc::internal::trackable_callback_list*' has sub-type changes: pointed to type 'struct sigc::internal::trackable_callback_list' changed, as reported earlier @@ -268,43 +252,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable implicit parameter 0 of type 'sigc::signal_base*' has sub-type changes: pointed to type 'struct sigc::signal_base' changed, as reported earlier - [C] 'method void sigc::slot_base::add_destroy_notify_callback(void*)' has some indirect sub-type changes: - implicit parameter 0 of type 'const sigc::slot_base*' has sub-type changes: - in pointed to type 'const sigc::slot_base': - unqualified underlying type 'class sigc::slot_base' changed, as reported earlier - - [C] 'method bool sigc::slot_base::block(bool)' has some indirect sub-type changes: - implicit parameter 0 of type 'sigc::slot_base*' has sub-type changes: - pointed to type 'class sigc::slot_base' changed, as reported earlier - - [C] 'method void sigc::slot_base::disconnect()' has some indirect sub-type changes: - implicit parameter 0 of type 'sigc::slot_base*' has sub-type changes: - pointed to type 'class sigc::slot_base' changed, as reported earlier - - [C] 'method bool sigc::slot_base::operator bool()' has some indirect sub-type changes: - implicit parameter 0 of type 'const sigc::slot_base*' has sub-type changes: - in pointed to type 'const sigc::slot_base': - unqualified underlying type 'class sigc::slot_base' changed, as reported earlier - - [C] 'method sigc::slot_base& sigc::slot_base::operator=(const sigc::slot_base&)' has some indirect sub-type changes: - return type changed: - referenced type 'class sigc::slot_base' changed, as reported earlier - implicit parameter 0 of type 'sigc::slot_base*' has sub-type changes: - pointed to type 'class sigc::slot_base' changed, as reported earlier - parameter 1 of type 'const sigc::slot_base&' has sub-type changes: - in referenced type 'const sigc::slot_base': - unqualified underlying type 'class sigc::slot_base' changed, as reported earlier - - [C] 'method void sigc::slot_base::remove_destroy_notify_callback(void*)' has some indirect sub-type changes: - implicit parameter 0 of type 'const sigc::slot_base*' has sub-type changes: - in pointed to type 'const sigc::slot_base': - unqualified underlying type 'class sigc::slot_base' changed, as reported earlier - - [C] 'method void sigc::slot_base::set_parent(void*)' has some indirect sub-type changes: - implicit parameter 0 of type 'const sigc::slot_base*' has sub-type changes: - in pointed to type 'const sigc::slot_base': - unqualified underlying type 'class sigc::slot_base' changed, as reported earlier - [C] 'method sigc::slot_base::slot_base(sigc::slot_base::rep_type*)' has some indirect sub-type changes: implicit parameter 0 of type 'sigc::slot_base*' has sub-type changes: pointed to type 'class sigc::slot_base' changed, as reported earlier @@ -322,44 +269,10 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable in referenced type 'const sigc::slot_base': unqualified underlying type 'class sigc::slot_base' changed, as reported earlier - [C] 'method bool sigc::slot_base::unblock()' has some indirect sub-type changes: - implicit parameter 0 of type 'sigc::slot_base*' has sub-type changes: - pointed to type 'class sigc::slot_base' changed, as reported earlier - [C] 'method sigc::slot_base::~slot_base(int)' has some indirect sub-type changes: implicit parameter 0 of type 'sigc::slot_base*' has sub-type changes: pointed to type 'class sigc::slot_base' changed, as reported earlier - [C] 'method void sigc::trackable::add_destroy_notify_callback(void*)' has some indirect sub-type changes: - implicit parameter 0 of type 'const sigc::trackable*' has sub-type changes: - in pointed to type 'const sigc::trackable': - unqualified underlying type 'struct sigc::trackable' changed, as reported earlier - - [C] 'method sigc::internal::trackable_callback_list* sigc::trackable::callback_list()' has some indirect sub-type changes: - return type changed: - pointed to type 'struct sigc::internal::trackable_callback_list' changed, as reported earlier - implicit parameter 0 of type 'const sigc::trackable*' has sub-type changes: - in pointed to type 'const sigc::trackable': - unqualified underlying type 'struct sigc::trackable' changed, as reported earlier - - [C] 'method void sigc::trackable::notify_callbacks()' has some indirect sub-type changes: - implicit parameter 0 of type 'sigc::trackable*' has sub-type changes: - pointed to type 'struct sigc::trackable' changed, as reported earlier - - [C] 'method sigc::trackable& sigc::trackable::operator=(const sigc::trackable&)' has some indirect sub-type changes: - return type changed: - referenced type 'struct sigc::trackable' changed, as reported earlier - implicit parameter 0 of type 'sigc::trackable*' has sub-type changes: - pointed to type 'struct sigc::trackable' changed, as reported earlier - parameter 1 of type 'const sigc::trackable&' has sub-type changes: - in referenced type 'const sigc::trackable': - unqualified underlying type 'struct sigc::trackable' changed, as reported earlier - - [C] 'method void sigc::trackable::remove_destroy_notify_callback(void*)' has some indirect sub-type changes: - implicit parameter 0 of type 'const sigc::trackable*' has sub-type changes: - in pointed to type 'const sigc::trackable': - unqualified underlying type 'struct sigc::trackable' changed, as reported earlier - [C] 'method sigc::trackable::trackable(const sigc::trackable&)' has some indirect sub-type changes: implicit parameter 0 of type 'sigc::trackable*' has sub-type changes: pointed to type 'struct sigc::trackable' changed, as reported earlier diff --git a/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi b/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi index 826763ce..047d118e 100644 --- a/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi +++ b/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi @@ -2337,18 +2337,6 @@ - - - - - - - - - - - - @@ -2435,18 +2423,6 @@ - - - - - - - - - - - - @@ -2500,7 +2476,7 @@ - + @@ -2539,13 +2515,6 @@ - - - - - - - @@ -2827,19 +2796,13 @@ - + - - - - - - - + @@ -2857,12 +2820,6 @@ - - - - - - @@ -3268,13 +3225,6 @@ - - - - - - - @@ -3346,13 +3296,6 @@ - - - - - - - diff --git a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi index 7c5f7be8..f725617b 100644 --- a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi +++ b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi @@ -1323,13 +1323,13 @@ - + - + @@ -4282,7 +4282,7 @@ - + @@ -4312,13 +4312,6 @@ - - - - - - - @@ -6485,13 +6478,7 @@ - - - - - - - + @@ -9668,13 +9655,13 @@ - + - + @@ -12283,12 +12270,6 @@ - - - - - - @@ -12375,12 +12356,6 @@ - - - - - - @@ -15747,7 +15722,7 @@ - + @@ -15759,13 +15734,6 @@ - - - - - - - @@ -15872,13 +15840,6 @@ - - - - - - - diff --git a/tests/data/test-read-dwarf/test-libandroid.so.abi b/tests/data/test-read-dwarf/test-libandroid.so.abi index dc14d677..929d6d3f 100644 --- a/tests/data/test-read-dwarf/test-libandroid.so.abi +++ b/tests/data/test-read-dwarf/test-libandroid.so.abi @@ -629,36 +629,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -993,36 +969,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -1078,24 +1030,6 @@ - - - - - - - - - - - - - - - - - - @@ -2175,36 +2109,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -3218,24 +3128,6 @@ - - - - - - - - - - - - - - - - - - @@ -19076,13 +18968,6 @@ - - - - - - - @@ -19099,18 +18984,6 @@ - - - - - - - - - - - - @@ -19327,18 +19200,6 @@ - - - - - - - - - - - - @@ -23195,12 +23056,6 @@ - - - - - - @@ -27101,12 +26956,6 @@ - - - - - - diff --git a/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi b/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi index 26a1cf2d..991024dd 100644 --- a/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi +++ b/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi @@ -2540,14 +2540,6 @@ - - - - - - - - @@ -2576,14 +2568,6 @@ - - - - - - - - @@ -4827,20 +4811,6 @@ - - - - - - - - - - - - - - @@ -5556,26 +5526,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -5768,13 +5718,6 @@ - - - - - - - @@ -6540,15 +6483,6 @@ - - - - - - - - - @@ -6591,62 +6525,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/data/test-read-dwarf/test16-pr18904.so.abi b/tests/data/test-read-dwarf/test16-pr18904.so.abi index b03f9c70..385bc692 100644 --- a/tests/data/test-read-dwarf/test16-pr18904.so.abi +++ b/tests/data/test-read-dwarf/test16-pr18904.so.abi @@ -2288,7 +2288,7 @@ - + @@ -2380,14 +2380,14 @@ - + - + @@ -3610,7 +3610,7 @@ - + @@ -3796,7 +3796,7 @@ - + @@ -5131,7 +5131,7 @@ - + @@ -5535,7 +5535,7 @@ - + @@ -5922,7 +5922,7 @@ - + @@ -5952,7 +5952,7 @@ - + @@ -6505,7 +6505,7 @@ - + @@ -6588,7 +6588,7 @@ - + @@ -6700,7 +6700,7 @@ - + @@ -6720,7 +6720,7 @@ - + @@ -7110,7 +7110,7 @@ - + @@ -7488,7 +7488,7 @@ - + @@ -7758,7 +7758,7 @@ - + @@ -7812,7 +7812,7 @@ - + @@ -7947,7 +7947,7 @@ - + @@ -8020,7 +8020,7 @@ - + @@ -8837,7 +8837,7 @@ - + @@ -9013,7 +9013,7 @@ - + @@ -9021,7 +9021,7 @@ - + @@ -9800,7 +9800,7 @@ - + @@ -10011,7 +10011,7 @@ - + @@ -10969,7 +10969,7 @@ - + @@ -11144,7 +11144,7 @@ - + @@ -11401,7 +11401,7 @@ - + @@ -11421,7 +11421,7 @@ - + @@ -11677,7 +11677,7 @@ - + @@ -12812,28 +12812,14 @@ - - - - - - - - - - - - - - - + - + @@ -14066,7 +14052,7 @@ - + @@ -14959,7 +14945,7 @@ - + @@ -14973,7 +14959,7 @@ - + @@ -15108,7 +15094,7 @@ - + @@ -15414,7 +15400,7 @@ - + @@ -15464,7 +15450,7 @@ - + @@ -16313,7 +16299,7 @@ - + @@ -16443,7 +16429,7 @@ - + @@ -16925,7 +16911,7 @@ - + @@ -17017,7 +17003,7 @@ - + @@ -17470,8 +17456,9 @@ - - + + + @@ -17727,7 +17714,7 @@ - + @@ -17916,7 +17903,7 @@ - + @@ -18001,7 +17988,7 @@ - + @@ -18010,7 +17997,7 @@ - + @@ -18036,7 +18023,7 @@ - + @@ -18044,14 +18031,14 @@ - + - + @@ -18060,7 +18047,7 @@ - + @@ -18086,7 +18073,7 @@ - + @@ -18094,14 +18081,14 @@ - + - + @@ -18110,7 +18097,7 @@ - + @@ -18136,7 +18123,7 @@ - + @@ -18144,14 +18131,14 @@ - + - + @@ -18160,7 +18147,7 @@ - + @@ -18186,7 +18173,7 @@ - + @@ -18194,18 +18181,18 @@ - + - + - + - - + + @@ -18213,18 +18200,18 @@ - - - + + + - + - + - + @@ -18247,8 +18234,8 @@ - - + + @@ -18272,8 +18259,8 @@ - - + + @@ -18302,130 +18289,130 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -18544,8 +18531,9 @@ - - + + + @@ -18654,7 +18642,7 @@ - + @@ -18666,7 +18654,7 @@ - + @@ -18677,111 +18665,111 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + @@ -18789,44 +18777,44 @@ - - + + - + - - + + - + - - + + - + - + - + @@ -18835,7 +18823,7 @@ - + @@ -18844,7 +18832,7 @@ - + @@ -18852,26 +18840,26 @@ - + - + - + - + @@ -18879,27 +18867,27 @@ - + - + - + - + @@ -18907,30 +18895,30 @@ - + - + - + - + - + @@ -18945,653 +18933,653 @@ - + - + - + - - + + - - + + - - - + + - - - - - - - - + + + + + + + + - - - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - + - + - + - - + + - + - + - - - + + + - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - + - + - + - + - - - - - - - - - + + + + + + + + + - - + + - - + + - - + + - + - - + + - + - + - + - + - - + + - + - + - - + + - - + + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - - - + + + - - - + + + - - + + - + - - + + - - + + - + - + - + - - - + + + - - - - + + + + @@ -19622,33 +19610,33 @@ - + - + - + - + - + - + - + @@ -19658,7 +19646,7 @@ - + @@ -19667,280 +19655,280 @@ - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - - + + + - - + + - + - - + + - - + + - + - + - + - + - + - + - - + + - + - - + + - - + + - + - + - + - + - + - - + + - + - - + + - - + + - - + + - + - - - - - + - - + + - + + + + + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - + + + + + + + - - - + + + @@ -19992,482 +19980,482 @@ - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - - + + - + - + - + - + - - + + - - + + - - + + - - + + - + - + - - + + - + - + - + - - + + - + - + - - + + - + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - + - + - + @@ -20478,7 +20466,7 @@ - + @@ -20488,42 +20476,42 @@ - + - + - + - + - - + + - + - + @@ -20536,7 +20524,7 @@ - + @@ -20544,40 +20532,40 @@ - - + + - + - + - - + + - + - + - + @@ -20588,9 +20576,9 @@ - + - + @@ -20600,42 +20588,42 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -20643,9 +20631,9 @@ - + - + @@ -20661,121 +20649,82 @@ - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + - - + + - - - - - - - - + + + + + + + + - + - + @@ -20792,118 +20741,118 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - + + + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - + - + - - - - + + + + - + @@ -20925,7 +20874,7 @@ - + @@ -20936,33 +20885,33 @@ - - + + - + - + - + - - + + - - + + - - + + @@ -20972,48 +20921,48 @@ - - + + - - + + - + - + - + - + - - + + - + - + - + - + @@ -21051,10 +21000,10 @@ - + - + @@ -21063,7 +21012,7 @@ - + @@ -21072,13 +21021,13 @@ - + - + - + @@ -21099,28 +21048,28 @@ - + - + - + - + - + - + - + @@ -21128,10 +21077,10 @@ - + - + @@ -21139,7 +21088,7 @@ - + @@ -21213,7 +21162,7 @@ - + @@ -21221,7 +21170,7 @@ - + @@ -21229,7 +21178,7 @@ - + @@ -21264,7 +21213,7 @@ - + @@ -21278,184 +21227,184 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - + + + + - - - - - + + + + + + - - - - + + - - - - - + + + + + + + - - - + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + - - - - + + + - + - - + + + + - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -21477,7 +21426,7 @@ - + @@ -21489,47 +21438,47 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -21537,218 +21486,218 @@ - + - + - + - + - + - + - + - + - + - - - + + + - + - + - - - - + + + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - + + - - + + - + - - + + - + - - - + + + - - - + + + - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -21756,122 +21705,122 @@ - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + @@ -21885,7 +21834,7 @@ - + @@ -21899,7 +21848,7 @@ - + @@ -21913,12 +21862,12 @@ - + - + - + @@ -21927,7 +21876,7 @@ - + @@ -21941,12 +21890,12 @@ - + - + - + @@ -21955,7 +21904,7 @@ - + @@ -21969,12 +21918,12 @@ - + - + - + @@ -21984,82 +21933,82 @@ - - + + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - + + + + + + + + + + + - - + + - - + + - + - - + + - - + + diff --git a/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi b/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi index 52eea2bf..9ff6c6e4 100644 --- a/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi +++ b/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi @@ -4702,13 +4702,6 @@ - - - - - - - @@ -4730,13 +4723,6 @@ - - - - - - - @@ -4800,13 +4786,6 @@ - - - - - - - diff --git a/tests/data/test-read-dwarf/test9-pr18818-clang.so.abi b/tests/data/test-read-dwarf/test9-pr18818-clang.so.abi index cd1d4ef0..41e95bce 100644 --- a/tests/data/test-read-dwarf/test9-pr18818-clang.so.abi +++ b/tests/data/test-read-dwarf/test9-pr18818-clang.so.abi @@ -4806,7 +4806,7 @@ - +