From patchwork Wed Jan 27 12:58:50 2021 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: 41854 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 A076A3973039; Wed, 27 Jan 2021 13:01:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A076A3973039 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1611752497; bh=tzO2Q+GTj72UWdDTXmaUti8NOt5W2S6ETd7NJV0492c=; h=Date:In-Reply-To:References:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Help:List-Subscribe:From:Reply-To:Cc:From; b=mqevW7u5N9Nn5dKj+/+KsY6p0Ek/S7qO/Cm8XUMYO8Qw39AO8HVf+1HZA1r1aRey+ e/cIQxxrgNy/pApVXS/w4bR5EnHlxhitfqUKf+IVQWTsvkKoZTzWpPewEug7CquMFs cpDANpKJT17Rj8cQD37QmOsdzhgaOhycpQLfrauQ= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from mail-qk1-x74a.google.com (mail-qk1-x74a.google.com [IPv6:2607:f8b0:4864:20::74a]) by sourceware.org (Postfix) with ESMTPS id 87576397303B for ; Wed, 27 Jan 2021 12:59:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 87576397303B Received: by mail-qk1-x74a.google.com with SMTP id u66so1373809qkd.13 for ; Wed, 27 Jan 2021 04:59:46 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc:content-transfer-encoding; bh=tzO2Q+GTj72UWdDTXmaUti8NOt5W2S6ETd7NJV0492c=; b=MzxcDmNvih7rgYEEqUUiVeJZEkrdKEHcpMcS8HivHA6TYjdefZOHhl9xVtVFWPQXI2 uXslhv0xNkqfRwGe+2oF6zYNgcxWFyCt5F5tp3kXZxkjpFwTx7vf3RSVnUs5TQVEi0iT okti0tXv1fNUpZ3jQgg04JIYeS9g9T5GAMza5gqOpHq3nEq72tVg134BEjfl7VN8eqml ot8nOWL0ZfQmOeS90lr0pK2wirRJsCKYIc4aTK2dMxmBGMunpKB9NMKWqucM2SuysacW VEjYAE86d402SAPeqwRtrbsVHJkZpc+a1z6hxUKNfw1E08OQeti7KJSKlyJKVE+uukqI 4j2Q== X-Gm-Message-State: AOAM532anEAwCv2pYzIfHBS3PBHp13NI5uMpwwhWUC/QKASOT/tdiM+g 1Zby08LQhHss/+Z8DJsU5hGTC/qbPXJ6U4uEQATAy5CSppuQ3nn4VYBqukOs6OvaqKzTlXOejzB E2Zp0hG/pWzGCcAD2yuFwKJVizrnS/14mnJTf/l5mbMGg8c4YDYfdm65zj7EEa1x6hzR4rKg= X-Google-Smtp-Source: ABdhPJxQcTNy9g8ThZ0UYpwOcnOTbzL7sJ2YO1W5ZgoytwC6JOGKsH7ITjM0V3aA8mVPvNvoEPvaFimCgITfdw== X-Received: from lux.lon.corp.google.com ([2a00:79e0:d:210:7220:84ff:fe09:a3aa]) (user=maennich job=sendgmr) by 2002:a0c:f64c:: with SMTP id s12mr10324265qvm.2.1611752385322; Wed, 27 Jan 2021 04:59:45 -0800 (PST) Date: Wed, 27 Jan 2021 12:58:50 +0000 In-Reply-To: <20210127125853.886677-1-maennich@google.com> Message-Id: <20210127125853.886677-18-maennich@google.com> Mime-Version: 1.0 References: <20200619214305.562-1-maennich@google.com> <20210127125853.886677-1-maennich@google.com> X-Mailer: git-send-email 2.30.0.280.ga3ce27912f-goog Subject: [PATCH 17/20] symtab/dwarf-reader: allow hinting of main symbols for aliases To: libabigail@sourceware.org X-Spam-Status: No, score=-21.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-filter/test31-pr18535-libstdc++-report-0.txt: Likewise. * tests/data/test-diff-filter/test31-pr18535-libstdc++-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-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 + src/abg-dwarf-reader.cc | 16 +- src/abg-ir.cc | 47 +- src/abg-symtab-reader.cc | 31 + src/abg-symtab-reader.h | 3 + tests/data/Makefile.am | 2 + .../test5-fn-changed-report-0.txt | 4 - .../test5-fn-changed-report-1.txt | 4 - .../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 + .../test36-ppc64-aliases-report-0.txt | 4 +- .../test42-PR21296-clanggcc-report0.txt | 6 +- .../test31-pr18535-libstdc++-report-0.txt | 6 +- .../test31-pr18535-libstdc++-report-1.txt | 6 +- ...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 | 2 +- .../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 | 66 +- .../test-read-dwarf/test15-pr18892.so.abi | 918 +++++++-------- .../test-read-dwarf/test16-pr18904.so.abi | 990 ++++++++-------- ...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 | 1042 ++++++++--------- 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 + 38 files changed, 2619 insertions(+), 2472 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 23ba16bd327b..a14ee1c23784 100644 --- a/include/abg-ir.h +++ b/include/abg-ir.h @@ -954,6 +954,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/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index 91451208ef11..7d7ffbdc8ebe 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc @@ -13419,7 +13419,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) { @@ -13884,7 +13890,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 && !ctxt.symbol_already_belongs_to_a_function(fn_sym)) { diff --git a/src/abg-ir.cc b/src/abg-ir.cc index 1ba95dd6c14f..0b31f2014189 100644 --- a/src/abg-ir.cc +++ b/src/abg-ir.cc @@ -1754,14 +1754,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. /// @@ -1838,6 +1838,49 @@ 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) +{ + ABG_ASSERT(is_main_symbol()); + if (!has_aliases() || get_name() == name) + return get_main_symbol(); + + // find the new main symbol + elf_symbol_sptr new_main; + // we've already checked this; check the rest of the aliases + 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 + priv_->main_symbol_ = new_main; + for (elf_symbol_sptr a = get_next_alias(); a.get() != this; + 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 7318fdfce52e..a769934e5c05 100644 --- a/src/abg-symtab-reader.cc +++ b/src/abg-symtab-reader.cc @@ -376,6 +376,37 @@ symtab::load_(string_elf_symbols_map_sptr function_symbol_map, return true; } +/// 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 +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/src/abg-symtab-reader.h b/src/abg-symtab-reader.h index 2906bab818b0..a621938c44d7 100644 --- a/src/abg-symtab-reader.h +++ b/src/abg-symtab-reader.h @@ -225,6 +225,9 @@ public: load(string_elf_symbols_map_sptr function_symbol_map, string_elf_symbols_map_sptr variables_symbol_map); + 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/tests/data/Makefile.am b/tests/data/Makefile.am index 42a94f62f67d..d1358c9e9942 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -1853,6 +1853,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-abicompat/test5-fn-changed-report-0.txt b/tests/data/test-abicompat/test5-fn-changed-report-0.txt index ccde357d75ce..04676908c7c2 100644 --- a/tests/data/test-abicompat/test5-fn-changed-report-0.txt +++ b/tests/data/test-abicompat/test5-fn-changed-report-0.txt @@ -15,7 +15,3 @@ have sub-types that are different from what application 'test5-fn-changed-app' e 1 data member deletion: 'unsigned char S1::m1', at offset 32 (in bits) - method S0::S0(): - implicit parameter 0 of type 'S0*' has sub-type changes: - pointed to type 'struct S0' changed, as reported earlier - diff --git a/tests/data/test-abicompat/test5-fn-changed-report-1.txt b/tests/data/test-abicompat/test5-fn-changed-report-1.txt index dbdcbe5e7607..b39f650de332 100644 --- a/tests/data/test-abicompat/test5-fn-changed-report-1.txt +++ b/tests/data/test-abicompat/test5-fn-changed-report-1.txt @@ -15,7 +15,3 @@ have sub-types that are different from what application 'test5-fn-changed-app' e 1 data member deletion: 'unsigned char S1::m1', at offset 32 (in bits) at test5-fn-changed-libapp-v0.h:11:1 - method S0::S0(): - implicit parameter 0 of type 'S0*' has sub-type changes: - pointed to type 'struct S0' changed at test5-fn-changed-libapp-v0.h:1:1, as reported earlier - diff --git a/tests/data/test-annotate/test15-pr18892.so.abi b/tests/data/test-annotate/test15-pr18892.so.abi index cacace2a09cf..a79557aa2391 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 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -13772,7 +13772,7 @@ - + @@ -13781,7 +13781,7 @@ - + @@ -13790,7 +13790,7 @@ - + @@ -20235,7 +20235,7 @@ - + @@ -20263,7 +20263,7 @@ - + @@ -20283,7 +20283,7 @@ - + @@ -20310,7 +20310,7 @@ - + @@ -20319,7 +20319,7 @@ - + @@ -20333,14 +20333,14 @@ - + - + @@ -20351,7 +20351,7 @@ - + @@ -20362,7 +20362,7 @@ - + @@ -20395,7 +20395,7 @@ - + @@ -20415,7 +20415,7 @@ - + @@ -20424,21 +20424,21 @@ - + - + - + @@ -20458,7 +20458,7 @@ - + @@ -20478,7 +20478,7 @@ - + @@ -20487,7 +20487,7 @@ - + @@ -20505,7 +20505,7 @@ - + @@ -20514,7 +20514,7 @@ - + @@ -20543,7 +20543,7 @@ - + @@ -20552,7 +20552,7 @@ - + @@ -20561,7 +20561,7 @@ - + @@ -20572,7 +20572,7 @@ - + @@ -20581,7 +20581,7 @@ - + @@ -20604,7 +20604,7 @@ - + @@ -20613,7 +20613,7 @@ - + @@ -20622,7 +20622,7 @@ - + @@ -20649,7 +20649,7 @@ - + @@ -20685,7 +20685,7 @@ - + @@ -20712,7 +20712,7 @@ - + @@ -20744,14 +20744,14 @@ - + - + @@ -20787,14 +20787,14 @@ - + - + @@ -20819,7 +20819,7 @@ - + @@ -20848,7 +20848,7 @@ - + @@ -20861,7 +20861,7 @@ - + @@ -20907,7 +20907,7 @@ - + @@ -20918,7 +20918,7 @@ - + @@ -20936,7 +20936,7 @@ - + @@ -20947,7 +20947,7 @@ - + @@ -20958,7 +20958,7 @@ - + @@ -20989,7 +20989,7 @@ - + @@ -21013,7 +21013,7 @@ - + @@ -21028,7 +21028,7 @@ - + @@ -21041,7 +21041,7 @@ - + @@ -21052,7 +21052,7 @@ - + @@ -21063,7 +21063,7 @@ - + @@ -21074,14 +21074,14 @@ - + - + @@ -21130,7 +21130,7 @@ - + @@ -21148,14 +21148,14 @@ - + - + @@ -21177,7 +21177,7 @@ - + @@ -21186,7 +21186,7 @@ - + @@ -21262,7 +21262,7 @@ - + @@ -21279,7 +21279,7 @@ - + @@ -21342,7 +21342,7 @@ - + @@ -21371,7 +21371,7 @@ - + @@ -21404,7 +21404,7 @@ - + @@ -21417,7 +21417,7 @@ - + @@ -21439,7 +21439,7 @@ - + @@ -21470,7 +21470,7 @@ - + @@ -21479,7 +21479,7 @@ - + @@ -21488,7 +21488,7 @@ - + @@ -21506,7 +21506,7 @@ - + @@ -21517,7 +21517,7 @@ - + @@ -21528,7 +21528,7 @@ - + @@ -21538,7 +21538,7 @@ - + @@ -21549,7 +21549,7 @@ - + @@ -21559,7 +21559,7 @@ - + @@ -21568,7 +21568,7 @@ - + @@ -21576,7 +21576,7 @@ - + @@ -21608,7 +21608,7 @@ - + @@ -21618,7 +21618,7 @@ - + @@ -21627,7 +21627,7 @@ - + @@ -21646,7 +21646,7 @@ - + @@ -21662,7 +21662,7 @@ - + @@ -21671,7 +21671,7 @@ - + @@ -21687,14 +21687,14 @@ - + - + @@ -21710,14 +21710,14 @@ - + - + @@ -21732,7 +21732,7 @@ - + @@ -21745,7 +21745,7 @@ - + @@ -21769,7 +21769,7 @@ - + @@ -21782,7 +21782,7 @@ - + @@ -21795,7 +21795,7 @@ - + @@ -21806,7 +21806,7 @@ - + @@ -21819,7 +21819,7 @@ - + @@ -21832,7 +21832,7 @@ - + @@ -21869,7 +21869,7 @@ - + @@ -21889,7 +21889,7 @@ - + @@ -21907,7 +21907,7 @@ - + @@ -21947,7 +21947,7 @@ - + @@ -21974,7 +21974,7 @@ - + @@ -21983,7 +21983,7 @@ - + @@ -22015,7 +22015,7 @@ - + @@ -22035,7 +22035,7 @@ - + @@ -22048,7 +22048,7 @@ - + @@ -22068,7 +22068,7 @@ - + @@ -22082,7 +22082,7 @@ - + @@ -22096,7 +22096,7 @@ - + @@ -22149,14 +22149,14 @@ - + - + @@ -22180,7 +22180,7 @@ - + @@ -22225,14 +22225,14 @@ - + - + @@ -22255,7 +22255,7 @@ - + @@ -22266,7 +22266,7 @@ - + @@ -22301,7 +22301,7 @@ - + @@ -22315,7 +22315,7 @@ - + @@ -22326,7 +22326,7 @@ - + @@ -22346,7 +22346,7 @@ - + @@ -22355,7 +22355,7 @@ - + @@ -22391,7 +22391,7 @@ - + @@ -22442,7 +22442,7 @@ - + @@ -22451,7 +22451,7 @@ - + @@ -22471,7 +22471,7 @@ - + @@ -22491,7 +22491,7 @@ - + @@ -22502,7 +22502,7 @@ - + @@ -22538,7 +22538,7 @@ - + @@ -22561,14 +22561,14 @@ - + - + @@ -22579,7 +22579,7 @@ - + @@ -22602,7 +22602,7 @@ - + @@ -22647,7 +22647,7 @@ - + @@ -22661,7 +22661,7 @@ - + @@ -22670,7 +22670,7 @@ - + @@ -22714,7 +22714,7 @@ - + @@ -22728,7 +22728,7 @@ - + @@ -22746,7 +22746,7 @@ - + @@ -22760,7 +22760,7 @@ - + @@ -22879,7 +22879,7 @@ - + @@ -22912,7 +22912,7 @@ - + @@ -22932,7 +22932,7 @@ - + @@ -22959,7 +22959,7 @@ - + @@ -23003,7 +23003,7 @@ - + @@ -23096,14 +23096,14 @@ - + - + @@ -23117,7 +23117,7 @@ - + @@ -23126,7 +23126,7 @@ - + @@ -23144,14 +23144,14 @@ - + - + @@ -23169,7 +23169,7 @@ - + @@ -23178,7 +23178,7 @@ - + @@ -23221,7 +23221,7 @@ - + @@ -23237,7 +23237,7 @@ - + @@ -27191,7 +27191,7 @@ - + @@ -27209,7 +27209,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 1ba7ead9d421..ec6cbb3f6bc3 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 @@ - + - + - + - + @@ -24511,7 +24511,7 @@ - + @@ -24528,7 +24528,7 @@ - + @@ -24539,14 +24539,14 @@ - + - + @@ -24571,7 +24571,7 @@ - + @@ -24594,7 +24594,7 @@ - + @@ -24624,14 +24624,14 @@ - + - + @@ -24647,14 +24647,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/test36-ppc64-aliases-report-0.txt b/tests/data/test-diff-dwarf/test36-ppc64-aliases-report-0.txt index 4f4a765f9381..a79c11bed2dc 100644 --- a/tests/data/test-diff-dwarf/test36-ppc64-aliases-report-0.txt +++ b/tests/data/test-diff-dwarf/test36-ppc64-aliases-report-0.txt @@ -3,14 +3,14 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 4 functions with some indirect sub-type change: - [C] 'method S::S()' has some indirect sub-type changes: + [C] 'method S::S(int)' has some indirect sub-type changes: implicit parameter 0 of type 'S*' has sub-type changes: in pointed to type 'struct S': type size changed from 32 to 64 (in bits) 1 data member insertion: 'int S::m1', at offset 32 (in bits) - [C] 'method S::S(int)' has some indirect sub-type changes: + [C] 'method S::S()' has some indirect sub-type changes: implicit parameter 0 of type 'S*' has sub-type changes: pointed to type 'struct S' changed, as reported earlier 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 61491027df5c..094a30dd3fee 100644 --- a/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt +++ b/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt @@ -1,10 +1,8 @@ -Functions changes summary: 3 Removed, 8 Changed, 0 Added functions +Functions changes summary: 1 Removed, 8 Changed, 0 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable -3 Removed functions: +1 Removed function: - [D] 'method STR::STR(const char*)' - [D] 'method STR::~STR()' [D] 'method void std::_Tuple_impl<1ul>::_Tuple_impl()' 8 functions with some indirect sub-type change: diff --git a/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt b/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt index 10677fccd685..544488c6becf 100644 --- a/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt +++ b/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt @@ -1,4 +1,4 @@ -Functions changes summary: 0 Removed, 5 Changed (195 filtered out), 13 Added functions +Functions changes summary: 0 Removed, 5 Changed (206 filtered out), 13 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info Variable symbols changes summary: 0 Removed, 6 Added variable symbols not referenced by debug info @@ -97,8 +97,8 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere no member function changes (10 filtered); [C] 'method std::codecvt_byname* std::codecvt_byname::codecvt_byname(const char*, std::size_t)' has some indirect sub-type changes: - Please note that the symbol of this function is _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4 - and it aliases symbol: _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4 + Please note that the symbol of this function is _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4 + and it aliases symbol: _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4 implicit parameter 0 of type 'std::codecvt_byname*' has sub-type changes: in pointed to type 'class std::codecvt_byname': type size hasn't changed diff --git a/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt b/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt index 84667becbc25..c84cd1cd0c78 100644 --- a/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt +++ b/tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt @@ -1,4 +1,4 @@ -Functions changes summary: 0 Removed, 5 Changed (195 filtered out), 13 Added functions +Functions changes summary: 0 Removed, 5 Changed (206 filtered out), 13 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info Variable symbols changes summary: 0 Removed, 6 Added variable symbols not referenced by debug info @@ -97,8 +97,8 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere no member function changes (10 filtered); [C] 'method std::codecvt_byname* std::codecvt_byname::codecvt_byname(const char*, std::size_t)' at codecvt.h:462:1 has some indirect sub-type changes: - Please note that the symbol of this function is _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4 - and it aliases symbol: _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4 + Please note that the symbol of this function is _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4 + and it aliases symbol: _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4 implicit parameter 0 of type 'std::codecvt_byname*' has sub-type changes: in pointed to type 'class std::codecvt_byname' at codecvt.h:458:1: type size hasn't changed 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 3616cb3435bd..741487af86f8 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 @@ -317,20 +317,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 dcd30874496b..9438b4ed8b00 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 @@ -165,20 +165,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 b7429d14505f..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 + 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 1fc1578e66e6..a8bbcf088f87 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 @@ - - + + @@ -506,13 +506,13 @@ - + - + @@ -656,7 +656,7 @@ - + @@ -723,7 +723,7 @@ - + @@ -747,7 +747,7 @@ - + @@ -816,7 +816,7 @@ - + @@ -1418,7 +1418,7 @@ - + @@ -1582,7 +1582,7 @@ - + diff --git a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi index a90c17dfacd6..e7a50ee9ac50 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 @@ - - + + @@ -4809,7 +4809,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 c6fa10347cda..faa3faa186b5 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 @@ - + - + @@ -1025,7 +1025,7 @@ - + @@ -1536,7 +1536,7 @@ - + @@ -1627,7 +1627,7 @@ - + @@ -1660,7 +1660,7 @@ - + @@ -1705,13 +1705,13 @@ - + - + @@ -1750,7 +1750,7 @@ - + @@ -1758,7 +1758,7 @@ - + @@ -3242,7 +3242,7 @@ - + @@ -3372,7 +3372,7 @@ - + @@ -3392,7 +3392,7 @@ - + @@ -3535,7 +3535,7 @@ - + @@ -3701,13 +3701,13 @@ - + - + @@ -3728,7 +3728,7 @@ - + @@ -3756,7 +3756,7 @@ - + @@ -3965,7 +3965,7 @@ - + @@ -4041,7 +4041,7 @@ - + @@ -4168,20 +4168,20 @@ - + - + - + @@ -4276,20 +4276,20 @@ - + - + - + @@ -4461,7 +4461,7 @@ - + @@ -4629,20 +4629,20 @@ - + - + - + @@ -4722,7 +4722,7 @@ - + @@ -4763,7 +4763,7 @@ - + @@ -4829,13 +4829,13 @@ - + - + @@ -5204,7 +5204,7 @@ - + @@ -5213,7 +5213,7 @@ - + @@ -5264,35 +5264,35 @@ - + - + - + - + - + @@ -5791,7 +5791,7 @@ - + diff --git a/tests/data/test-read-dwarf/test11-pr18828.so.abi b/tests/data/test-read-dwarf/test11-pr18828.so.abi index 1aa056ef2b5f..6734a8e437c7 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 @@ - + - + - - + + @@ -3510,7 +3510,7 @@ - + @@ -3544,7 +3544,7 @@ - + @@ -3591,14 +3591,14 @@ - + - + @@ -3829,7 +3829,7 @@ - + @@ -3876,14 +3876,14 @@ - + - + @@ -3937,14 +3937,14 @@ - + - + @@ -4064,13 +4064,13 @@ - + - + @@ -4131,7 +4131,7 @@ - + @@ -4241,13 +4241,13 @@ - + - + @@ -4332,13 +4332,13 @@ - + - + @@ -4378,7 +4378,7 @@ - + @@ -4431,7 +4431,7 @@ - + @@ -4445,7 +4445,7 @@ - + @@ -4500,7 +4500,7 @@ - + @@ -4515,7 +4515,7 @@ - + @@ -4536,7 +4536,7 @@ - + @@ -4722,7 +4722,7 @@ - + @@ -4776,7 +4776,7 @@ - + @@ -4901,14 +4901,14 @@ - + - + @@ -5003,14 +5003,14 @@ - + - + @@ -5250,7 +5250,7 @@ - + @@ -5475,7 +5475,7 @@ - + @@ -5587,7 +5587,7 @@ - + @@ -5647,7 +5647,7 @@ - + @@ -5728,7 +5728,7 @@ - + @@ -7256,7 +7256,7 @@ - + @@ -8548,7 +8548,7 @@ - + @@ -8627,7 +8627,7 @@ - + @@ -8848,7 +8848,7 @@ - + @@ -9064,7 +9064,7 @@ - + @@ -9278,13 +9278,13 @@ - + - + @@ -9864,7 +9864,7 @@ - + @@ -10983,7 +10983,7 @@ - + @@ -11153,11 +11153,11 @@ - + - + @@ -11178,7 +11178,7 @@ - + @@ -11190,7 +11190,7 @@ - + @@ -11265,7 +11265,7 @@ - + @@ -11315,7 +11315,7 @@ - + @@ -11424,7 +11424,7 @@ - + @@ -11460,7 +11460,7 @@ - + @@ -11515,7 +11515,7 @@ - + @@ -11727,7 +11727,7 @@ - + @@ -11749,7 +11749,7 @@ - + @@ -11829,7 +11829,7 @@ - + @@ -11851,7 +11851,7 @@ - + @@ -11894,21 +11894,21 @@ - + - + - + @@ -11922,7 +11922,7 @@ - + @@ -12063,14 +12063,14 @@ - + - + @@ -13032,13 +13032,13 @@ - + - + @@ -13144,7 +13144,7 @@ - + @@ -13163,7 +13163,7 @@ - + @@ -13417,7 +13417,7 @@ - + @@ -13471,7 +13471,7 @@ - + @@ -13550,7 +13550,7 @@ - + @@ -13630,7 +13630,7 @@ - + @@ -13645,7 +13645,7 @@ - + @@ -14005,7 +14005,7 @@ - + @@ -14058,7 +14058,7 @@ - + @@ -14375,14 +14375,14 @@ - + - + @@ -14702,7 +14702,7 @@ - + @@ -14736,7 +14736,7 @@ - + @@ -14758,7 +14758,7 @@ - + @@ -14800,7 +14800,7 @@ - + @@ -14815,7 +14815,7 @@ - + @@ -14945,7 +14945,7 @@ - + @@ -14970,7 +14970,7 @@ - + @@ -15037,7 +15037,7 @@ - + @@ -15062,7 +15062,7 @@ - + @@ -16032,7 +16032,7 @@ - + @@ -16161,13 +16161,13 @@ - + - + diff --git a/tests/data/test-read-dwarf/test12-pr18844.so.abi b/tests/data/test-read-dwarf/test12-pr18844.so.abi index 81dac4eed196..4422b76a7394 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 @@ - - + + - - + + - - + + - - - + + + - + - - + + - - + + - - - - + + + + - - + + @@ -19191,7 +19191,7 @@ - + @@ -19217,7 +19217,7 @@ - + @@ -19231,7 +19231,7 @@ - + @@ -19281,7 +19281,7 @@ - + @@ -19291,7 +19291,7 @@ - + @@ -19378,7 +19378,7 @@ - + @@ -19511,7 +19511,7 @@ - + @@ -23762,14 +23762,14 @@ - + - + @@ -24442,7 +24442,7 @@ - + @@ -25563,7 +25563,7 @@ - + @@ -28277,14 +28277,14 @@ - + - + diff --git a/tests/data/test-read-dwarf/test15-pr18892.so.abi b/tests/data/test-read-dwarf/test15-pr18892.so.abi index 34ff0fb859b8..d4bd4ad68236 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 @@ - + - + - + - + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - + - + @@ -8444,17 +8444,17 @@ - + - + - + @@ -11967,7 +11967,7 @@ - + @@ -11982,7 +11982,7 @@ - + @@ -11993,7 +11993,7 @@ - + @@ -12008,12 +12008,12 @@ - + - + @@ -12021,23 +12021,23 @@ - + - + - + - + @@ -12055,7 +12055,7 @@ - + @@ -12066,20 +12066,20 @@ - + - + - + - + @@ -12090,7 +12090,7 @@ - + @@ -12101,12 +12101,12 @@ - + - + @@ -12116,12 +12116,12 @@ - + - + @@ -12137,28 +12137,28 @@ - + - + - + - + - + @@ -12171,17 +12171,17 @@ - + - + - + @@ -12196,7 +12196,7 @@ - + @@ -12216,7 +12216,7 @@ - + @@ -12231,7 +12231,7 @@ - + @@ -12249,11 +12249,11 @@ - + - + @@ -12273,11 +12273,11 @@ - + - + @@ -12291,7 +12291,7 @@ - + @@ -12307,14 +12307,14 @@ - + - + @@ -12339,13 +12339,13 @@ - + - + @@ -12355,19 +12355,19 @@ - + - + - + @@ -12384,7 +12384,7 @@ - + @@ -12397,7 +12397,7 @@ - + @@ -12405,36 +12405,36 @@ - + - + - + - + - + - + @@ -12461,7 +12461,7 @@ - + @@ -12471,11 +12471,11 @@ - + - + @@ -12487,12 +12487,12 @@ - + - + @@ -12533,7 +12533,7 @@ - + @@ -12542,7 +12542,7 @@ - + @@ -12576,7 +12576,7 @@ - + @@ -12592,7 +12592,7 @@ - + @@ -12610,14 +12610,14 @@ - + - + @@ -12629,7 +12629,7 @@ - + @@ -12646,17 +12646,17 @@ - + - + - + @@ -12666,47 +12666,47 @@ - + - + - + - + - + - + - + - + @@ -12724,18 +12724,18 @@ - + - + - + @@ -12746,7 +12746,7 @@ - + @@ -12755,12 +12755,12 @@ - + - + @@ -12769,11 +12769,11 @@ - + - + @@ -12782,11 +12782,11 @@ - + - + @@ -12794,14 +12794,14 @@ - + - + @@ -12814,41 +12814,41 @@ - + - + - + - + - + - + @@ -12868,7 +12868,7 @@ - + @@ -12879,7 +12879,7 @@ - + @@ -12889,7 +12889,7 @@ - + @@ -12911,7 +12911,7 @@ - + @@ -12926,12 +12926,12 @@ - + - + @@ -12949,7 +12949,7 @@ - + @@ -12960,14 +12960,14 @@ - + - + @@ -12978,7 +12978,7 @@ - + @@ -12986,7 +12986,7 @@ - + @@ -12994,7 +12994,7 @@ - + @@ -13023,11 +13023,11 @@ - + - + @@ -13040,7 +13040,7 @@ - + @@ -13065,11 +13065,11 @@ - + - + @@ -13082,13 +13082,13 @@ - + - + @@ -13107,7 +13107,7 @@ - + @@ -13115,13 +13115,13 @@ - + - + @@ -13132,12 +13132,12 @@ - + - + @@ -13157,7 +13157,7 @@ - + @@ -13185,12 +13185,12 @@ - + - + @@ -13201,7 +13201,7 @@ - + @@ -13212,13 +13212,13 @@ - + - + @@ -13238,7 +13238,7 @@ - + @@ -13251,17 +13251,17 @@ - + - + - + @@ -13274,7 +13274,7 @@ - + @@ -13299,7 +13299,7 @@ - + @@ -13307,12 +13307,12 @@ - + - + @@ -13337,7 +13337,7 @@ - + @@ -13345,7 +13345,7 @@ - + @@ -13355,7 +13355,7 @@ - + @@ -13363,7 +13363,7 @@ - + @@ -13429,7 +13429,7 @@ - + @@ -13447,7 +13447,7 @@ - + @@ -13458,7 +13458,7 @@ - + @@ -13473,7 +13473,7 @@ - + @@ -13497,7 +13497,7 @@ - + @@ -13549,11 +13549,11 @@ - + - + @@ -13561,12 +13561,12 @@ - + - + @@ -13576,11 +13576,11 @@ - + - + @@ -13590,12 +13590,12 @@ - + - + @@ -13619,7 +13619,7 @@ - + @@ -13628,7 +13628,7 @@ - + @@ -15769,7 +15769,7 @@ - + @@ -15779,7 +15779,7 @@ - + diff --git a/tests/data/test-read-dwarf/test16-pr18904.so.abi b/tests/data/test-read-dwarf/test16-pr18904.so.abi index 01605868fc1b..310a8a6bd2a7 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 @@ - + - - + + - + @@ -2419,13 +2419,13 @@ - + - + @@ -2590,7 +2590,7 @@ - + @@ -2636,14 +2636,14 @@ - + - + @@ -2669,14 +2669,14 @@ - + - + @@ -2784,7 +2784,7 @@ - + @@ -3166,7 +3166,7 @@ - + @@ -3210,7 +3210,7 @@ - + @@ -3330,7 +3330,7 @@ - + @@ -3598,7 +3598,7 @@ - + @@ -4678,7 +4678,7 @@ - + @@ -4715,13 +4715,13 @@ - + - + @@ -4757,7 +4757,7 @@ - + @@ -4799,13 +4799,13 @@ - + - + @@ -4841,7 +4841,7 @@ - + @@ -4904,32 +4904,32 @@ - + - + - + - + - + @@ -5080,7 +5080,7 @@ - + @@ -5113,7 +5113,7 @@ - + @@ -5194,7 +5194,7 @@ - + @@ -5312,7 +5312,7 @@ - + @@ -5331,7 +5331,7 @@ - + @@ -5345,7 +5345,7 @@ - + @@ -5483,7 +5483,7 @@ - + @@ -5511,7 +5511,7 @@ - + @@ -5524,7 +5524,7 @@ - + @@ -5534,7 +5534,7 @@ - + @@ -5636,7 +5636,7 @@ - + @@ -5669,7 +5669,7 @@ - + @@ -5743,7 +5743,7 @@ - + @@ -5770,7 +5770,7 @@ - + @@ -6132,7 +6132,7 @@ - + @@ -6173,7 +6173,7 @@ - + @@ -6234,7 +6234,7 @@ - + @@ -6388,7 +6388,7 @@ - + @@ -6574,7 +6574,7 @@ - + @@ -6600,7 +6600,7 @@ - + @@ -6696,7 +6696,7 @@ - + @@ -6742,7 +6742,7 @@ - + @@ -6779,7 +6779,7 @@ - + @@ -6793,7 +6793,7 @@ - + @@ -6856,7 +6856,7 @@ - + @@ -6887,7 +6887,7 @@ - + @@ -6933,7 +6933,7 @@ - + @@ -6948,7 +6948,7 @@ - + @@ -6996,7 +6996,7 @@ - + @@ -7346,7 +7346,7 @@ - + @@ -7400,7 +7400,7 @@ - + @@ -7553,7 +7553,7 @@ - + @@ -7629,7 +7629,7 @@ - + @@ -7840,7 +7840,7 @@ - + @@ -7907,7 +7907,7 @@ - + @@ -7938,7 +7938,7 @@ - + @@ -7970,7 +7970,7 @@ - + @@ -7978,7 +7978,7 @@ - + @@ -7994,7 +7994,7 @@ - + @@ -8100,7 +8100,7 @@ - + @@ -8127,7 +8127,7 @@ - + @@ -8200,7 +8200,7 @@ - + @@ -8239,7 +8239,7 @@ - + @@ -8331,7 +8331,7 @@ - + @@ -8358,7 +8358,7 @@ - + @@ -8468,7 +8468,7 @@ - + @@ -8555,7 +8555,7 @@ - + @@ -8580,13 +8580,13 @@ - + - + @@ -8620,7 +8620,7 @@ - + @@ -8696,7 +8696,7 @@ - + @@ -8798,7 +8798,7 @@ - + @@ -8814,7 +8814,7 @@ - + @@ -8822,7 +8822,7 @@ - + @@ -8987,7 +8987,7 @@ - + @@ -9078,7 +9078,7 @@ - + @@ -9147,7 +9147,7 @@ - + @@ -9397,7 +9397,7 @@ - + @@ -9460,7 +9460,7 @@ - + @@ -9482,7 +9482,7 @@ - + @@ -9497,7 +9497,7 @@ - + @@ -9543,7 +9543,7 @@ - + @@ -9567,7 +9567,7 @@ - + @@ -9634,7 +9634,7 @@ - + @@ -9648,7 +9648,7 @@ - + @@ -9741,7 +9741,7 @@ - + @@ -9820,7 +9820,7 @@ - + @@ -10022,13 +10022,13 @@ - + - + @@ -10073,7 +10073,7 @@ - + @@ -10117,7 +10117,7 @@ - + @@ -10197,7 +10197,7 @@ - + @@ -10315,7 +10315,7 @@ - + @@ -10333,7 +10333,7 @@ - + @@ -10378,7 +10378,7 @@ - + @@ -10415,7 +10415,7 @@ - + @@ -10453,7 +10453,7 @@ - + @@ -10471,7 +10471,7 @@ - + @@ -10558,7 +10558,7 @@ - + @@ -10590,7 +10590,7 @@ - + @@ -10683,7 +10683,7 @@ - + @@ -10699,7 +10699,7 @@ - + @@ -10873,13 +10873,13 @@ - + - + @@ -11344,14 +11344,14 @@ - + - + @@ -11363,14 +11363,14 @@ - + - + @@ -11606,7 +11606,7 @@ - + @@ -11618,7 +11618,7 @@ - + @@ -11630,7 +11630,7 @@ - + @@ -11642,7 +11642,7 @@ - + @@ -11654,7 +11654,7 @@ - + @@ -11717,7 +11717,7 @@ - + @@ -11839,7 +11839,7 @@ - + @@ -11851,7 +11851,7 @@ - + @@ -12002,7 +12002,7 @@ - + @@ -12234,7 +12234,7 @@ - + @@ -12251,7 +12251,7 @@ - + @@ -12264,7 +12264,7 @@ - + @@ -12277,7 +12277,7 @@ - + @@ -12751,7 +12751,7 @@ - + @@ -12949,7 +12949,7 @@ - + @@ -12957,7 +12957,7 @@ - + @@ -13028,7 +13028,7 @@ - + @@ -13036,7 +13036,7 @@ - + @@ -13222,13 +13222,13 @@ - + - + @@ -13304,7 +13304,7 @@ - + @@ -13347,7 +13347,7 @@ - + @@ -13407,7 +13407,7 @@ - + @@ -13495,7 +13495,7 @@ - + @@ -13929,7 +13929,7 @@ - + @@ -13955,7 +13955,7 @@ - + @@ -14016,7 +14016,7 @@ - + @@ -14071,7 +14071,7 @@ - + @@ -14121,7 +14121,7 @@ - + @@ -14577,7 +14577,7 @@ - + @@ -14807,7 +14807,7 @@ - + @@ -14844,7 +14844,7 @@ - + @@ -14859,7 +14859,7 @@ - + @@ -14941,7 +14941,7 @@ - + @@ -15151,7 +15151,7 @@ - + @@ -15216,7 +15216,7 @@ - + @@ -15261,14 +15261,14 @@ - + - + @@ -15733,13 +15733,13 @@ - + - + @@ -16084,14 +16084,14 @@ - + - + @@ -16101,7 +16101,7 @@ - + @@ -16132,7 +16132,7 @@ - + @@ -16153,14 +16153,14 @@ - + - + @@ -16183,7 +16183,7 @@ - + @@ -16325,7 +16325,7 @@ - + @@ -16436,7 +16436,7 @@ - + @@ -16470,7 +16470,7 @@ - + @@ -16561,7 +16561,7 @@ - + @@ -16634,7 +16634,7 @@ - + @@ -16648,7 +16648,7 @@ - + @@ -16707,7 +16707,7 @@ - + @@ -16791,11 +16791,11 @@ - + - + @@ -16944,7 +16944,7 @@ - + @@ -17204,7 +17204,7 @@ - + @@ -17357,7 +17357,7 @@ - + @@ -17617,13 +17617,13 @@ - + - + @@ -17665,7 +17665,7 @@ - + @@ -17778,13 +17778,13 @@ - + - + @@ -17831,7 +17831,7 @@ - + @@ -17862,13 +17862,13 @@ - + - + @@ -18629,7 +18629,7 @@ - + @@ -18641,7 +18641,7 @@ - + @@ -18653,7 +18653,7 @@ - + @@ -18665,7 +18665,7 @@ - + @@ -18677,7 +18677,7 @@ - + @@ -18727,7 +18727,7 @@ - + @@ -18772,7 +18772,7 @@ - + @@ -18880,7 +18880,7 @@ - + @@ -18914,7 +18914,7 @@ - + @@ -18970,7 +18970,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 d2e97237d139..8d9f97b626b9 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 @@ - + - + - + - + - + - + - - + + - - + + - - + + - + - - + + - + @@ -15241,7 +15241,7 @@ - + @@ -15251,17 +15251,17 @@ - + - + - + @@ -15275,7 +15275,7 @@ - + @@ -15288,7 +15288,7 @@ - + @@ -15305,11 +15305,11 @@ - + - + @@ -15318,11 +15318,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 cd8fd33f43cf..8283fa8bdb28 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 @@ - - + + - - - - + + + + - - + + @@ -3697,7 +3697,7 @@ - + @@ -3885,7 +3885,7 @@ - + @@ -4019,7 +4019,7 @@ - + @@ -4229,7 +4229,7 @@ - + @@ -4969,13 +4969,13 @@ - + - + @@ -5152,7 +5152,7 @@ - + @@ -5190,7 +5190,7 @@ - + @@ -5232,7 +5232,7 @@ - + @@ -5354,7 +5354,7 @@ - + @@ -5579,7 +5579,7 @@ - + @@ -5883,7 +5883,7 @@ - + @@ -6599,7 +6599,7 @@ - + @@ -6705,7 +6705,7 @@ - + @@ -7271,7 +7271,7 @@ - + @@ -8061,14 +8061,14 @@ - + - + @@ -8494,7 +8494,7 @@ - + @@ -8512,7 +8512,7 @@ - + @@ -8557,7 +8557,7 @@ - + @@ -8565,7 +8565,7 @@ - + @@ -8690,7 +8690,7 @@ - + @@ -9095,7 +9095,7 @@ - + @@ -9205,7 +9205,7 @@ - + @@ -9621,7 +9621,7 @@ - + @@ -10054,7 +10054,7 @@ - + @@ -10089,7 +10089,7 @@ - + @@ -10098,7 +10098,7 @@ - + @@ -10259,7 +10259,7 @@ - + @@ -10429,7 +10429,7 @@ - + @@ -10506,7 +10506,7 @@ - + @@ -11462,7 +11462,7 @@ - + @@ -12472,7 +12472,7 @@ - + @@ -13903,7 +13903,7 @@ - + @@ -14693,14 +14693,14 @@ - + - + @@ -15126,7 +15126,7 @@ - + @@ -15144,7 +15144,7 @@ - + @@ -15189,7 +15189,7 @@ - + @@ -15197,7 +15197,7 @@ - + @@ -15322,7 +15322,7 @@ - + @@ -15725,7 +15725,7 @@ - + @@ -15835,7 +15835,7 @@ - + @@ -16251,7 +16251,7 @@ - + @@ -16684,7 +16684,7 @@ - + @@ -16719,7 +16719,7 @@ - + @@ -16728,7 +16728,7 @@ - + @@ -16889,7 +16889,7 @@ - + @@ -16945,7 +16945,7 @@ - + @@ -17001,7 +17001,7 @@ - + @@ -17060,7 +17060,7 @@ - + @@ -17081,7 +17081,7 @@ - + @@ -17142,13 +17142,13 @@ - + - + @@ -17398,7 +17398,7 @@ - + @@ -18182,7 +18182,7 @@ - + @@ -18454,7 +18454,7 @@ - + @@ -18509,7 +18509,7 @@ - + @@ -18915,7 +18915,7 @@ - + @@ -19171,7 +19171,7 @@ - + @@ -20215,7 +20215,7 @@ - + @@ -21404,7 +21404,7 @@ - + @@ -21664,7 +21664,7 @@ - + @@ -21849,7 +21849,7 @@ - + @@ -21872,7 +21872,7 @@ - + @@ -22020,14 +22020,14 @@ - + - + @@ -22063,7 +22063,7 @@ - + @@ -22350,7 +22350,7 @@ - + @@ -22434,14 +22434,14 @@ - + - + @@ -22825,14 +22825,14 @@ - + - + @@ -22865,7 +22865,7 @@ - + @@ -22889,7 +22889,7 @@ - + @@ -22914,7 +22914,7 @@ - + @@ -22953,7 +22953,7 @@ - + @@ -23698,7 +23698,7 @@ - + @@ -23899,7 +23899,7 @@ - + @@ -24208,7 +24208,7 @@ - + @@ -24817,7 +24817,7 @@ - + @@ -25194,7 +25194,7 @@ - + @@ -26002,7 +26002,7 @@ - + @@ -26010,7 +26010,7 @@ - + @@ -26164,14 +26164,14 @@ - + - + @@ -26179,7 +26179,7 @@ - + @@ -26265,7 +26265,7 @@ - + @@ -26386,7 +26386,7 @@ - + @@ -26465,7 +26465,7 @@ - + @@ -26520,7 +26520,7 @@ - + @@ -26731,14 +26731,14 @@ - + - + @@ -26932,7 +26932,7 @@ - + @@ -26987,7 +26987,7 @@ - + @@ -27109,7 +27109,7 @@ - + @@ -27373,7 +27373,7 @@ - + @@ -27388,7 +27388,7 @@ - + @@ -27465,7 +27465,7 @@ - + @@ -27597,7 +27597,7 @@ - + @@ -27791,7 +27791,7 @@ - + @@ -27806,7 +27806,7 @@ - + @@ -28000,14 +28000,14 @@ - + - + @@ -28015,7 +28015,7 @@ - + @@ -28092,7 +28092,7 @@ - + @@ -28203,14 +28203,14 @@ - + - + @@ -28357,14 +28357,14 @@ - + - + @@ -28372,7 +28372,7 @@ - + @@ -28424,7 +28424,7 @@ - + @@ -28975,7 +28975,7 @@ - + @@ -29366,7 +29366,7 @@ - + @@ -29394,7 +29394,7 @@ - + @@ -29468,7 +29468,7 @@ - + @@ -29496,7 +29496,7 @@ - + @@ -29762,7 +29762,7 @@ - + @@ -29880,7 +29880,7 @@ - + @@ -30053,7 +30053,7 @@ - + @@ -30074,7 +30074,7 @@ - + @@ -30247,7 +30247,7 @@ - + @@ -30744,7 +30744,7 @@ - + @@ -30788,7 +30788,7 @@ - + @@ -32844,7 +32844,7 @@ - + @@ -33902,7 +33902,7 @@ - + @@ -33930,7 +33930,7 @@ - + @@ -36168,7 +36168,7 @@ - + @@ -37544,7 +37544,7 @@ - + @@ -37721,7 +37721,7 @@ - + @@ -37805,14 +37805,14 @@ - + - + @@ -38196,14 +38196,14 @@ - + - + @@ -38236,7 +38236,7 @@ - + @@ -38260,7 +38260,7 @@ - + @@ -38285,7 +38285,7 @@ - + @@ -38678,7 +38678,7 @@ - + @@ -39171,7 +39171,7 @@ - + @@ -39567,14 +39567,14 @@ - + - + @@ -39610,7 +39610,7 @@ - + @@ -39864,7 +39864,7 @@ - + @@ -40019,7 +40019,7 @@ - + @@ -41369,7 +41369,7 @@ - + @@ -41392,7 +41392,7 @@ - + @@ -43569,7 +43569,7 @@ - + @@ -43591,7 +43591,7 @@ - + @@ -43609,7 +43609,7 @@ - + @@ -43649,7 +43649,7 @@ - + @@ -43689,7 +43689,7 @@ - + @@ -43711,7 +43711,7 @@ - + @@ -43754,7 +43754,7 @@ - + @@ -43797,7 +43797,7 @@ - + @@ -43815,7 +43815,7 @@ - + @@ -43855,7 +43855,7 @@ - + @@ -43877,7 +43877,7 @@ - + @@ -44203,7 +44203,7 @@ - + @@ -44258,7 +44258,7 @@ - + @@ -44390,7 +44390,7 @@ - + @@ -44471,14 +44471,14 @@ - + - + @@ -44623,14 +44623,14 @@ - + - + @@ -44638,7 +44638,7 @@ - + @@ -44690,7 +44690,7 @@ - + @@ -44780,7 +44780,7 @@ - + @@ -44896,7 +44896,7 @@ - + @@ -44972,7 +44972,7 @@ - + @@ -45164,14 +45164,14 @@ - + - + @@ -45179,7 +45179,7 @@ - + @@ -45256,7 +45256,7 @@ - + @@ -45382,7 +45382,7 @@ - + @@ -45410,7 +45410,7 @@ - + @@ -45612,7 +45612,7 @@ - + @@ -45627,7 +45627,7 @@ - + @@ -45704,7 +45704,7 @@ - + @@ -45830,7 +45830,7 @@ - + @@ -45858,7 +45858,7 @@ - + @@ -45887,7 +45887,7 @@ - + @@ -46068,7 +46068,7 @@ - + @@ -46153,7 +46153,7 @@ - + @@ -46168,7 +46168,7 @@ - + @@ -46472,7 +46472,7 @@ - + @@ -46480,7 +46480,7 @@ - + @@ -46737,7 +46737,7 @@ - + @@ -46758,7 +46758,7 @@ - + @@ -46943,7 +46943,7 @@ - + @@ -46984,7 +46984,7 @@ - + @@ -47505,14 +47505,14 @@ - + - + @@ -47520,7 +47520,7 @@ - + @@ -47606,7 +47606,7 @@ - + @@ -47777,7 +47777,7 @@ - + @@ -48154,14 +48154,14 @@ - + - + @@ -48292,7 +48292,7 @@ - + @@ -49033,7 +49033,7 @@ - + @@ -49234,7 +49234,7 @@ - + @@ -49541,7 +49541,7 @@ - + @@ -51450,7 +51450,7 @@ - + @@ -51476,7 +51476,7 @@ - + @@ -51520,7 +51520,7 @@ - + @@ -51541,7 +51541,7 @@ - + @@ -51617,7 +51617,7 @@ - + @@ -51672,7 +51672,7 @@ - + @@ -51731,7 +51731,7 @@ - + @@ -51748,7 +51748,7 @@ - + @@ -51769,7 +51769,7 @@ - + @@ -52056,7 +52056,7 @@ - + @@ -52087,7 +52087,7 @@ - + @@ -52095,7 +52095,7 @@ - + @@ -52103,7 +52103,7 @@ - + @@ -52111,7 +52111,7 @@ - + @@ -52120,7 +52120,7 @@ - + @@ -52129,7 +52129,7 @@ - + @@ -52152,7 +52152,7 @@ - + @@ -52898,14 +52898,14 @@ - + - + @@ -53572,7 +53572,7 @@ - + @@ -53612,7 +53612,7 @@ - + @@ -53652,7 +53652,7 @@ - + @@ -53695,7 +53695,7 @@ - + @@ -53760,7 +53760,7 @@ - + @@ -53778,7 +53778,7 @@ - + @@ -53818,7 +53818,7 @@ - + @@ -54178,7 +54178,7 @@ - + @@ -54739,7 +54739,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]);