From patchwork Fri Jul 3 16:46:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Matthias_M=C3=A4nnich?= X-Patchwork-Id: 39904 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 58D623844079; Fri, 3 Jul 2020 16:49:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 58D623844079 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1593794998; bh=Aul0d6JjJ9pbsfmkyyfCfy1GtrNrUwYn8km1mG17Iks=; h=Date:In-Reply-To:References:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Help:List-Subscribe:From:Reply-To:Cc:From; b=QhYkRuZoJUtbTFHUdviEohgY5F/arb0Omg4EPVfibL4io0YnTznG5yOGzRzMaSUDl QNsvQ3xxmV/mV+fxkJhcep8qeMPR1FeMbb+WOFZ0gzJMa5HeKnJ/ac6T1f6gHBsYWx XHw7b+4MLYMl6vmc5ql2FyoQGVBQXH/nXuo2kGNs= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from mail-wm1-x349.google.com (mail-wm1-x349.google.com [IPv6:2a00:1450:4864:20::349]) by sourceware.org (Postfix) with ESMTPS id CEA52384403B for ; Fri, 3 Jul 2020 16:48:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org CEA52384403B Received: by mail-wm1-x349.google.com with SMTP id v6so33487587wmg.1 for ; Fri, 03 Jul 2020 09:48:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc:content-transfer-encoding; bh=Aul0d6JjJ9pbsfmkyyfCfy1GtrNrUwYn8km1mG17Iks=; b=KZ86GgZFzl0G45dhHW3DsgagXBeygdOGiw0G1ZBYVStMBmI2r723AbU39MFUgwZeZh gWXLr4If+2fcks7esYE2vPlt6pO1bYB6zUDFLkvH2hq16NJNvLk114yue6VOETzq9oDQ VymOBds6FWnfIEsHJtiUTQwgqX0g+dAMLZpecd14LkJMuU9u/rtec60TNdmbHzi9QT8x kc3IbtfaePx66Jne08uA8IqIbPE8dPhJoYIxSVDHPVru6o2ErkLzCe8wXkU0NtB9Nyxg SRPm4eqvwnwPSYwIoK+mjKVLsOiz96NOvQj8r5m6GIVIdRVyXaFYvqPZconoolT5wkDw 78sA== X-Gm-Message-State: AOAM5323DDS428WrsRQdN7wa44JvtYASUrqpZdb/mH9ghft9DhaINN52 C5xFlC9s+7bXcOkgj0kEMAAcn9SpwoItnjWZbeWWj2A2eOZJVaTSBSOceW5s8S9xu08sfbzMvuU UeutZseMPlF0vOfTmEQjU94W4PFcKKlX3Hu49lNqFDw3APhkjnGnfo29+EIJNa7QBCC6NKlo= X-Google-Smtp-Source: ABdhPJwlDzrleiWcn7+DjAXB/51yCSf2zICyrKCLTahuDef8JYCE73uACTb12txeY+Uem1OUXNNPdBZ0ARcnUA== X-Received: by 2002:a1c:a986:: with SMTP id s128mr39916407wme.121.1593794894278; Fri, 03 Jul 2020 09:48:14 -0700 (PDT) Date: Fri, 3 Jul 2020 18:46:48 +0200 In-Reply-To: <20200703164651.1510825-1-maennich@google.com> Message-Id: <20200703164651.1510825-19-maennich@google.com> Mime-Version: 1.0 References: <20200619214305.562-1-maennich@google.com> <20200703164651.1510825-1-maennich@google.com> X-Mailer: git-send-email 2.27.0.212.ge8ba1cc988-goog Subject: [PATCH v2 18/21] symtab/dwarf-reader: allow hinting of main symbols for aliases To: libabigail@sourceware.org X-Spam-Status: No, score=-19.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TIME_LIMIT_EXCEEDED, USER_IN_DEF_DKIM_WL autolearn=unavailable version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Matthias Maennich via Libabigail From: =?utf-8?q?Matthias_M=C3=A4nnich?= Reply-To: Matthias Maennich Cc: maennich@google.com, kernel-team@android.com Errors-To: libabigail-bounces@sourceware.org Sender: "Libabigail" In case of aliased symbols, the "main symbol" cannot be deduced from the symtab as this solely contains a name->addr mapping and aliases are represented by multiple names resolving to the same address. Therefore the main symbol can only be picked rather randomly and unpredictable. Unlike DWARF, which contains a single symbol entry for only the main symbol. Hence we can (late) detect the main symbol. Exploiting that property allows to correct the addr->symbol lookup in the symtab to return the correct main symbol and it also allows to correct the aliased symbols to maintain the correct main symbol. This patch adds the `update_main_symbol` functionality to `elf_symbol` to update the main symbol by name (ELF symbols need unique names) and adds `update_main_symbol` to `symtab` that makes use of said new method. When we discover a main symbol during DWARF reading, we instruct the symtab to update the mapping. This creates consistent representations across different builds of the same binary with the same ABI by pinning down the main symbol to the defined one. Knowing the main symbol also helps to keep the correct dwarf information in the representation in the presence of symbol suppressions. A later patch will address that. Some test cases in tests/data need adjustment and they have all been verified to be valid changes. - main symbol changed for various elf symbols - test-annotate/test15-pr18892.so.abi - test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi - test-annotate/test3.so.abi - test-read-dwarf/test15-pr18892.so.abi - test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi - test-read-dwarf/test3.so.abi - test-read-dwarf/test3.so.hash.abi - due to main symbol changes, the symbol diff needs to be corrected - test-diff-dwarf/test12-report.txt - test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt - test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt - the test scenario needed adjustments as the main symbol changed - test-diff-suppr/test23-alias-filter-4.suppr - test-diff-suppr/test23-alias-filter-report-0.txt - test-diff-suppr/test23-alias-filter-report-2.txt As usual, the complete changelog follows. * include/abg-ir.h (elf_symbol::update_main_symbol): New method. * include/abg-symtab-reader.h (symtab::update_main_symbol): New method. * src/abg-dwarf-reader.cc (build_var_decl): Hint symtab about main symbol discovered in DWARF. (build_function_decl): Likewise. * src/abg-ir.cc (elf_symbol::get_main_symbol): Lock the weak_ptr on access in both overloads. (update_main_symbol): New method to allow updating the main symbol. * src/abg-symtab-reader.cc (symtab::update_main_symbol): New method. * data/Makefile.am: Add new test data files. * tests/data/test-annotate/test15-pr18892.so.abi: Updated test file. * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. * tests/data/test-annotate/test2.so.abi: Likewise. * tests/data/test-annotate/test3.so.abi: Likewise. * tests/data/test-diff-dwarf/test12-report.txt: Likewise. * tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt: Likewise. * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt: Likewise. * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt: Likewise. * tests/data/test-diff-suppr/test23-alias-filter-4.suppr: Likewise. * tests/data/test-diff-suppr/test23-alias-filter-report-0.txt: Likewise. * tests/data/test-diff-suppr/test23-alias-filter-report-2.txt: Likewise. * 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/test10-pr18818-gcc.so.abi: Likewise. * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise. * tests/data/test-read-dwarf/test12-pr18844.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/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. * tests/data/test-read-dwarf/test2.so.abi: Likewise. * tests/data/test-read-dwarf/test2.so.hash.abi: Likewise. * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise. * tests/data/test-read-dwarf/test3.so.abi: Likewise. * tests/data/test-read-dwarf/test3.so.hash.abi: Likewise. * tests/data/test-symtab/basic/aliases.c: New test source file. * tests/data/test-symtab/basic/aliases.so: Likewise. * tests/test-symtab.cc (Symtab::AliasedFunctionSymbols): New test case. (Symtab::AliasedVariableSymbols): Likewise. Reviewed-by: Giuliano Procida Signed-off-by: Matthias Maennich --- include/abg-ir.h | 3 + include/abg-symtab-reader.h | 13 + src/abg-dwarf-reader.cc | 16 +- src/abg-ir.cc | 46 +- src/abg-symtab-reader.cc | 21 + tests/data/Makefile.am | 2 + .../data/test-annotate/test15-pr18892.so.abi | 918 ++++++++--------- ...19-pr19023-libtcmalloc_and_profiler.so.abi | 60 +- tests/data/test-annotate/test2.so.abi | 12 +- tests/data/test-annotate/test3.so.abi | 6 +- tests/data/test-diff-dwarf/test12-report.txt | 7 + .../test42-PR21296-clanggcc-report0.txt | 4 +- ...bb-4.3-3.20141204.fc23.x86_64-report-0.txt | 6 +- ...bb-4.3-3.20141204.fc23.x86_64-report-1.txt | 6 +- .../test23-alias-filter-4.suppr | 4 +- .../test23-alias-filter-report-0.txt | 4 +- .../test23-alias-filter-report-2.txt | 4 +- .../PR22015-libboost_iostreams.so.abi | 48 +- .../test-read-dwarf/PR22122-libftdc.so.abi | 6 +- .../test-read-dwarf/test10-pr18818-gcc.so.abi | 192 ++-- .../test-read-dwarf/test11-pr18828.so.abi | 516 +++++----- .../test-read-dwarf/test12-pr18844.so.abi | 60 +- .../test-read-dwarf/test15-pr18892.so.abi | 918 ++++++++--------- .../test-read-dwarf/test16-pr18904.so.abi | 964 +++++++++--------- ...19-pr19023-libtcmalloc_and_profiler.so.abi | 60 +- tests/data/test-read-dwarf/test2.so.abi | 12 +- tests/data/test-read-dwarf/test2.so.hash.abi | 12 +- .../test22-pr19097-libstdc++.so.6.0.17.so.abi | 878 ++++++++-------- tests/data/test-read-dwarf/test3.so.abi | 6 +- tests/data/test-read-dwarf/test3.so.hash.abi | 6 +- tests/data/test-symtab/basic/aliases.c | 13 + tests/data/test-symtab/basic/aliases.so | Bin 0 -> 17176 bytes tests/test-symtab.cc | 47 + 33 files changed, 2512 insertions(+), 2358 deletions(-) create mode 100644 tests/data/test-symtab/basic/aliases.c create mode 100755 tests/data/test-symtab/basic/aliases.so diff --git a/include/abg-ir.h b/include/abg-ir.h index 838d3f80695a..c150075df3b8 100644 --- a/include/abg-ir.h +++ b/include/abg-ir.h @@ -968,6 +968,9 @@ public: bool is_main_symbol() const; + elf_symbol_sptr + update_main_symbol(const std::string&); + elf_symbol_sptr get_next_alias() const; diff --git a/include/abg-symtab-reader.h b/include/abg-symtab-reader.h index 06001b26ebeb..9065b6ad4209 100644 --- a/include/abg-symtab-reader.h +++ b/include/abg-symtab-reader.h @@ -315,6 +315,19 @@ public: load(string_elf_symbols_map_sptr function_symbol_map, string_elf_symbols_map_sptr variables_symbol_map); + /// Notify the symtab about the name of the main symbol at a given address. + /// + /// From just alone the symtab we can't guess the main symbol of a bunch of + /// aliased symbols that all point to the same address. During processing of + /// additional information (such as DWARF), this information becomes apparent + /// and we can adjust the addr->symbol lookup map as well as the alias + /// reference of the symbol objects. + /// + /// @param addr the addr that we are updating the main symbol for + /// @param name the name of the main symbol + void + update_main_symbol(GElf_Addr addr, const std::string& name); + private: /// Default constructor. Private to enforce creation by factory methods. symtab(); diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index 6ed316e19ac1..4120b03b8ac5 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc @@ -12934,7 +12934,13 @@ build_var_decl(read_context& ctxt, elf_symbol_sptr var_sym; Dwarf_Addr var_addr; if (ctxt.get_variable_address(die, var_addr)) - var_sym = var_sym = ctxt.variable_symbol_is_exported(var_addr); + { + ctxt.symtab()->update_main_symbol(var_addr, + result->get_linkage_name().empty() + ? result->get_name() + : result->get_linkage_name()); + var_sym = ctxt.variable_symbol_is_exported(var_addr); + } if (var_sym) { @@ -13355,7 +13361,13 @@ build_function_decl(read_context& ctxt, elf_symbol_sptr fn_sym; Dwarf_Addr fn_addr; if (ctxt.get_function_address(die, fn_addr)) - fn_sym = ctxt.function_symbol_is_exported(fn_addr); + { + ctxt.symtab()->update_main_symbol(fn_addr, + result->get_linkage_name().empty() + ? result->get_name() + : result->get_linkage_name()); + fn_sym = ctxt.function_symbol_is_exported(fn_addr); + } if (fn_sym) { diff --git a/src/abg-ir.cc b/src/abg-ir.cc index c69284f0946a..5a0f9f968034 100644 --- a/src/abg-ir.cc +++ b/src/abg-ir.cc @@ -1744,14 +1744,14 @@ elf_symbol::set_is_suppressed(bool is_suppressed) ///@return the main symbol. const elf_symbol_sptr elf_symbol::get_main_symbol() const -{return elf_symbol_sptr(priv_->main_symbol_);} +{return priv_->main_symbol_.lock();} /// Get the main symbol of an alias chain. /// ///@return the main symbol. elf_symbol_sptr elf_symbol::get_main_symbol() -{return elf_symbol_sptr(priv_->main_symbol_);} +{return priv_->main_symbol_.lock();} /// Tests whether this symbol is the main symbol. /// @@ -1828,6 +1828,48 @@ elf_symbol::add_alias(const elf_symbol_sptr& alias) alias->priv_->main_symbol_ = get_main_symbol(); } +/// Update the main symbol for a group of aliased symbols +/// +/// If after the construction of the symbols (in order of discovery), the +/// actual main symbol can be identified (e.g. as the symbol that actually is +/// defined in the code), this method offers a way of updating the main symbol +/// through one of the aliased symbols. +/// +/// For that, locate the new main symbol by name and update all references to +/// the main symbol among the group of aliased symbols. +/// +/// @param name the name of the main symbol +/// +/// @return the new main elf_symbol +elf_symbol_sptr +elf_symbol::update_main_symbol(const std::string& name) +{ + + if (!has_aliases() || (is_main_symbol() && get_name() == name)) + return get_main_symbol(); + + // find the new main symbol + elf_symbol_sptr new_main; + for (elf_symbol_sptr a = get_next_alias(); a.get() != this; + a = a->get_next_alias()) + if (a->get_name() == name) + { + new_main = a; + break; + } + + if (!new_main) + return get_main_symbol(); + + // now update all main symbol references + for (elf_symbol_sptr a = get_next_alias(); + a->get_main_symbol() != new_main; + a = a->get_next_alias()) + a->priv_->main_symbol_ = new_main; + + return new_main; +} + /// Return true if the symbol is a common one. /// /// @return true iff the symbol is common. diff --git a/src/abg-symtab-reader.cc b/src/abg-symtab-reader.cc index aefc8d6dcd86..f84ed79dae17 100644 --- a/src/abg-symtab-reader.cc +++ b/src/abg-symtab-reader.cc @@ -356,6 +356,27 @@ symtab::load_(string_elf_symbols_map_sptr function_symbol_map, return true; } +void +symtab::update_main_symbol(GElf_Addr addr, const std::string& name) +{ + // get one symbol (i.e. the current main symbol) + elf_symbol_sptr symbol = lookup_symbol(addr); + + // The caller might not know whether the addr is associated to an ELF symbol + // that we care about. E.g. the addr could be associated to an ELF symbol, + // but not one in .dynsym when looking at a DSO. Hence, early exit if the + // lookup failed. + if (!symbol) + return; + + // determine the new main symbol by attempting an update + elf_symbol_sptr new_main = symbol->update_main_symbol(name); + + // also update the default symbol we return when looked up by address + if (new_main) + addr_symbol_map_[addr] = new_main; +} + void symtab::update_function_entry_address_symbol_map( Elf* elf_handle, diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index cf86fb51d492..054acb8c5376 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -1760,6 +1760,8 @@ test-kmi-whitelist/whitelist-with-duplicate-entry \ test-kmi-whitelist/whitelist-with-two-sections \ \ test-symtab/basic/Makefile \ +test-symtab/basic/aliases.c \ +test-symtab/basic/aliases.so \ test-symtab/basic/empty.c \ test-symtab/basic/empty.so \ test-symtab/basic/link_against_me.c \ diff --git a/tests/data/test-annotate/test15-pr18892.so.abi b/tests/data/test-annotate/test15-pr18892.so.abi index 4e93c02de863..cb593b418801 100644 --- a/tests/data/test-annotate/test15-pr18892.so.abi +++ b/tests/data/test-annotate/test15-pr18892.so.abi @@ -193,7 +193,7 @@ - + @@ -207,45 +207,45 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -253,7 +253,7 @@ - + @@ -261,69 +261,69 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -341,7 +341,7 @@ - + @@ -353,19 +353,19 @@ - + - + - + - + - + @@ -373,67 +373,67 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -441,25 +441,25 @@ - + - + - + - + - + - + - + - + @@ -467,39 +467,39 @@ - + - + - + - + - + - + - + - + - + - + @@ -509,43 +509,43 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -555,7 +555,7 @@ - + @@ -569,21 +569,21 @@ - + - + - + - + - + @@ -591,13 +591,13 @@ - + - + - + @@ -607,9 +607,9 @@ - + - + @@ -621,19 +621,19 @@ - + - + - + - + - + @@ -641,49 +641,49 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -695,19 +695,19 @@ - + - + - + - + @@ -719,23 +719,23 @@ - + - + - + - + - + @@ -745,7 +745,7 @@ - + @@ -761,93 +761,93 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2223,11 +2223,11 @@ - + - + @@ -2407,11 +2407,11 @@ - + - + @@ -2429,13 +2429,13 @@ - + - + - + @@ -2443,7 +2443,7 @@ - + @@ -2451,7 +2451,7 @@ - + @@ -2459,69 +2459,69 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2539,7 +2539,7 @@ - + @@ -2551,19 +2551,19 @@ - + - + - + - + - + @@ -2571,67 +2571,67 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2639,25 +2639,25 @@ - + - + - + - + - + - + - + - + @@ -2665,39 +2665,39 @@ - + - + - + - + - + - + - + - + - + - + @@ -2707,43 +2707,43 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -2753,7 +2753,7 @@ - + @@ -2767,21 +2767,21 @@ - + - + - + - + - + @@ -2789,13 +2789,13 @@ - + - + - + @@ -2805,9 +2805,9 @@ - + - + @@ -2819,19 +2819,19 @@ - + - + - + - + - + @@ -2839,49 +2839,49 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2893,19 +2893,19 @@ - + - + - + - + @@ -2917,23 +2917,23 @@ - + - + - + - + - + @@ -2943,7 +2943,7 @@ - + @@ -2959,73 +2959,73 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -12798,7 +12798,7 @@ - + @@ -12807,7 +12807,7 @@ - + @@ -12816,7 +12816,7 @@ - + @@ -19261,7 +19261,7 @@ - + @@ -19289,7 +19289,7 @@ - + @@ -19309,7 +19309,7 @@ - + @@ -19336,7 +19336,7 @@ - + @@ -19345,7 +19345,7 @@ - + @@ -19359,14 +19359,14 @@ - + - + @@ -19377,7 +19377,7 @@ - + @@ -19388,7 +19388,7 @@ - + @@ -19421,7 +19421,7 @@ - + @@ -19441,7 +19441,7 @@ - + @@ -19450,21 +19450,21 @@ - + - + - + @@ -19484,7 +19484,7 @@ - + @@ -19504,7 +19504,7 @@ - + @@ -19513,7 +19513,7 @@ - + @@ -19531,7 +19531,7 @@ - + @@ -19540,7 +19540,7 @@ - + @@ -19569,7 +19569,7 @@ - + @@ -19578,7 +19578,7 @@ - + @@ -19587,7 +19587,7 @@ - + @@ -19598,7 +19598,7 @@ - + @@ -19607,7 +19607,7 @@ - + @@ -19630,7 +19630,7 @@ - + @@ -19639,7 +19639,7 @@ - + @@ -19648,7 +19648,7 @@ - + @@ -19675,7 +19675,7 @@ - + @@ -19711,7 +19711,7 @@ - + @@ -19738,7 +19738,7 @@ - + @@ -19770,14 +19770,14 @@ - + - + @@ -19813,14 +19813,14 @@ - + - + @@ -19845,7 +19845,7 @@ - + @@ -19874,7 +19874,7 @@ - + @@ -19887,7 +19887,7 @@ - + @@ -19933,7 +19933,7 @@ - + @@ -19944,7 +19944,7 @@ - + @@ -19962,7 +19962,7 @@ - + @@ -19973,7 +19973,7 @@ - + @@ -19984,7 +19984,7 @@ - + @@ -20015,7 +20015,7 @@ - + @@ -20039,7 +20039,7 @@ - + @@ -20054,7 +20054,7 @@ - + @@ -20067,7 +20067,7 @@ - + @@ -20078,7 +20078,7 @@ - + @@ -20089,7 +20089,7 @@ - + @@ -20100,14 +20100,14 @@ - + - + @@ -20156,7 +20156,7 @@ - + @@ -20174,14 +20174,14 @@ - + - + @@ -20203,7 +20203,7 @@ - + @@ -20212,7 +20212,7 @@ - + @@ -20288,7 +20288,7 @@ - + @@ -20305,7 +20305,7 @@ - + @@ -20368,7 +20368,7 @@ - + @@ -20397,7 +20397,7 @@ - + @@ -20430,7 +20430,7 @@ - + @@ -20443,7 +20443,7 @@ - + @@ -20465,7 +20465,7 @@ - + @@ -20496,7 +20496,7 @@ - + @@ -20505,7 +20505,7 @@ - + @@ -20514,7 +20514,7 @@ - + @@ -20532,7 +20532,7 @@ - + @@ -20543,7 +20543,7 @@ - + @@ -20554,7 +20554,7 @@ - + @@ -20564,7 +20564,7 @@ - + @@ -20575,7 +20575,7 @@ - + @@ -20585,7 +20585,7 @@ - + @@ -20594,7 +20594,7 @@ - + @@ -20602,7 +20602,7 @@ - + @@ -20634,7 +20634,7 @@ - + @@ -20644,7 +20644,7 @@ - + @@ -20653,7 +20653,7 @@ - + @@ -20672,7 +20672,7 @@ - + @@ -20688,7 +20688,7 @@ - + @@ -20697,7 +20697,7 @@ - + @@ -20713,14 +20713,14 @@ - + - + @@ -20736,14 +20736,14 @@ - + - + @@ -20758,7 +20758,7 @@ - + @@ -20771,7 +20771,7 @@ - + @@ -20795,7 +20795,7 @@ - + @@ -20808,7 +20808,7 @@ - + @@ -20821,7 +20821,7 @@ - + @@ -20832,7 +20832,7 @@ - + @@ -20845,7 +20845,7 @@ - + @@ -20858,7 +20858,7 @@ - + @@ -20895,7 +20895,7 @@ - + @@ -20915,7 +20915,7 @@ - + @@ -20933,7 +20933,7 @@ - + @@ -20973,7 +20973,7 @@ - + @@ -21000,7 +21000,7 @@ - + @@ -21009,7 +21009,7 @@ - + @@ -21041,7 +21041,7 @@ - + @@ -21061,7 +21061,7 @@ - + @@ -21074,7 +21074,7 @@ - + @@ -21094,7 +21094,7 @@ - + @@ -21108,7 +21108,7 @@ - + @@ -21122,7 +21122,7 @@ - + @@ -21175,14 +21175,14 @@ - + - + @@ -21206,7 +21206,7 @@ - + @@ -21251,14 +21251,14 @@ - + - + @@ -21281,7 +21281,7 @@ - + @@ -21292,7 +21292,7 @@ - + @@ -21327,7 +21327,7 @@ - + @@ -21341,7 +21341,7 @@ - + @@ -21352,7 +21352,7 @@ - + @@ -21372,7 +21372,7 @@ - + @@ -21381,7 +21381,7 @@ - + @@ -21417,7 +21417,7 @@ - + @@ -21468,7 +21468,7 @@ - + @@ -21477,7 +21477,7 @@ - + @@ -21497,7 +21497,7 @@ - + @@ -21517,7 +21517,7 @@ - + @@ -21528,7 +21528,7 @@ - + @@ -21564,7 +21564,7 @@ - + @@ -21587,14 +21587,14 @@ - + - + @@ -21605,7 +21605,7 @@ - + @@ -21628,7 +21628,7 @@ - + @@ -21673,7 +21673,7 @@ - + @@ -21687,7 +21687,7 @@ - + @@ -21696,7 +21696,7 @@ - + @@ -21740,7 +21740,7 @@ - + @@ -21754,7 +21754,7 @@ - + @@ -21772,7 +21772,7 @@ - + @@ -21786,7 +21786,7 @@ - + @@ -21905,7 +21905,7 @@ - + @@ -21938,7 +21938,7 @@ - + @@ -21958,7 +21958,7 @@ - + @@ -21985,7 +21985,7 @@ - + @@ -22029,7 +22029,7 @@ - + @@ -22122,14 +22122,14 @@ - + - + @@ -22143,7 +22143,7 @@ - + @@ -22152,7 +22152,7 @@ - + @@ -22170,14 +22170,14 @@ - + - + @@ -22195,7 +22195,7 @@ - + @@ -22204,7 +22204,7 @@ - + @@ -22247,7 +22247,7 @@ - + @@ -22263,7 +22263,7 @@ - + @@ -26271,7 +26271,7 @@ - + @@ -26289,7 +26289,7 @@ - + diff --git a/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi b/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi index 5b1f71346175..c2c233760f4e 100644 --- a/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi +++ b/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi @@ -1098,15 +1098,15 @@ - + - + - + - + @@ -1124,11 +1124,11 @@ - + - + @@ -1138,19 +1138,19 @@ - + - + - + @@ -1164,7 +1164,7 @@ - + @@ -1174,23 +1174,23 @@ - + - + - + - + - + - + @@ -1204,19 +1204,19 @@ - + - + - + - + @@ -41638,7 +41638,7 @@ - + @@ -41655,7 +41655,7 @@ - + @@ -41666,14 +41666,14 @@ - + - + @@ -41698,7 +41698,7 @@ - + @@ -41721,7 +41721,7 @@ - + @@ -41751,14 +41751,14 @@ - + - + @@ -41774,14 +41774,14 @@ - + - + diff --git a/tests/data/test-annotate/test2.so.abi b/tests/data/test-annotate/test2.so.abi index cc40ccd0e3c5..072834a187b5 100644 --- a/tests/data/test-annotate/test2.so.abi +++ b/tests/data/test-annotate/test2.so.abi @@ -7,13 +7,13 @@ - + - + - + - + @@ -55,7 +55,7 @@ - + @@ -96,7 +96,7 @@ - + diff --git a/tests/data/test-annotate/test3.so.abi b/tests/data/test-annotate/test3.so.abi index cbcb456d97c8..ca3790742779 100644 --- a/tests/data/test-annotate/test3.so.abi +++ b/tests/data/test-annotate/test3.so.abi @@ -4,7 +4,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -20,7 +20,7 @@ - + diff --git a/tests/data/test-diff-dwarf/test12-report.txt b/tests/data/test-diff-dwarf/test12-report.txt index e69de29bb2d1..62dd8337d694 100644 --- a/tests/data/test-diff-dwarf/test12-report.txt +++ b/tests/data/test-diff-dwarf/test12-report.txt @@ -0,0 +1,7 @@ +Functions changes summary: 0 Removed, 0 Changed, 1 Added function +Variables changes summary: 0 Removed, 0 Changed, 0 Added variable + +1 Added function: + + [A] 'function int _foo3(int, int)' + diff --git a/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt b/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt index 087cfd4edb89..47250ac7d02a 100644 --- a/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt +++ b/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt @@ -9,9 +9,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable [C] 'method STR::~STR(int)' has some indirect sub-type changes: linkage names of method STR::~STR(int) - changed from '_ZN3STRD1Ev, _ZN3STRD2Ev' to '_ZN3STRD2Ev' - - name of symbol changed from _ZN3STRD1Ev to _ZN3STRD2Ev + changed from '_ZN3STRD2Ev, _ZN3STRD1Ev' to '_ZN3STRD2Ev' parameter 1 of type 'int' was removed [C] 'function std::tuple my_forward_as_tuple(STR&&)' has some indirect sub-type changes: diff --git a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt index 62785044d808..00e19379b88e 100644 --- a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt +++ b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt @@ -266,20 +266,18 @@ ================ end of changes of 'libtbbmalloc.so.2'=============== ================ changes of 'libtbbmalloc_proxy.so.2'=============== - Functions changes summary: 1 Removed, 0 Changed, 5 Added functions + Functions changes summary: 1 Removed, 0 Changed, 3 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 1 Removed function: [D] 'function bool __TBB_internal_find_original_malloc(int, const char**, void**)' {__TBB_internal_find_original_malloc} - 5 Added functions: + 3 Added functions: [A] 'function void __libc_free(void*)' {__libc_free} [A] 'function void* __libc_realloc(void*, size_t)' {__libc_realloc} - [A] 'function void* calloc(size_t, size_t)' {__libc_calloc, aliases calloc} [A] 'function size_t malloc_usable_size(void*)' {malloc_usable_size} - [A] 'function void* valloc(size_t)' {__libc_valloc, aliases valloc} ================ end of changes of 'libtbbmalloc_proxy.so.2'=============== diff --git a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt index bef715b6feca..b201cb46d6b1 100644 --- a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt +++ b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt @@ -140,20 +140,18 @@ ================ end of changes of 'libtbbmalloc.so.2'=============== ================ changes of 'libtbbmalloc_proxy.so.2'=============== - Functions changes summary: 1 Removed, 0 Changed, 5 Added functions + Functions changes summary: 1 Removed, 0 Changed, 3 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 1 Removed function: [D] 'function bool __TBB_internal_find_original_malloc(int, const char**, void**)' {__TBB_internal_find_original_malloc} - 5 Added functions: + 3 Added functions: [A] 'function void __libc_free(void*)' {__libc_free} [A] 'function void* __libc_realloc(void*, size_t)' {__libc_realloc} - [A] 'function void* calloc(size_t, size_t)' {__libc_calloc, aliases calloc} [A] 'function size_t malloc_usable_size(void*)' {malloc_usable_size} - [A] 'function void* valloc(size_t)' {__libc_valloc, aliases valloc} ================ end of changes of 'libtbbmalloc_proxy.so.2'=============== diff --git a/tests/data/test-diff-suppr/test23-alias-filter-4.suppr b/tests/data/test-diff-suppr/test23-alias-filter-4.suppr index 2a7e5893eb43..16edb095bbbf 100644 --- a/tests/data/test-diff-suppr/test23-alias-filter-4.suppr +++ b/tests/data/test-diff-suppr/test23-alias-filter-4.suppr @@ -1,3 +1,3 @@ [suppress_function] - symbol_name_regexp = function1 - allow_other_aliases = no \ No newline at end of file + symbol_name_regexp = __private_function + allow_other_aliases = no diff --git a/tests/data/test-diff-suppr/test23-alias-filter-report-0.txt b/tests/data/test-diff-suppr/test23-alias-filter-report-0.txt index 0788d48931f7..8b06f3151b63 100644 --- a/tests/data/test-diff-suppr/test23-alias-filter-report-0.txt +++ b/tests/data/test-diff-suppr/test23-alias-filter-report-0.txt @@ -4,8 +4,8 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 1 function with some indirect sub-type change: [C] 'function void __private_function(S*)' has some indirect sub-type changes: - Please note that the symbol of this function is function1@VERSION_1.0 - and it aliases symbols: __private_function@PRIVATE_1.0, function2@VERSION_1.0 + Please note that the symbol of this function is __private_function@PRIVATE_1.0 + and it aliases symbols: function2@VERSION_1.0, function1@VERSION_1.0 parameter 1 of type 'S*' has sub-type changes: in pointed to type 'typedef S': underlying type 'struct S' changed: diff --git a/tests/data/test-diff-suppr/test23-alias-filter-report-2.txt b/tests/data/test-diff-suppr/test23-alias-filter-report-2.txt index 0788d48931f7..8b06f3151b63 100644 --- a/tests/data/test-diff-suppr/test23-alias-filter-report-2.txt +++ b/tests/data/test-diff-suppr/test23-alias-filter-report-2.txt @@ -4,8 +4,8 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 1 function with some indirect sub-type change: [C] 'function void __private_function(S*)' has some indirect sub-type changes: - Please note that the symbol of this function is function1@VERSION_1.0 - and it aliases symbols: __private_function@PRIVATE_1.0, function2@VERSION_1.0 + Please note that the symbol of this function is __private_function@PRIVATE_1.0 + and it aliases symbols: function2@VERSION_1.0, function1@VERSION_1.0 parameter 1 of type 'S*' has sub-type changes: in pointed to type 'typedef S': underlying type 'struct S' changed: 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 e7cd4c9a0b81..60086b1e5e3b 100644 --- a/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi +++ b/tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi @@ -36,13 +36,13 @@ - - + + - - + + @@ -50,31 +50,31 @@ - + - + - - + + - - + + - + - + @@ -90,8 +90,8 @@ - - + + @@ -100,8 +100,8 @@ - - + + @@ -532,7 +532,7 @@ - + @@ -665,13 +665,13 @@ - + - + @@ -816,7 +816,7 @@ - + @@ -884,7 +884,7 @@ - + @@ -908,7 +908,7 @@ - + @@ -1685,7 +1685,7 @@ - + @@ -1849,7 +1849,7 @@ - + diff --git a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi index 28df268d52a5..e5b2fbbaa610 100644 --- a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi +++ b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi @@ -151,8 +151,8 @@ - - + + @@ -7133,7 +7133,7 @@ - + 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 bc8d8ae212e6..d3ac0757f79e 100644 --- a/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi +++ b/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi @@ -36,8 +36,8 @@ - - + + @@ -45,24 +45,24 @@ - + - + - - + + - - - - - - + + + + + + @@ -88,16 +88,16 @@ - - + + - + - - + + - + @@ -109,10 +109,10 @@ - - - - + + + + @@ -167,30 +167,30 @@ - + - + - + - + - - + + - - + + - - + + @@ -213,27 +213,27 @@ - - + + - - + + - - + + - - + + - - + + @@ -254,24 +254,24 @@ - - - - + + + + - + - + - - + + - - + + @@ -282,8 +282,8 @@ - - + + @@ -362,9 +362,9 @@ - + - + @@ -2205,7 +2205,7 @@ - + @@ -2728,7 +2728,7 @@ - + @@ -3029,7 +3029,7 @@ - + @@ -3113,7 +3113,7 @@ - + @@ -3283,13 +3283,13 @@ - + - + @@ -3297,7 +3297,7 @@ - + @@ -3305,7 +3305,7 @@ - + @@ -6260,13 +6260,13 @@ - + - + @@ -6280,7 +6280,7 @@ - + @@ -6351,7 +6351,7 @@ - + @@ -6640,7 +6640,7 @@ - + @@ -6808,7 +6808,7 @@ - + @@ -6991,7 +6991,7 @@ - + @@ -7549,20 +7549,20 @@ - + - + - + @@ -7591,20 +7591,20 @@ - + - + - + @@ -7627,7 +7627,7 @@ - + @@ -7968,13 +7968,13 @@ - + - + @@ -8059,20 +8059,20 @@ - + - + - + @@ -8247,7 +8247,7 @@ - + @@ -8288,7 +8288,7 @@ - + @@ -8470,7 +8470,7 @@ - + @@ -8479,7 +8479,7 @@ - + @@ -8530,35 +8530,35 @@ - + - + - + - + - + @@ -8813,7 +8813,7 @@ - + @@ -8971,7 +8971,7 @@ - + @@ -8985,7 +8985,7 @@ - + @@ -9936,7 +9936,7 @@ - + diff --git a/tests/data/test-read-dwarf/test11-pr18828.so.abi b/tests/data/test-read-dwarf/test11-pr18828.so.abi index 6789be55ab44..f3c07f9bf34d 100644 --- a/tests/data/test-read-dwarf/test11-pr18828.so.abi +++ b/tests/data/test-read-dwarf/test11-pr18828.so.abi @@ -40,24 +40,24 @@ - - - - + + + + - + - - + + - + - - + + @@ -71,22 +71,22 @@ - - - - + + + + - - - - + + + + - - - - + + + + @@ -97,16 +97,16 @@ - - - - + + + + - - + + @@ -115,8 +115,8 @@ - - + + @@ -130,11 +130,11 @@ - - + + - - + + @@ -145,20 +145,20 @@ - - + + - - + + - - + + - - + + @@ -171,8 +171,8 @@ - - + + @@ -183,11 +183,11 @@ - + - - - + + + @@ -205,8 +205,8 @@ - - + + @@ -232,44 +232,44 @@ - - - - - - - - + + + + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - + + - - + + @@ -326,25 +326,25 @@ - + - - - + + + - - - - - - - - - - + + + + + + + + + + @@ -352,30 +352,30 @@ - - + + - - - - - - + + + + + + - - - - + + + + @@ -383,12 +383,12 @@ - - - - - - + + + + + + @@ -398,31 +398,31 @@ - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - + + @@ -431,34 +431,34 @@ - - - - - - + + + + + + - - + + - - + + - - + + - - + + @@ -469,12 +469,12 @@ - - + + - - + + @@ -494,20 +494,20 @@ - - - - - - + + + + + + - - + + - - + + @@ -518,33 +518,33 @@ - - - - - - + + + + + + - - - - - - - - + + + + + + + + - - - - + + + + @@ -568,12 +568,12 @@ - + - + - - + + @@ -7054,7 +7054,7 @@ - + @@ -7089,7 +7089,7 @@ - + @@ -7188,14 +7188,14 @@ - + - + @@ -7840,7 +7840,7 @@ - + @@ -7939,14 +7939,14 @@ - + - + @@ -7975,14 +7975,14 @@ - + - + @@ -8538,20 +8538,20 @@ - + - + - + @@ -8600,13 +8600,13 @@ - + - + @@ -8727,20 +8727,20 @@ - + - + - + @@ -8800,7 +8800,7 @@ - + @@ -8814,7 +8814,7 @@ - + @@ -8967,7 +8967,7 @@ - + @@ -8975,7 +8975,7 @@ - + @@ -8990,7 +8990,7 @@ - + @@ -9500,7 +9500,7 @@ - + @@ -9549,7 +9549,7 @@ - + @@ -10200,14 +10200,14 @@ - + - + @@ -10248,14 +10248,14 @@ - + - + @@ -10708,7 +10708,7 @@ - + @@ -11458,7 +11458,7 @@ - + @@ -11621,7 +11621,7 @@ - + @@ -11672,7 +11672,7 @@ - + @@ -11837,7 +11837,7 @@ - + @@ -16506,7 +16506,7 @@ - + @@ -20088,7 +20088,7 @@ - + @@ -20155,7 +20155,7 @@ - + @@ -20443,11 +20443,11 @@ - + - + @@ -20507,7 +20507,7 @@ - + @@ -20771,7 +20771,7 @@ - + @@ -20841,7 +20841,7 @@ - + @@ -20934,7 +20934,7 @@ - + @@ -21067,7 +21067,7 @@ - + @@ -21109,7 +21109,7 @@ - + @@ -21267,7 +21267,7 @@ - + @@ -21280,7 +21280,7 @@ - + @@ -21463,13 +21463,13 @@ - + - + @@ -23168,7 +23168,7 @@ - + @@ -25095,7 +25095,7 @@ - + @@ -25220,7 +25220,7 @@ - + @@ -25764,14 +25764,14 @@ - + - + @@ -25940,14 +25940,14 @@ - + - + @@ -26031,7 +26031,7 @@ - + @@ -26046,21 +26046,21 @@ - + - + - + @@ -26309,14 +26309,14 @@ - + - + @@ -30237,13 +30237,13 @@ - + - + @@ -30454,14 +30454,14 @@ - + - + @@ -30848,7 +30848,7 @@ - + @@ -31418,7 +31418,7 @@ - + @@ -31605,7 +31605,7 @@ - + @@ -31854,14 +31854,14 @@ - + - + @@ -33194,7 +33194,7 @@ - + @@ -33225,7 +33225,7 @@ - + @@ -34445,14 +34445,14 @@ - + - + @@ -34854,7 +34854,7 @@ - + @@ -34894,7 +34894,7 @@ - + @@ -34953,7 +34953,7 @@ - + @@ -34975,7 +34975,7 @@ - + @@ -35035,7 +35035,7 @@ - + @@ -35050,7 +35050,7 @@ - + @@ -35201,7 +35201,7 @@ - + @@ -35226,7 +35226,7 @@ - + @@ -35293,7 +35293,7 @@ - + @@ -35318,7 +35318,7 @@ - + @@ -36146,13 +36146,13 @@ - + - + diff --git a/tests/data/test-read-dwarf/test12-pr18844.so.abi b/tests/data/test-read-dwarf/test12-pr18844.so.abi index e5bf9c0cd26f..57e1da3f401a 100644 --- a/tests/data/test-read-dwarf/test12-pr18844.so.abi +++ b/tests/data/test-read-dwarf/test12-pr18844.so.abi @@ -231,47 +231,47 @@ - - + + - - + + - - + + - - - + + + - + - - + + - - + + - - - - + + + + - - + + @@ -27045,7 +27045,7 @@ - + @@ -27072,7 +27072,7 @@ - + @@ -27086,7 +27086,7 @@ - + @@ -27139,7 +27139,7 @@ - + @@ -27149,7 +27149,7 @@ - + @@ -27243,7 +27243,7 @@ - + @@ -27376,7 +27376,7 @@ - + @@ -36822,7 +36822,7 @@ - + @@ -40693,14 +40693,14 @@ - + - + diff --git a/tests/data/test-read-dwarf/test15-pr18892.so.abi b/tests/data/test-read-dwarf/test15-pr18892.so.abi index 6dc283718846..c7e5f575986a 100644 --- a/tests/data/test-read-dwarf/test15-pr18892.so.abi +++ b/tests/data/test-read-dwarf/test15-pr18892.so.abi @@ -101,72 +101,72 @@ - + - + - - - - - - + + + + + + - - + + - + - - + + - + - + - - - - + + + + - - - - - + + + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -175,209 +175,209 @@ - + - + - - - + + + - + - - + + - + - - + + - - + + - - + + - - + + - + - - + + - - + + - + - - + + - - - - - - + + + + + + - - + + - - - + + + - - - + + + - + - + - + - - + + - - - - - + + + + + - - - + + + - + - + - + - - + + - + - + - + - - + + - - + + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - - - + + + - + - + - + - + - + - - + + - - + + - + - - + + - + @@ -385,50 +385,50 @@ - + - + - + - + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - + - + - - - - - - + + + + + + - - + + @@ -1116,9 +1116,9 @@ - + - + @@ -1208,9 +1208,9 @@ - + - + @@ -1219,53 +1219,53 @@ - + - - + + - + - + - - - - + + + + - - - - - + + + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -1274,209 +1274,209 @@ - + - + - - - + + + - + - - + + - + - - + + - - + + - - + + - - + + - + - - + + - - + + - + - - + + - - - - - - + + + + + + - - + + - - - + + + - - - + + + - + - + - + - - + + - - - - - + + + + + - - - + + + - + - + - + - - + + - + - + - + - - + + - - + + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - - - + + + - + - + - + - + - + - - + + - - + + - + - - + + - + @@ -1484,40 +1484,40 @@ - + - + - + - + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - + - + @@ -7414,17 +7414,17 @@ - + - + - + @@ -10937,7 +10937,7 @@ - + @@ -10952,7 +10952,7 @@ - + @@ -10963,7 +10963,7 @@ - + @@ -10978,12 +10978,12 @@ - + - + @@ -10991,23 +10991,23 @@ - + - + - + - + @@ -11025,7 +11025,7 @@ - + @@ -11036,20 +11036,20 @@ - + - + - + - + @@ -11060,7 +11060,7 @@ - + @@ -11071,12 +11071,12 @@ - + - + @@ -11086,12 +11086,12 @@ - + - + @@ -11107,28 +11107,28 @@ - + - + - + - + - + @@ -11141,17 +11141,17 @@ - + - + - + @@ -11166,7 +11166,7 @@ - + @@ -11186,7 +11186,7 @@ - + @@ -11201,7 +11201,7 @@ - + @@ -11219,11 +11219,11 @@ - + - + @@ -11243,11 +11243,11 @@ - + - + @@ -11261,7 +11261,7 @@ - + @@ -11277,14 +11277,14 @@ - + - + @@ -11309,13 +11309,13 @@ - + - + @@ -11325,19 +11325,19 @@ - + - + - + @@ -11354,7 +11354,7 @@ - + @@ -11367,7 +11367,7 @@ - + @@ -11375,36 +11375,36 @@ - + - + - + - + - + - + @@ -11431,7 +11431,7 @@ - + @@ -11441,11 +11441,11 @@ - + - + @@ -11457,12 +11457,12 @@ - + - + @@ -11503,7 +11503,7 @@ - + @@ -11512,7 +11512,7 @@ - + @@ -11546,7 +11546,7 @@ - + @@ -11562,7 +11562,7 @@ - + @@ -11580,14 +11580,14 @@ - + - + @@ -11599,7 +11599,7 @@ - + @@ -11616,17 +11616,17 @@ - + - + - + @@ -11636,47 +11636,47 @@ - + - + - + - + - + - + - + - + @@ -11694,18 +11694,18 @@ - + - + - + @@ -11716,7 +11716,7 @@ - + @@ -11725,12 +11725,12 @@ - + - + @@ -11739,11 +11739,11 @@ - + - + @@ -11752,11 +11752,11 @@ - + - + @@ -11764,14 +11764,14 @@ - + - + @@ -11784,41 +11784,41 @@ - + - + - + - + - + - + @@ -11838,7 +11838,7 @@ - + @@ -11849,7 +11849,7 @@ - + @@ -11859,7 +11859,7 @@ - + @@ -11881,7 +11881,7 @@ - + @@ -11896,12 +11896,12 @@ - + - + @@ -11919,7 +11919,7 @@ - + @@ -11930,14 +11930,14 @@ - + - + @@ -11948,7 +11948,7 @@ - + @@ -11956,7 +11956,7 @@ - + @@ -11964,7 +11964,7 @@ - + @@ -11993,11 +11993,11 @@ - + - + @@ -12010,7 +12010,7 @@ - + @@ -12035,11 +12035,11 @@ - + - + @@ -12052,13 +12052,13 @@ - + - + @@ -12077,7 +12077,7 @@ - + @@ -12085,13 +12085,13 @@ - + - + @@ -12102,12 +12102,12 @@ - + - + @@ -12127,7 +12127,7 @@ - + @@ -12155,12 +12155,12 @@ - + - + @@ -12171,7 +12171,7 @@ - + @@ -12182,13 +12182,13 @@ - + - + @@ -12208,7 +12208,7 @@ - + @@ -12221,17 +12221,17 @@ - + - + - + @@ -12244,7 +12244,7 @@ - + @@ -12269,7 +12269,7 @@ - + @@ -12277,12 +12277,12 @@ - + - + @@ -12307,7 +12307,7 @@ - + @@ -12315,7 +12315,7 @@ - + @@ -12325,7 +12325,7 @@ - + @@ -12333,7 +12333,7 @@ - + @@ -12399,7 +12399,7 @@ - + @@ -12417,7 +12417,7 @@ - + @@ -12428,7 +12428,7 @@ - + @@ -12443,7 +12443,7 @@ - + @@ -12467,7 +12467,7 @@ - + @@ -12519,11 +12519,11 @@ - + - + @@ -12531,12 +12531,12 @@ - + - + @@ -12546,11 +12546,11 @@ - + - + @@ -12560,12 +12560,12 @@ - + - + @@ -12589,7 +12589,7 @@ - + @@ -12598,7 +12598,7 @@ - + @@ -14768,7 +14768,7 @@ - + @@ -14778,7 +14778,7 @@ - + diff --git a/tests/data/test-read-dwarf/test16-pr18904.so.abi b/tests/data/test-read-dwarf/test16-pr18904.so.abi index 8706ed606c56..49262964fd08 100644 --- a/tests/data/test-read-dwarf/test16-pr18904.so.abi +++ b/tests/data/test-read-dwarf/test16-pr18904.so.abi @@ -41,16 +41,16 @@ - - - - + + + + - - - - + + + + @@ -58,8 +58,8 @@ - - + + @@ -67,16 +67,16 @@ - - + + - - + + @@ -95,11 +95,11 @@ - - + + - - + + @@ -123,10 +123,10 @@ - - - - + + + + @@ -156,10 +156,10 @@ - - - - + + + + @@ -180,18 +180,18 @@ - - - - + + + + - - + + @@ -199,14 +199,14 @@ - + - + - - + + @@ -215,20 +215,20 @@ - - + + - - + + - - + + @@ -242,30 +242,30 @@ - + - + - - + + - - + + - + - + - - + + @@ -273,35 +273,35 @@ - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + @@ -316,8 +316,8 @@ - - + + @@ -329,30 +329,30 @@ - - + + - - - - + + + + - + - + - - + + @@ -386,20 +386,20 @@ - - - - + + + + - - + + - - + + @@ -584,57 +584,57 @@ - - - - + + + + - - + + - - - - + + + + - - + + - - - - + + + + - - + + - - + + - - - - - - + + + + + + - - + + @@ -647,7 +647,7 @@ - + @@ -655,17 +655,17 @@ - + - + - + @@ -687,10 +687,10 @@ - - - - + + + + @@ -706,17 +706,17 @@ - - - - + + + + - - + + - - + + @@ -725,73 +725,73 @@ - - + + - - + + - - + + - - + + - - - - + + + + - - + + - - + + - - + + - - + + - - + + - + - + - + - + @@ -819,28 +819,28 @@ - - + + - - + + - - + + - - + + - - + + @@ -859,20 +859,20 @@ - + - + - + - + - - + + @@ -881,8 +881,8 @@ - - + + @@ -892,40 +892,40 @@ - - + + - + - + - + - + - + - + - - + + - - + + @@ -934,18 +934,18 @@ - - - - + + + + - - + + @@ -956,63 +956,63 @@ - + - + - + - + - + - + - + - + - + - - - + + + - - - - - - - - - + + + + + + + + + - - + + - - + + - - - + + + @@ -1025,13 +1025,13 @@ - - - - + + + + - - + + @@ -1040,10 +1040,10 @@ - - - - + + + + @@ -1056,8 +1056,8 @@ - - + + @@ -1069,8 +1069,8 @@ - - + + @@ -1100,10 +1100,10 @@ - - - - + + + + @@ -1119,8 +1119,8 @@ - - + + @@ -1134,8 +1134,8 @@ - - + + @@ -1145,45 +1145,45 @@ - - + + - - + + - - + + - + - + - + - + - - + + - - + + @@ -1194,8 +1194,8 @@ - - + + @@ -1207,8 +1207,8 @@ - - + + @@ -1218,23 +1218,23 @@ - - + + - - + + - - + + - - + + @@ -1255,8 +1255,8 @@ - - + + @@ -1281,13 +1281,13 @@ - - - - + + + + - - + + @@ -1296,8 +1296,8 @@ - - + + @@ -1341,16 +1341,16 @@ - - + + - - + + @@ -1371,8 +1371,8 @@ - - + + @@ -1382,16 +1382,16 @@ - + - + - - - - + + + + @@ -1400,8 +1400,8 @@ - - + + @@ -1423,11 +1423,11 @@ - + - - - + + + @@ -1479,9 +1479,9 @@ - + - + @@ -1525,12 +1525,12 @@ - + - - + + - + @@ -2577,14 +2577,14 @@ - + - + @@ -2656,7 +2656,7 @@ - + @@ -2735,14 +2735,14 @@ - + - + @@ -2750,14 +2750,14 @@ - + - + @@ -2880,7 +2880,7 @@ - + @@ -2984,7 +2984,7 @@ - + @@ -3035,7 +3035,7 @@ - + @@ -3436,7 +3436,7 @@ - + @@ -3454,7 +3454,7 @@ - + @@ -4853,7 +4853,7 @@ - + @@ -5720,13 +5720,13 @@ - + - + @@ -6265,7 +6265,7 @@ - + @@ -6798,14 +6798,14 @@ - + - + @@ -6852,7 +6852,7 @@ - + @@ -6996,7 +6996,7 @@ - + @@ -7521,7 +7521,7 @@ - + @@ -7543,7 +7543,7 @@ - + @@ -7551,7 +7551,7 @@ - + @@ -7728,7 +7728,7 @@ - + @@ -8259,7 +8259,7 @@ - + @@ -8616,7 +8616,7 @@ - + @@ -8624,7 +8624,7 @@ - + @@ -8679,14 +8679,14 @@ - + - + @@ -8981,14 +8981,14 @@ - + - + @@ -9331,7 +9331,7 @@ - + @@ -9488,7 +9488,7 @@ - + @@ -9707,7 +9707,7 @@ - + @@ -9840,14 +9840,14 @@ - + - + @@ -10003,7 +10003,7 @@ - + @@ -10223,7 +10223,7 @@ - + @@ -10247,7 +10247,7 @@ - + @@ -10365,14 +10365,14 @@ - + - + @@ -10736,7 +10736,7 @@ - + @@ -11486,7 +11486,7 @@ - + @@ -11510,13 +11510,13 @@ - + - + @@ -11554,7 +11554,7 @@ - + @@ -11852,14 +11852,14 @@ - + - + @@ -11973,7 +11973,7 @@ - + @@ -11987,7 +11987,7 @@ - + @@ -12055,7 +12055,7 @@ - + @@ -12127,7 +12127,7 @@ - + @@ -12135,7 +12135,7 @@ - + @@ -12151,7 +12151,7 @@ - + @@ -12218,7 +12218,7 @@ - + @@ -12330,7 +12330,7 @@ - + @@ -12338,7 +12338,7 @@ - + @@ -12750,7 +12750,7 @@ - + @@ -13466,7 +13466,7 @@ - + @@ -13475,7 +13475,7 @@ - + @@ -13529,7 +13529,7 @@ - + @@ -13626,7 +13626,7 @@ - + @@ -13975,7 +13975,7 @@ - + @@ -14392,19 +14392,19 @@ - + - + - + @@ -14433,7 +14433,7 @@ - + @@ -14501,7 +14501,7 @@ - + @@ -15154,13 +15154,13 @@ - + - + @@ -15175,7 +15175,7 @@ - + @@ -15209,7 +15209,7 @@ - + @@ -15218,7 +15218,7 @@ - + @@ -15228,7 +15228,7 @@ - + @@ -15241,7 +15241,7 @@ - + @@ -15279,33 +15279,33 @@ - + - + - + - + - + @@ -15396,7 +15396,7 @@ - + @@ -16172,14 +16172,14 @@ - + - + @@ -16401,7 +16401,7 @@ - + @@ -16747,7 +16747,7 @@ - + @@ -16853,7 +16853,7 @@ - + @@ -17244,7 +17244,7 @@ - + @@ -17300,7 +17300,7 @@ - + @@ -18388,7 +18388,7 @@ - + @@ -18455,7 +18455,7 @@ - + @@ -18567,7 +18567,7 @@ - + @@ -18699,7 +18699,7 @@ - + @@ -18712,7 +18712,7 @@ - + @@ -18847,7 +18847,7 @@ - + @@ -18860,7 +18860,7 @@ - + @@ -19378,7 +19378,7 @@ - + @@ -19399,7 +19399,7 @@ - + @@ -19729,7 +19729,7 @@ - + @@ -19737,7 +19737,7 @@ - + @@ -20058,7 +20058,7 @@ - + @@ -20351,7 +20351,7 @@ - + @@ -20361,7 +20361,7 @@ - + @@ -20639,14 +20639,14 @@ - + - + @@ -20677,7 +20677,7 @@ - + @@ -20951,13 +20951,13 @@ - + - + @@ -21285,7 +21285,7 @@ - + @@ -21710,7 +21710,7 @@ - + @@ -21724,7 +21724,7 @@ - + @@ -21738,7 +21738,7 @@ - + @@ -21807,7 +21807,7 @@ - + @@ -22362,7 +22362,7 @@ - + @@ -22972,7 +22972,7 @@ - + @@ -22980,7 +22980,7 @@ - + @@ -23193,14 +23193,14 @@ - + - + @@ -23265,7 +23265,7 @@ - + @@ -23834,7 +23834,7 @@ - + @@ -23868,7 +23868,7 @@ - + @@ -24105,7 +24105,7 @@ - + @@ -24113,7 +24113,7 @@ - + @@ -24306,7 +24306,7 @@ - + @@ -24374,7 +24374,7 @@ - + @@ -24490,7 +24490,7 @@ - + @@ -24797,14 +24797,14 @@ - + - + @@ -24909,7 +24909,7 @@ - + @@ -26938,7 +26938,7 @@ - + @@ -27080,7 +27080,7 @@ - + @@ -27611,14 +27611,14 @@ - + - + @@ -27671,7 +27671,7 @@ - + @@ -28818,7 +28818,7 @@ - + @@ -28939,7 +28939,7 @@ - + @@ -28947,7 +28947,7 @@ - + @@ -29062,7 +29062,7 @@ - + @@ -30401,14 +30401,14 @@ - + - + @@ -30627,14 +30627,14 @@ - + - + @@ -30704,7 +30704,7 @@ - + @@ -30770,7 +30770,7 @@ - + @@ -30850,14 +30850,14 @@ - + - + @@ -30934,7 +30934,7 @@ - + @@ -31000,7 +31000,7 @@ - + @@ -31192,7 +31192,7 @@ - + @@ -31202,7 +31202,7 @@ - + @@ -31297,7 +31297,7 @@ - + @@ -31472,7 +31472,7 @@ - + @@ -31544,7 +31544,7 @@ - + @@ -31717,7 +31717,7 @@ - + @@ -31978,7 +31978,7 @@ - + @@ -31986,7 +31986,7 @@ - + @@ -32436,7 +32436,7 @@ - + @@ -32732,7 +32732,7 @@ - + @@ -33369,7 +33369,7 @@ - + @@ -33561,14 +33561,14 @@ - + - + @@ -33613,7 +33613,7 @@ - + @@ -34162,14 +34162,14 @@ - + - + @@ -34259,7 +34259,7 @@ - + @@ -34274,13 +34274,13 @@ - + - + @@ -35207,7 +35207,7 @@ - + @@ -35220,7 +35220,7 @@ - + @@ -35233,7 +35233,7 @@ - + @@ -35246,7 +35246,7 @@ - + @@ -35259,7 +35259,7 @@ - + @@ -35319,7 +35319,7 @@ - + @@ -35373,7 +35373,7 @@ - + @@ -35508,7 +35508,7 @@ - + @@ -35554,7 +35554,7 @@ - + @@ -35607,7 +35607,7 @@ - + diff --git a/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi b/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi index 391968ebbc51..9110d9c7f2ef 100644 --- a/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi +++ b/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi @@ -553,11 +553,11 @@ - - - + + + - + @@ -566,53 +566,53 @@ - + - + - + - + - + - + - - + + - - + + - - + + - + - - + + - + @@ -26358,7 +26358,7 @@ - + @@ -26368,17 +26368,17 @@ - + - + - + @@ -26392,7 +26392,7 @@ - + @@ -26405,7 +26405,7 @@ - + @@ -26422,11 +26422,11 @@ - + - + @@ -26435,11 +26435,11 @@ - + - + diff --git a/tests/data/test-read-dwarf/test2.so.abi b/tests/data/test-read-dwarf/test2.so.abi index 98dd9a607266..e3cee34c5826 100644 --- a/tests/data/test-read-dwarf/test2.so.abi +++ b/tests/data/test-read-dwarf/test2.so.abi @@ -6,10 +6,10 @@ - - - - + + + + @@ -35,7 +35,7 @@ - + @@ -63,7 +63,7 @@ - + diff --git a/tests/data/test-read-dwarf/test2.so.hash.abi b/tests/data/test-read-dwarf/test2.so.hash.abi index bb814f733f1d..5e1ae6d13ba7 100644 --- a/tests/data/test-read-dwarf/test2.so.hash.abi +++ b/tests/data/test-read-dwarf/test2.so.hash.abi @@ -6,10 +6,10 @@ - - - - + + + + @@ -35,7 +35,7 @@ - + @@ -63,7 +63,7 @@ - + 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 438d712fb477..5b141a06c073 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 @@ -7,32 +7,32 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -736,14 +736,14 @@ - + - + - + - + @@ -837,32 +837,32 @@ - - + + - + - + - - + + - - - + + + - + - + - - + + - + @@ -949,8 +949,8 @@ - - + + @@ -985,8 +985,8 @@ - - + + @@ -1075,33 +1075,33 @@ - - - + + + - + - - + + - - - + + + - + - - + + - - + + @@ -1130,45 +1130,45 @@ - + - - + + - + - - + + - + - + - + - - + + - + - - - - - - + + + + + + - - + + @@ -1179,25 +1179,25 @@ - - + + - - + + - - - - - - + + + + + + - - + + @@ -1205,16 +1205,16 @@ - - - - + + + + - - + + - - + + @@ -1229,16 +1229,16 @@ - - + + - - + + @@ -1257,11 +1257,11 @@ - - + + - - + + @@ -1273,25 +1273,25 @@ - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - + + @@ -1304,8 +1304,8 @@ - - + + @@ -1360,8 +1360,8 @@ - - + + @@ -1420,8 +1420,8 @@ - - + + @@ -1456,8 +1456,8 @@ - - + + @@ -1493,8 +1493,8 @@ - - + + @@ -1557,36 +1557,36 @@ - - + + - - + + - - + + - - + + - - + + - - + + @@ -1597,12 +1597,12 @@ - + - - + + - + @@ -1646,8 +1646,8 @@ - - + + @@ -1683,9 +1683,9 @@ - + - + @@ -1703,9 +1703,9 @@ - + - + @@ -1721,59 +1721,59 @@ - + - + - - + + - - + + - - + + - - - - + + + + - - + + - - - - + + + + - - + + - - + + - - + + - - + + @@ -1781,61 +1781,61 @@ - - + + - - + + - - - - + + + + - - - - + + + + - - + + - - + + - - + + - - - - + + + + - - + + - - + + - - + + - - + + @@ -1869,8 +1869,8 @@ - - + + @@ -1909,24 +1909,24 @@ - - + + - + - + - - + + - - - - + + + + - - + + @@ -1947,37 +1947,37 @@ - + - + - - + + - - + + - - - - + + + + - - - - + + + + - - + + @@ -1995,24 +1995,24 @@ - - + + - - + + - + - + - - - - + + + + @@ -2021,16 +2021,16 @@ - - + + - - + + - - + + @@ -2044,23 +2044,23 @@ - - - - + + + + - - + + - - + + - - + + @@ -2068,33 +2068,33 @@ - - - - + + + + - - + + - - + + - - - - - - + + + + + + - - + + @@ -2108,19 +2108,19 @@ - - + + - + - + - - + + @@ -2148,12 +2148,12 @@ - + - + - - + + @@ -2173,20 +2173,20 @@ - - + + - - - - + + + + - - + + @@ -3698,7 +3698,7 @@ - + @@ -3776,7 +3776,7 @@ - + @@ -4004,7 +4004,7 @@ - + @@ -4833,13 +4833,13 @@ - + - + @@ -4996,7 +4996,7 @@ - + @@ -5036,7 +5036,7 @@ - + @@ -5080,7 +5080,7 @@ - + @@ -5223,7 +5223,7 @@ - + @@ -5473,7 +5473,7 @@ - + @@ -5815,7 +5815,7 @@ - + @@ -6685,7 +6685,7 @@ - + @@ -6779,7 +6779,7 @@ - + @@ -8715,7 +8715,7 @@ - + @@ -10155,7 +10155,7 @@ - + @@ -10182,7 +10182,7 @@ - + @@ -10470,7 +10470,7 @@ - + @@ -10728,7 +10728,7 @@ - + @@ -10749,7 +10749,7 @@ - + @@ -10803,13 +10803,13 @@ - + - + @@ -11178,7 +11178,7 @@ - + @@ -11701,7 +11701,7 @@ - + @@ -12080,7 +12080,7 @@ - + @@ -13468,14 +13468,14 @@ - + - + @@ -13489,7 +13489,7 @@ - + @@ -13498,7 +13498,7 @@ - + @@ -13526,7 +13526,7 @@ - + @@ -13534,7 +13534,7 @@ - + @@ -13543,7 +13543,7 @@ - + @@ -13608,7 +13608,7 @@ - + @@ -15376,14 +15376,14 @@ - + - + @@ -15398,7 +15398,7 @@ - + @@ -15419,7 +15419,7 @@ - + @@ -15437,7 +15437,7 @@ - + @@ -15446,7 +15446,7 @@ - + @@ -15482,7 +15482,7 @@ - + @@ -15544,7 +15544,7 @@ - + @@ -16362,7 +16362,7 @@ - + @@ -17565,7 +17565,7 @@ - + @@ -19545,7 +19545,7 @@ - + @@ -19605,7 +19605,7 @@ - + @@ -22174,7 +22174,7 @@ - + @@ -26389,7 +26389,7 @@ - + @@ -28444,7 +28444,7 @@ - + @@ -28598,14 +28598,14 @@ - + - + @@ -29017,21 +29017,21 @@ - + - + - + @@ -29044,7 +29044,7 @@ - + @@ -29060,7 +29060,7 @@ - + @@ -29635,7 +29635,7 @@ - + @@ -29884,14 +29884,14 @@ - + - + @@ -29913,7 +29913,7 @@ - + @@ -30597,7 +30597,7 @@ - + @@ -31008,7 +31008,7 @@ - + @@ -31767,7 +31767,7 @@ - + @@ -32051,7 +32051,7 @@ - + @@ -33322,7 +33322,7 @@ - + @@ -33345,7 +33345,7 @@ - + @@ -36349,7 +36349,7 @@ - + @@ -36371,7 +36371,7 @@ - + @@ -36389,7 +36389,7 @@ - + @@ -36429,7 +36429,7 @@ - + @@ -36469,7 +36469,7 @@ - + @@ -36491,7 +36491,7 @@ - + @@ -36534,7 +36534,7 @@ - + @@ -36577,7 +36577,7 @@ - + @@ -36595,7 +36595,7 @@ - + @@ -36635,7 +36635,7 @@ - + @@ -36657,7 +36657,7 @@ - + @@ -36993,7 +36993,7 @@ - + @@ -37249,7 +37249,7 @@ - + @@ -37599,7 +37599,7 @@ - + @@ -37620,7 +37620,7 @@ - + @@ -37799,7 +37799,7 @@ - + @@ -37897,7 +37897,7 @@ - + @@ -38237,7 +38237,7 @@ - + @@ -38344,7 +38344,7 @@ - + @@ -38950,7 +38950,7 @@ - + @@ -39108,7 +39108,7 @@ - + @@ -39667,14 +39667,14 @@ - + - + @@ -39841,7 +39841,7 @@ - + @@ -39985,7 +39985,7 @@ - + @@ -40000,7 +40000,7 @@ - + @@ -40023,7 +40023,7 @@ - + @@ -40163,7 +40163,7 @@ - + @@ -40184,7 +40184,7 @@ - + @@ -40317,7 +40317,7 @@ - + @@ -40480,7 +40480,7 @@ - + @@ -40501,7 +40501,7 @@ - + @@ -40638,7 +40638,7 @@ - + @@ -40646,7 +40646,7 @@ - + @@ -40900,14 +40900,14 @@ - + - + @@ -40915,7 +40915,7 @@ - + @@ -40937,7 +40937,7 @@ - + @@ -41045,7 +41045,7 @@ - + @@ -41074,7 +41074,7 @@ - + @@ -41218,7 +41218,7 @@ - + @@ -41233,7 +41233,7 @@ - + @@ -41535,14 +41535,14 @@ - + - + @@ -41550,7 +41550,7 @@ - + @@ -41573,7 +41573,7 @@ - + @@ -41864,14 +41864,14 @@ - + - + @@ -41879,7 +41879,7 @@ - + @@ -41902,7 +41902,7 @@ - + @@ -41990,14 +41990,14 @@ - + - + @@ -42230,7 +42230,7 @@ - + @@ -42251,7 +42251,7 @@ - + @@ -42436,7 +42436,7 @@ - + @@ -44632,7 +44632,7 @@ - + @@ -44658,7 +44658,7 @@ - + @@ -44702,7 +44702,7 @@ - + @@ -44723,7 +44723,7 @@ - + @@ -44799,7 +44799,7 @@ - + @@ -44854,7 +44854,7 @@ - + @@ -44913,7 +44913,7 @@ - + @@ -44930,7 +44930,7 @@ - + @@ -44951,7 +44951,7 @@ - + @@ -45250,7 +45250,7 @@ - + @@ -45265,7 +45265,7 @@ - + @@ -45273,7 +45273,7 @@ - + @@ -45281,7 +45281,7 @@ - + @@ -45289,7 +45289,7 @@ - + @@ -45298,7 +45298,7 @@ - + @@ -45307,7 +45307,7 @@ - + @@ -45330,7 +45330,7 @@ - + @@ -46537,14 +46537,14 @@ - + - + @@ -48115,7 +48115,7 @@ - + @@ -48155,7 +48155,7 @@ - + @@ -48195,7 +48195,7 @@ - + @@ -48238,7 +48238,7 @@ - + @@ -48303,7 +48303,7 @@ - + @@ -48321,7 +48321,7 @@ - + @@ -48361,7 +48361,7 @@ - + @@ -48766,7 +48766,7 @@ - + @@ -49243,7 +49243,7 @@ - + diff --git a/tests/data/test-read-dwarf/test3.so.abi b/tests/data/test-read-dwarf/test3.so.abi index 7357a7401c6e..96d8cc310237 100644 --- a/tests/data/test-read-dwarf/test3.so.abi +++ b/tests/data/test-read-dwarf/test3.so.abi @@ -3,16 +3,16 @@ - + - + - + diff --git a/tests/data/test-read-dwarf/test3.so.hash.abi b/tests/data/test-read-dwarf/test3.so.hash.abi index e01f395983fa..22540639c41d 100644 --- a/tests/data/test-read-dwarf/test3.so.hash.abi +++ b/tests/data/test-read-dwarf/test3.so.hash.abi @@ -3,16 +3,16 @@ - + - + - + diff --git a/tests/data/test-symtab/basic/aliases.c b/tests/data/test-symtab/basic/aliases.c new file mode 100644 index 000000000000..319f463249dc --- /dev/null +++ b/tests/data/test-symtab/basic/aliases.c @@ -0,0 +1,13 @@ +void exported_function(){} + +void exported_function_alias() __attribute__((alias("exported_function"))); +void exported_function_another_alias() __attribute__((alias("exported_function"))); +void exported_function_weak_alias() __attribute__((weak, alias("exported_function"))); +void exported_function_another_weak_alias() __attribute__((weak, alias("exported_function"))); + +int exported_variable = 42; + +extern int exported_variable_alias __attribute__((alias("exported_variable"))); +extern int exported_variable_another_alias __attribute__((alias("exported_variable"))); +extern int exported_variable_weak_alias __attribute__((weak, alias("exported_variable"))); +extern int exported_variable_another_weak_alias __attribute__((weak, alias("exported_variable"))); diff --git a/tests/data/test-symtab/basic/aliases.so b/tests/data/test-symtab/basic/aliases.so new file mode 100755 index 0000000000000000000000000000000000000000..95a5c058e95d5f7027b767e1200bf2cef5d5bead GIT binary patch literal 17176 zcmeHOYiJzT6~42hwN_qf^>EV2v0IJJ1{}A$QW8I8yRt@4uZ-llsss&*JDS}c?JnJ& z6+5$$loTp32@Y;R{n1xQAQV&F&{7xLA1$TCI1O$7^hJvaZE;FM9Ga#I#l?Mjd(O-~ zv$M0aD)dL8VJ_^PbHDSr_nx_P=Z~W>9*BHP2A898zRcMUu+|cB3}2>Fz*skk|S)jC!sME$+|l960Z_<+hJEWlD5Le z$wqpKw|ALSvI~J4+HG>XO>Rf@EY~L*vE5pI#C{H=10Ncv{X5^CNw$-}+7G z;M-qikNo7f*aMW~eMUR%UtB(Tb)PIPA%?N)gx{xU#$WsH*^bViz1i`~$s@+2@yOt% z_wIS^+^<)ku1$8g&zSMt;^I347eTdUnFfjEBmGzl9LMjckNxz+7eUa=`j{kx0u+jS z4*31>G~D6=ZMUS1eFJEp5B}2@_~%>rIozV%zkvQepZ@fNz90Su===45u|7r)K{3S|eO;wf)x>_tep)qZ3rCc$! ztg>9yGiITzHzSIwm(9FZQC2neGYXighL6&=Lh{hc*n>Z=RtnZIoZb<#ZC@NEzrHxa z7JaG9tpUP4p!JB>k1al*F7Wk+@GBhem%#`M;Z(mdYUB82qF+fAc#N^fgl1w1pa>`kUIZvBy}`^q4Zn`$*lqJ}aQ7wT!Cgn~M)$x5>R#g% z^uJ^2A4Wf^`|qTl*-Bk~Z!~rFwwMxLP5t7Ic^5dC;|?OV8_V4TlXd%zkrIelb#O6t ze&i#_rk;7r>`Yx8ISrMY=W4au%{*LQ4NpN`I7jUgedkFKE`rVGxog(g8%B#g4N4G! zAOb-If(Qf=2qF+fAc#N^fgl1w1cC?z5%}OmK-eRmh{Le(e?QVzttJB<0-6VU3+M(= zEcm}(EW#7>Ojzp?_H?#KHsK#kXuB7F*Z*9rS^t`f^-Rb5Pj^RGBO7e=-V+BOitk4| zw1>}l_A=L?DPj5P={9 zK?H&b1Q7@#@PUW`opYpfjd&i|D*T*d7q9-4*LU+eotNCh>-4R7FR#*z6!PQE(z^*XsAhKp8 zGav;QyIDtwIwypM(;*SG>pFw0#$cwbo0UR(uvkc|=|WB|6cuB=WUA>wQ!`9sFsquX z#U?nMR*gcYet_CJcf8%9WjxO>O+0YazQaRi}3Uv@Ws2F^XP6Xk;NFTtBrU!^IJzm7%ZJfZ`AK)Om-tSFG4;8tvhb1 z$aX>Ah#Mh&`m1E4Ok{UA0=y=&54FJIf%hq*v&uILMMiI-It~vstZVPr>WIzZ`WC`$ zDbM|iaeT#t@8dYV4{a}u9R)^k#R1#Hf_X23&wVKYj_q!F{I6U3&G+{!fcy2o)wsT9 z`RQaYO2BxEpPwtBBe3Rq@_h^MV+Z6$C)VQbGar5lY9Y)d@{H@cW!^l`|7htqKNs%< zEF$u)*^fQ9wVBEbqfo&i!9m0KHVxZT+uh#)At=w`ku3t;lkZf zm8F0~-(*kwIii=jrnmpp{yfOhC%mcbLhmb1y*mzX{9Xbpx4p#eh?2V&?%Ah2_Oy>A zO7S9lsuNW`_OyQ?`a?40)Z3q&$Da13MCm)2+<3>2`xhKP#h*!BlhZh_67kwU2?Do0 z?Q@BKmJB(iaTEL$Ft|sf`%8aspgd`>KGlihcW$@Kp7zZbcpf?Ffr?eAPV@ypaqdw2 zw7;f2bjmlUag!b0hsVGc$4~aO55EDY;;~59wSFOcqF)D*+n&i>cgUtR&pGNme`Nn{ z5V-AWU*FH|t?zy^21<4WeUD?*|F~>R;@qCbP5RiDyZituh;emCMD}|f#Ae8z=rw?e zcdN?Wq1Ufh7x$@N4E?Nd!!Np>`sn`N2Sbza19)ZZQJXkdZ(Hwz#EYTw61SJJ;woO< z+aN>CJI)um{UMJ5Ro&Eic3tgUf6%VbI*RX^1pMg!)4amlookup_function_symbol("exported_function")->get_main_symbol(); + REQUIRE(main_symbol); + + // But since we know that 'exported_function' is the main symbol and this + // can be discovered from DWARF + CHECK(corpus->lookup_function_symbol("exported_function")->is_main_symbol()); + + CHECK(corpus->lookup_function_symbol("exported_function") + ->get_number_of_aliases() == 4); + + CHECK(main_symbol->has_aliases()); + CHECK(main_symbol->get_number_of_aliases() == 4); + CHECK(main_symbol->get_main_symbol() == main_symbol); +} + +TEST_CASE("Symtab::AliasedVariableSymbols", "[symtab, variables, aliases]") +{ + const std::string binary = "basic/aliases.so"; + const corpus_sptr& corpus = assert_symbol_count(binary, 5, 5); + // The main symbol is not necessarily the one that is aliased to in the + // code So, this can't be decided by just looking at ELF. Hence acquire the + // main symbol. + const elf_symbol_sptr& main_symbol = + corpus->lookup_variable_symbol("exported_variable")->get_main_symbol(); + REQUIRE(main_symbol); + + // But since we know that 'exported_function' is the main symbol and this + // can be discovered from DWARF + CHECK(corpus->lookup_variable_symbol("exported_variable")->is_main_symbol()); + + CHECK(corpus->lookup_variable_symbol("exported_variable") + ->get_number_of_aliases() == 4); + + CHECK(main_symbol->has_aliases()); + CHECK(main_symbol->get_number_of_aliases() == 4); + CHECK(main_symbol->get_main_symbol() == main_symbol); +} + static const char* kernel_versions[] = { "4.14", "4.19", "5.4", "5.6" }; static const size_t nr_kernel_versions = sizeof(kernel_versions) / sizeof(kernel_versions[0]);