From patchwork Tue Oct 3 12:45:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 77021 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 9BEAD382FAFE for ; Tue, 3 Oct 2023 12:45:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9BEAD382FAFE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1696337130; bh=y48a0a57ZT60tpNsxKHUg42eLFUTOVkUIKOlM9Lrl5g=; h=To:Subject:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Help:List-Subscribe:From:Reply-To:Cc:From; b=TpwkxQHfECQ5ylQVqn0kPUA44J6iAJC2ErKcy2w/VpRfAxHJknxf2Vu/Hu7R0SPKi J0VP7gHQpZ2e1WPzWAI4na8peH0Lja7CKrUcq/4bbTnTLRPknHSCZxKnNIdtWcUQD4 CzhxamHeqEhIaxOuJaD7+2+WsIT7yaTeVUcHAGek= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 91699385B522 for ; Tue, 3 Oct 2023 12:45:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 91699385B522 Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-135-wvhXUvEDMU-6j-XuT5s4vQ-1; Tue, 03 Oct 2023 08:45:13 -0400 X-MC-Unique: wvhXUvEDMU-6j-XuT5s4vQ-1 Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7740c0e88ffso114802385a.1 for ; Tue, 03 Oct 2023 05:45:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696337112; x=1696941912; h=mime-version:user-agent:message-id:in-reply-to:date:references :organization:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=y48a0a57ZT60tpNsxKHUg42eLFUTOVkUIKOlM9Lrl5g=; b=KgWXEWn7hX2S1Ph+/pZAnpKzSZHZhs2lV2Y7jJCJZ6epqzlwC4f6Tn+0Qt8IzHN+QD JpvUfeAdqyNhcbeEpBwIq6pAyU9tgCxiEfpsd7arEpW6N5ZKMiUiioHsIR4sZCHgoLK4 +rsFop8EbwzHv11VCZiSVEH7NJg9FKjhcQ61b2O6Luu0iWndIL5bDAAw5H7j5kkCA38J IrcRCMu0mCIQwzsQiyWib6KdJqxMGSNc0/GVy29OpRYv11DO29g3Uq40XvPytjDRB/Vu ne+Dz+VkysDRF5Mptz/bd7QtHfl4dKmLdcIbYFeoyKF904bZHEvymJMjYpqD4N5zLYay ncRw== X-Gm-Message-State: AOJu0Yx2Ue5YSOh2n3Kw/bQnfu8ExRFdxPU5f8vA1As6ZXs9HLILZ0FI r20/Ul99LkptLd9AiJHmyKne7IqzSTG2Jal2Tc72LZMhxegspzWdeos9ncfPKVDmMUJSRHQGHVI QZlpjoh8XhDr4VLzNlqtvlcnuAD4e X-Received: by 2002:a37:ef13:0:b0:774:1992:15c9 with SMTP id j19-20020a37ef13000000b00774199215c9mr14870983qkk.42.1696337112289; Tue, 03 Oct 2023 05:45:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFZX2XRzAtF5OtCHzT/n+KgN/ysGJfRv0tKGSdlM21QdYwysdk52UV5/K7iBhjPA1of4ICS7w== X-Received: by 2002:a37:ef13:0:b0:774:1992:15c9 with SMTP id j19-20020a37ef13000000b00774199215c9mr14870965qkk.42.1696337111921; Tue, 03 Oct 2023 05:45:11 -0700 (PDT) Received: from localhost ([88.120.130.27]) by smtp.gmail.com with ESMTPSA id vr2-20020a05620a55a200b007758aad4b64sm420619qkn.9.2023.10.03.05.45.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Oct 2023 05:45:11 -0700 (PDT) Received: by localhost (Postfix, from userid 1000) id 4FED4B6E87; Tue, 3 Oct 2023 14:45:09 +0200 (CEST) To: libabigail@sourceware.org Subject: [PATCH 1/4] For WIP branch check-uapi-support:abg-comparison[-priv]: Detect incompatible unreachable type changes Organization: Red Hat / France References: <874jj7hp6e.fsf@redhat.com> X-Operating-System: CentOS Stream release 9 X-URL: http://www.redhat.com Date: Tue, 03 Oct 2023 14:45:09 +0200 In-Reply-To: <874jj7hp6e.fsf@redhat.com> (Dodji Seketeli's message of "Tue, 03 Oct 2023 14:21:29 +0200") Message-ID: <87zg0zg9ii.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: Dodji Seketeli via Libabigail From: Dodji Seketeli Reply-To: Dodji Seketeli Cc: dodji@redhat.com Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" Hello, corpus_diff::has_incompatible_changes fails to detect when an unreachable enum has an incompatible enum change. This is because corpus_diff::has_incompatible_changes doesn't look at corpus_diff::priv::changed_unreachable_types_[sorted_] to see if changes in the unreachable types held by these data members are incompatible or not. While looking at this, I noted that corpus_diff::priv::apply_filters_and_compute_diff_stats doesn't categorize the diffs in corpus_diff::priv::changed_unreachable_types_, so it's not possible to look at the categories of the changes held by that data member to see if they are incompatible or not. This patch thus categorizes the diff nodes held by corpus_diff::priv::changed_unreachable_types_ and makes corpus_diff::has_incompatible_changes look at those diff nodes to detect if they are incompatible. * src/abg-comparison-priv.h (corpus_diff::priv::changed_unreachable_types): Declare ... * src/abg-comparison.cc (corpus_diff::priv::changed_unreachable_types): ... new function. (corpus_diff::priv::apply_filters_and_compute_diff_stats): Walk the nodes returned by corpus corpus_diff:priv::changed_unreachable_types() and apply the filters (including categorization filters) to them. (corpus_diff::has_incompatible_changes): Now that diff nodes returned by corpus_diff::priv::changed_unreachable_types are categorized, look at their change categories to see if they are incompatible or not. Signed-off-by: Dodji Seketeli OK for branch check-uapi-support? --- src/abg-comparison-priv.h | 3 +++ src/abg-comparison.cc | 54 +++++++++++++++++++++++++++++++-------- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/src/abg-comparison-priv.h b/src/abg-comparison-priv.h index 481fc9c6..9802e78f 100644 --- a/src/abg-comparison-priv.h +++ b/src/abg-comparison-priv.h @@ -1159,6 +1159,9 @@ struct corpus_diff::priv size_t &num_filtered_removed, size_t &num_filtered_changed); + const string_diff_sptr_map& + changed_unreachable_types() const; + const vector& changed_unreachable_types_sorted() const; diff --git a/src/abg-comparison.cc b/src/abg-comparison.cc index 1cfc0952..1207729c 100644 --- a/src/abg-comparison.cc +++ b/src/abg-comparison.cc @@ -10129,6 +10129,14 @@ corpus_diff::priv::count_unreachable_types(size_t &num_added, ++num_filtered_changed; } +/// Get the map of diff nodes representing changed unreachable types. +/// +/// @return the map of diff nodes representing changed unreachable +/// types. +const string_diff_sptr_map& +corpus_diff::priv::changed_unreachable_types() const +{return changed_unreachable_types_;} + /// Get the sorted vector of diff nodes representing changed /// unreachable types. /// @@ -10239,14 +10247,11 @@ corpus_diff::priv::apply_filters_and_compute_diff_stats(diff_stats& stat) // walk the changed unreachable types to apply categorization // filters - for (diff_sptrs_type::const_iterator i = - changed_unreachable_types_sorted().begin(); - i != changed_unreachable_types_sorted().end(); - ++i) - { - diff_sptr diff = *i; - ctxt->maybe_apply_filters(diff); - } + for (auto& diff : changed_unreachable_types_sorted()) + ctxt->maybe_apply_filters(diff); + + for (auto& entry : changed_unreachable_types()) + ctxt->maybe_apply_filters(entry.second); if (get_context()->do_log()) { @@ -11194,7 +11199,8 @@ corpus_diff::has_incompatible_changes() const const diff_stats& stats = const_cast(this)-> apply_filters_and_suppressions_before_reporting(); - return (soname_changed() || architecture_changed() + bool has_incompatible_changes = + (soname_changed() || architecture_changed() || stats.net_num_func_removed() != 0 || (stats.num_func_with_virtual_offset_changes() != 0 // If all reports about functions with sub-type changes @@ -11205,8 +11211,34 @@ corpus_diff::has_incompatible_changes() const || stats.net_num_vars_removed() != 0 || stats.net_num_removed_func_syms() != 0 || stats.net_num_removed_var_syms() != 0 - || stats.net_num_removed_unreachable_types() != 0 - || stats.net_num_changed_unreachable_types() != 0); + || stats.net_num_removed_unreachable_types() != 0); + + // If stats.net_num_changed_unreachable_types() != 0 then walk the + // corpus_diff::priv::changed_unreachable_types_, and see if there + // is one that is harmful by bitwise and-ing their category with + // abigail::comparison::get_default_harmful_categories_bitmap(). + if (!has_incompatible_changes + && stats.net_num_changed_unreachable_types()) + { + // The changed unreachable types can carry harmful changes. + // Let's figure if they actually do. + + diff_context_sptr ctxt = context(); + for (auto &entry : priv_->changed_unreachable_types()) + { + diff_sptr dif = entry.second; + + // Let's see if any of the categories of this diff node + // belong to the "harmful" ones. + if (dif->get_category() & get_default_harmful_categories_bitmap()) + { + has_incompatible_changes |= true; + break; + } + } + } + + return has_incompatible_changes; } /// Test if the current instance of @ref corpus_diff carries subtype From patchwork Tue Oct 3 12:47:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 77022 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 AB69D3830B53 for ; Tue, 3 Oct 2023 12:47:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AB69D3830B53 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1696337247; bh=UJ4cUBFLkzZGgn57m1vMCPiYkjyUp9v4XcHfVDkAuIw=; h=To:Subject:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Help:List-Subscribe:From:Reply-To:Cc:From; b=RsAkXNczfyss7N030nKogwUnWiL7U839FIoF86qAuNJfISHa4XnXQGZK/DlWn4DJY +NVPnc2mwEszmNH8nYTawWGsW9iM7PJHVyaghW8R5kjD9eVQ7zC0bqKqdZhih9RR7N 8f58stZc0KTsB7W0RxtruIEhdfNeYqP8A9875V+0= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id C665C3857731 for ; Tue, 3 Oct 2023 12:47:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C665C3857731 Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-645-4HONV9feOe-3Hc0ZXBSjKQ-1; Tue, 03 Oct 2023 08:47:21 -0400 X-MC-Unique: 4HONV9feOe-3Hc0ZXBSjKQ-1 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-65b14f88921so9695356d6.0 for ; Tue, 03 Oct 2023 05:47:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696337240; x=1696942040; h=mime-version:user-agent:message-id:in-reply-to:date:references :organization:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UJ4cUBFLkzZGgn57m1vMCPiYkjyUp9v4XcHfVDkAuIw=; b=Nrl8oEUdGJaWJAUOssJapP0kOe8npIRVYPEA6mhwDGBjO7T54bWEB34Iig6exlGE72 dKDBkUKtjZtGO8OYSxH6PO7cz6swtCwLoj8hfTWeoOr+ySESCpIMNh1RnAJODk4y01E9 tydISDTXGf0d/cEroWK62OY7/1CkVhuUIt19hgVyL2oeB/Axs/Q2KKJPQqqiJF+PyYP8 /FtkZzyj3dEgU75hGMArMKF6Y8IrZvpjM2oHRiedU8Qy1ABc2hpWdo9eWQqbJjo8LXgO Crimrq/tG7b871ZYMm5vhksQ7xL8D8Ujps6xGeU/NAlIGrqwpErdDx6YQjSFVkFGBlr6 lUNw== X-Gm-Message-State: AOJu0YxTSNgPTVpK8uHCygtSoYS8mdYt1P3VyoLImHFb/Y4iXh2pCMza PuWZ2vPzuG6zNYXGsqunepI0LOJ7ZARtlsS1tg2/eHFsvLIeNoMpsbObjMSNBINsdHyWheGaiWM po/hoYTL/pSbEsfDHQZOP2fidVE9P X-Received: by 2002:a0c:e383:0:b0:65d:31e:b80f with SMTP id a3-20020a0ce383000000b0065d031eb80fmr17357479qvl.35.1696337240446; Tue, 03 Oct 2023 05:47:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHMVIx7HqdcibVhIgkrTF9j7A69yWH8+jmJL7oVruuCenGQvMPBxKLedqrAWWl88ZfppyB6KQ== X-Received: by 2002:a0c:e383:0:b0:65d:31e:b80f with SMTP id a3-20020a0ce383000000b0065d031eb80fmr17357465qvl.35.1696337240178; Tue, 03 Oct 2023 05:47:20 -0700 (PDT) Received: from localhost ([88.120.130.27]) by smtp.gmail.com with ESMTPSA id s28-20020a05620a031c00b00767d2870e39sm424540qkm.41.2023.10.03.05.47.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Oct 2023 05:47:19 -0700 (PDT) Received: by localhost (Postfix, from userid 1000) id 46522B6E87; Tue, 3 Oct 2023 14:47:18 +0200 (CEST) To: Dodji Seketeli Subject: [PATCH 2/4] For WIP branch check-uapi-support: default-reporter,reporter-priv: Do not report names of anonymous enums Organization: Red Hat / France References: <874jj7hp6e.fsf@redhat.com> X-Operating-System: CentOS Stream release 9 X-URL: http://www.redhat.com Date: Tue, 03 Oct 2023 14:47:18 +0200 In-Reply-To: <874jj7hp6e.fsf@redhat.com> (Dodji Seketeli's message of "Tue, 03 Oct 2023 14:21:29 +0200") Message-ID: <87v8bng9ex.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: Dodji Seketeli via Libabigail From: Dodji Seketeli Reply-To: Dodji Seketeli Cc: libabigail@sourceware.org Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" Hello, When reporting changes of anonymous enums, do not try to report their qualified name as that doesn't make any sense -- they are anonymous. Similarly, in report_name_size_and_alignment_changes do not try to report about changes in the name of an anonymous enum. * src/abg-default-reporter.cc (default_reporter::report): In the overload for enum_diff, do not get the qualified name of anonymous enums. * src/abg-reporter-priv.cc (report_name_size_and_alignment_changes): Do not report about name changes for anonymous enums. Signed-off-by: Dodji Seketeli OK for branch check-uapi-support? --- src/abg-default-reporter.cc | 12 +++++++++--- src/abg-reporter-priv.cc | 3 ++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/abg-default-reporter.cc b/src/abg-default-reporter.cc index b1df9300..c71f8d56 100644 --- a/src/abg-default-reporter.cc +++ b/src/abg-default-reporter.cc @@ -162,7 +162,9 @@ default_reporter::report(const enum_diff& d, ostream& out, { out << indent << " '" - << i->get_qualified_name() + << (first->get_is_anonymous() + ? i->get_name() + : i->get_qualified_name()) << "' value '" << i->get_value() << "'"; @@ -181,7 +183,9 @@ default_reporter::report(const enum_diff& d, ostream& out, { out << indent << " '" - << i->get_qualified_name() + << (second->get_is_anonymous() + ? i->get_name() + :i->get_qualified_name()) << "' value '" << i->get_value() << "'"; @@ -201,7 +205,9 @@ default_reporter::report(const enum_diff& d, ostream& out, { out << indent << " '" - << i->first.get_qualified_name() + << (first->get_is_anonymous() + ? i->first.get_name() + : i->first.get_qualified_name()) << "' from value '" << i->first.get_value() << "' to '" << i->second.get_value() << "'"; diff --git a/src/abg-reporter-priv.cc b/src/abg-reporter-priv.cc index 63a45b80..cc38f240 100644 --- a/src/abg-reporter-priv.cc +++ b/src/abg-reporter-priv.cc @@ -965,7 +965,8 @@ report_name_size_and_alignment_changes(decl_base_sptr first, string fn = first->get_qualified_name(), sn = second->get_qualified_name(); - if (fn != sn) + if (!(first->get_is_anonymous() && second->get_is_anonymous()) + && fn != sn) { if (!(ctxt->get_allowed_category() & HARMLESS_DECL_NAME_CHANGE_CATEGORY) && filtering::has_harmless_name_change(first, second)) From patchwork Tue Oct 3 12:48:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 77023 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 0F0473857C43 for ; Tue, 3 Oct 2023 12:50:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0F0473857C43 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1696337420; bh=A43N71n7c8o8xm1BWfm2viWARu11hsl36jb+pMfXTqo=; h=To:Subject:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Help:List-Subscribe:From:Reply-To:Cc:From; b=M5hI1gC4ZMLruN/fwP5qMtPPy9r5Za3MfK2VCZuzmGld+ATno0OJkhVyZZoUKWPs5 kUPEV8mKH+bRYesBPmdu4Gy8f0P6qTnO/2V1cThq6KpWenaNNxsArBmFpWdbzGM+lX rc+7rdYzVl1cC7zWLHCfWCn9RrmGNCki2OsHckZk= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 0F0973857731 for ; Tue, 3 Oct 2023 12:49:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0F0973857731 Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-659-4yX1qpnaOwiAPt9yMdwKKA-1; Tue, 03 Oct 2023 08:49:04 -0400 X-MC-Unique: 4yX1qpnaOwiAPt9yMdwKKA-1 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-6607a88a186so9626746d6.1 for ; Tue, 03 Oct 2023 05:49:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696337343; x=1696942143; h=mime-version:user-agent:message-id:in-reply-to:date:references :organization:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=A43N71n7c8o8xm1BWfm2viWARu11hsl36jb+pMfXTqo=; b=KZa6avXPJNE2T0zPaEb+8htOmeB0PhJdfDEZ+v8n4mYVbtHVzTf6x5AShk4P3PdiMB bWI0R2960w5Mi3kFFtbzQMjUCw1EK8psFuAcgSn2IozGac3QQD1JANDHRFof7Ror4W+0 6w8IhpfGgPM0tsMv50kJIWzhc20tcNoaJCklUvyrPoBf5IW4yXs7j1xXIDXZSHTcrcm9 IIIjp6cQhIdw8RNeLHzf+da25tdklpN9lwjp/2i6CEL7vsVrpGN6lZtUNNCj4V8Wn6s3 KI10Vb9BpL6TJnrDvaIEX1kg4wIa6NnYj8JZJ20ZAhO5Atg0OQn6MMGNTLq0/Y/xixGT ypug== X-Gm-Message-State: AOJu0YzRKIx4YzWP7RjQeyUXZ1Sd2SLOXEqJURrn7wFG2W/agEsylZ6W Cv7iq4V17RDYQCnuNgrIC+ameE+W3UdysDIAMj/HFYTA1pzC3FV3/8LRW94LJVPk9knCqDDpRAt nD21xfUX2UqYae42ZS3iB X-Received: by 2002:a0c:f30f:0:b0:65a:fc2a:c2ab with SMTP id j15-20020a0cf30f000000b0065afc2ac2abmr14020737qvl.49.1696337342618; Tue, 03 Oct 2023 05:49:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE1ZuyL0PDvB7WHWIjnDUOgyHbyqK8j5baLJWvuwQyNYn+oxvzTvtFupyOKrpOUswU7mWOP3g== X-Received: by 2002:a0c:f30f:0:b0:65a:fc2a:c2ab with SMTP id j15-20020a0cf30f000000b0065afc2ac2abmr14020689qvl.49.1696337341414; Tue, 03 Oct 2023 05:49:01 -0700 (PDT) Received: from localhost ([88.120.130.27]) by smtp.gmail.com with ESMTPSA id cx18-20020a05620a51d200b0076f19b9e96fsm421041qkb.107.2023.10.03.05.48.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Oct 2023 05:49:00 -0700 (PDT) Received: by localhost (Postfix, from userid 1000) id E08DDB6E87; Tue, 3 Oct 2023 14:48:57 +0200 (CEST) To: Dodji Seketeli Subject: [PATCH 3/4] For WIP branch check-uapi-support: ir,comparison,corpus: Better support anonymous enums comparison Organization: Red Hat / France References: <874jj7hp6e.fsf@redhat.com> X-Operating-System: CentOS Stream release 9 X-URL: http://www.redhat.com Date: Tue, 03 Oct 2023 14:48:57 +0200 In-Reply-To: <874jj7hp6e.fsf@redhat.com> (Dodji Seketeli's message of "Tue, 03 Oct 2023 14:21:29 +0200") Message-ID: <87r0mbg9c6.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: Dodji Seketeli via Libabigail From: Dodji Seketeli Reply-To: Dodji Seketeli Cc: libabigail@sourceware.org Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" Hello, Anonymous enums are designated using their internal names which are automatically generated. The problem however is that whenever a new anonymous enum gets inserted in the translation unit, that can randomly change the name of existing anonymous enums. This makes reporting of changes in anonymous enums essentially useless. To address this issue, this patch uses flat representation for anonymous enums, for the purpose of designating them outside of the context of type canonicalization. This is like what is done already for anonymous classes and unions. * include/abg-fwd.h (get_enum_flat_representation) (get_class_or_enum_flat_representation): Declare new functions. * include/abg-ir.h (enum_type_decl::get_sorted_enumerators): Declare new member functions. * src/abg-comparison.cc (corpus_diff::priv::{ensure_lookup_tables_populated, added_unreachable_type_is_suppressed, deleted_unreachable_type_is_suppressed, record_type_as_reachable_from_public_interfaces}): Use non-internal pretty representation to designate ABI artifacts so that anonymous enums get designated by their flat representation. * src/abg-corpus.cc (corpus::type_is_reachable_from_public_interfaces): Likewise. * src/abg-ir.cc (get_type_name): The type name of an anonymous enum or class should is now the flat representation if we are not in the context of type canonicalization. (enum_type_decl::get_pretty_representation): If we are not in the context of type canonicalization, the pretty representation of an enum is its flat representation. (get_enum_flat_representation) (get_class_or_enum_flat_representation): Define new functions. (enum_type_decl::get_sorted_enumerators): Likewise. * tests/data/test-annotate/libtest23.so.abi: Adjust. * tests/data/test-annotate/test-anonymous-members-0.o.abi: Likewise. * tests/data/test-annotate/test15-pr18892.so.abi: Likewise. * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise. * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise. * tests/data/test-diff-dwarf/test43-PR22913-report-0.txt: Likewise. * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise. * tests/data/test-read-dwarf/libtest23.so.abi: Likewise. * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise. * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise. * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise. * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise. Signed-off-by: Dodji Seketeli OK for branch check-uapi-support? --- include/abg-fwd.h | 27 + include/abg-ir.h | 3 + src/abg-comparison.cc | 10 +- src/abg-corpus.cc | 4 +- src/abg-ir.cc | 203 +- tests/data/test-annotate/libtest23.so.abi | 224 +- .../test-anonymous-members-0.o.abi | 22 +- .../data/test-annotate/test15-pr18892.so.abi | 8 +- ...st18-pr19037-libvtkRenderingLIC-6.1.so.abi | 54 +- ...19-pr19023-libtcmalloc_and_profiler.so.abi | 10 +- ...st20-pr19025-libvtkParallelCore-6.1.so.abi | 2 +- .../test43-PR22913-report-0.txt | 4 +- .../test-read-dwarf/PR22122-libftdc.so.abi | 12416 ++++++++-------- tests/data/test-read-dwarf/libtest23.so.abi | 216 +- .../test-read-dwarf/test-libandroid.so.abi | 44 +- .../test-read-dwarf/test16-pr18904.so.abi | 1816 +-- ...st18-pr19037-libvtkRenderingLIC-6.1.so.abi | 40 +- .../test22-pr19097-libstdc++.so.6.0.17.so.abi | 60 +- 18 files changed, 7637 insertions(+), 7526 deletions(-) diff --git a/include/abg-fwd.h b/include/abg-fwd.h index 0afb2122..e494de07 100644 --- a/include/abg-fwd.h +++ b/include/abg-fwd.h @@ -1097,6 +1097,33 @@ get_class_or_union_flat_representation(const class_or_union_sptr& cou, bool internal, bool qualified_name = true); +string +get_enum_flat_representation(const enum_type_decl& enum_type, + const string& indent, + bool one_line, + bool internal, + bool qualified_names); + +string +get_enum_flat_representation(const enum_type_decl* enum_type, + const string& indent, + bool one_line, + bool internal, + bool qualified_names); + +string +get_enum_flat_representation(const enum_type_decl_sptr& enum_type, + const string& indent, + bool one_line, + bool qualified_names); + +string +get_class_or_enum_flat_representation(const type_base& coe, + const string& indent, + bool one_line, + bool internal, + bool qualified_name); + string get_debug_representation(const type_or_decl_base*); diff --git a/include/abg-ir.h b/include/abg-ir.h index 18e95afd..3e2cbda9 100644 --- a/include/abg-ir.h +++ b/include/abg-ir.h @@ -2743,6 +2743,9 @@ public: const enumerators& get_enumerators() const; + const enumerators& + get_sorted_enumerators() const; + enumerators& get_enumerators(); diff --git a/src/abg-comparison.cc b/src/abg-comparison.cc index 1207729c..228909dc 100644 --- a/src/abg-comparison.cc +++ b/src/abg-comparison.cc @@ -9541,7 +9541,8 @@ corpus_diff::priv::ensure_lookup_tables_populated() if (!is_user_defined_type(t)) continue; - string repr = abigail::ir::get_pretty_representation(t, true); + string repr = + abigail::ir::get_pretty_representation(t, /*internal=*/false); deleted_unreachable_types_[repr] = t; } @@ -9563,7 +9564,8 @@ corpus_diff::priv::ensure_lookup_tables_populated() if (!is_user_defined_type(t)) continue; - string repr = abigail::ir::get_pretty_representation(t, true); + string repr = + abigail::ir::get_pretty_representation(t, /*internal=*/false); // Let's see if the inserted type we are looking at was // reported as deleted as well. @@ -9847,7 +9849,7 @@ corpus_diff::priv::added_unreachable_type_is_suppressed(const type_base *t)const if (!t) return false; - string repr = abigail::ir::get_pretty_representation(t, /*internal=*/true); + string repr = abigail::ir::get_pretty_representation(t, /*internal=*/false); string_type_base_sptr_map::const_iterator i = suppressed_added_unreachable_types_.find(repr); if (i == suppressed_added_unreachable_types_.end()) @@ -9869,7 +9871,7 @@ corpus_diff::priv::deleted_unreachable_type_is_suppressed(const type_base *t) co if (!t) return false; - string repr = abigail::ir::get_pretty_representation(t, /*internal=*/true); + string repr = abigail::ir::get_pretty_representation(t, /*internal=*/false); string_type_base_sptr_map::const_iterator i = suppressed_deleted_unreachable_types_.find(repr); if (i == suppressed_deleted_unreachable_types_.end()) diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc index 7cf2d11d..4a4cb8bc 100644 --- a/src/abg-corpus.cc +++ b/src/abg-corpus.cc @@ -774,7 +774,7 @@ corpus::recording_types_reachable_from_public_interface_supported() void corpus::record_type_as_reachable_from_public_interfaces(const type_base& t) { - string repr = get_pretty_representation(&t, /*internal=*/true); + string repr = get_pretty_representation(&t, /*internal=*/false); interned_string s = t.get_environment().intern(repr); priv_->get_public_types_pretty_representations()->insert(s); } @@ -792,7 +792,7 @@ corpus::record_type_as_reachable_from_public_interfaces(const type_base& t) bool corpus::type_is_reachable_from_public_interfaces(const type_base& t) const { - string repr = get_pretty_representation(&t, /*internal=*/true); + string repr = get_pretty_representation(&t, /*internal=*/false); interned_string s = t.get_environment().intern(repr); return (priv_->get_public_types_pretty_representations()->find(s) diff --git a/src/abg-ir.cc b/src/abg-ir.cc index fc3437d6..06dfbe20 100644 --- a/src/abg-ir.cc +++ b/src/abg-ir.cc @@ -8845,6 +8845,8 @@ get_type_name(const type_base* t, bool qualified, bool internal) return fn_type->get_cached_name(internal); } + const environment&env = d->get_environment(); + // All anonymous types of a given kind get to have the same internal // name for internal purpose. This to allow them to be compared // among themselves during type canonicalization. @@ -8863,10 +8865,18 @@ get_type_name(const type_base* t, bool qualified, bool internal) if (qualified) return d->get_qualified_name(internal); - const environment&env = d->get_environment(); return env.intern(get_internal_integral_type_name(t)); } + if (d->get_is_anonymous()) + { + if (is_class_or_union_type(t) || is_enum_type(t)) + return env.intern + (get_class_or_enum_flat_representation (*t, "", + /*one_line=*/true, + internal, qualified)); + } + if (qualified) return d->get_qualified_name(internal); return d->get_name(); @@ -9563,6 +9573,165 @@ get_class_or_union_flat_representation(const class_or_union_sptr& cou, internal, qualified_names);} +/// Get the flat representation of an instance of @ref enum_type_decl +/// type. +/// +/// The flat representation of a given @ref enum_type_decl type is the +/// actual definition of the type, for instance: +/// +/// enum {E_0 =0, E_1 = 1} +/// +///@param enum_type the enum type to consider. +/// +///@param indent the identation spaces to use in the representation. +/// +///@param one_line if true, then the flat representation stands on one +///line. Otherwise, it stands on multiple lines. +/// +///@param qualified_names use qualified names when applicable. +///Typically, if this is true, the name of the enum is going to be +///qualified. +/// +///@return the resulting flat representation. +string +get_enum_flat_representation(const enum_type_decl& enum_type, + const string& indent, bool one_line, + bool qualified_names) +{ + string repr; + std::ostringstream o; + string local_indent = " "; + + repr = indent + "enum "; + + if (!enum_type.get_is_anonymous()) + o << (qualified_names + ? enum_type.get_qualified_name() + : enum_type.get_name()) + " "; + + o << "{"; + + if (!one_line) + o << "\n"; + + for (const auto &enumerator : enum_type.get_sorted_enumerators()) + { + if (!one_line) + o << "\n" + indent; + + o << enumerator.get_name() + "=" << enumerator.get_value() << ", "; + } + + if (!one_line) + o << "\n" + indent << "}"; + else + o << "}"; + + repr =o.str(); + + return repr; +} + +/// Get the flat representation of an instance of @ref enum_type_decl +/// type. +/// +/// The flat representation of a given @ref enum_type_decl type is the +/// actual definition of the type, for instance: +/// +/// enum {E_0 =0, E_1 = 1} +/// +///@param enum_type the enum type to consider. +/// +///@param indent the identation spaces to use in the representation. +/// +///@param one_line if true, then the flat representation stands on one +///line. Otherwise, it stands on multiple lines. +/// +///@param qualified_names use qualified names when applicable. +///Typically, if this is true, the name of the enum is going to be +///qualified. +/// +///@return the resulting flat representation. +string +get_enum_flat_representation(const enum_type_decl* enum_type, + const string& indent, bool one_line, + bool qualified_names) +{ + if (!enum_type) + return ""; + + return get_enum_flat_representation(*enum_type, indent, + one_line, qualified_names); +} + +/// Get the flat representation of an instance of @ref enum_type_decl +/// type. +/// +/// The flat representation of a given @ref enum_type_decl type is the +/// actual definition of the type, for instance: +/// +/// enum {E_0 =0, E_1 = 1} +/// +///@param enum_type the enum type to consider. +/// +///@param indent the identation spaces to use in the representation. +/// +///@param one_line if true, then the flat representation stands on one +///line. Otherwise, it stands on multiple lines. +/// +///@param qualified_names use qualified names when applicable. +///Typically, if this is true, the name of the enum is going to be +///qualified. +/// +///@return the resulting flat representation. +string +get_enum_flat_representation(const enum_type_decl_sptr& enum_type, + const string& indent, bool one_line, + bool qualified_names) +{ + return get_enum_flat_representation(enum_type.get(), + indent, one_line, + qualified_names); +} + +/// Get the flat representation of an instance of @ref enum_type_decl +/// type. +/// +/// The flat representation of a given @ref enum_type_decl type is the +/// actual definition of the type, for instance: +/// +/// enum {E_0 =0, E_1 = 1} +/// +///@param enum_type the enum type to consider. +/// +///@param indent the identation spaces to use in the representation. +/// +///@param one_line if true, then the flat representation stands on one +///line. Otherwise, it stands on multiple lines. +/// +///@param qualified_names use qualified names when applicable. +///Typically, if this is true, the name of the enum is going to be +///qualified. +/// +///@return the resulting flat representation. +string +get_class_or_enum_flat_representation(const type_base& coe, + const string& indent, + bool one_line, + bool internal, + bool qualified_name) + +{ + string repr; + if (const class_or_union* cou = is_class_or_union_type(&coe)) + repr = get_class_or_union_flat_representation(cou, indent, one_line, + internal, qualified_name); + else if (const enum_type_decl* enom = is_enum_type(&coe)) + repr = get_enum_flat_representation(*enom, indent, one_line, qualified_name); + + return repr; +} + /// Get the textual representation of a type for debugging purposes. /// /// If the type is a class/union, this shows the data members, virtual @@ -18578,6 +18747,7 @@ class enum_type_decl::priv { type_base_sptr underlying_type_; enumerators enumerators_; + mutable enumerators sorted_enumerators_; friend class enum_type_decl; @@ -18643,6 +18813,33 @@ enum_type_decl::enumerators& enum_type_decl::get_enumerators() {return priv_->enumerators_;} +/// Get the lexicographically sorted vector of enumerators. +/// +/// @return the lexicographically sorted vector of enumerators. +const enum_type_decl::enumerators& +enum_type_decl::get_sorted_enumerators() const +{ + if (priv_->sorted_enumerators_.empty()) + { + for (auto e = get_enumerators().rbegin(); + e != get_enumerators().rend(); + ++e) + priv_->sorted_enumerators_.push_back(*e); + + std::sort(priv_->sorted_enumerators_.begin(), + priv_->sorted_enumerators_.end(), + [](enum_type_decl::enumerator& l, + enum_type_decl::enumerator& r) + { + if (l.get_name() == r.get_name()) + return l.get_value() < r.get_value(); + return (l.get_name() < r.get_name()); + }); + } + + return priv_->sorted_enumerators_; +} + /// Get the pretty representation of the current instance of @ref /// enum_type_decl. /// @@ -18668,6 +18865,10 @@ enum_type_decl::get_pretty_representation(bool internal, if (internal && get_is_anonymous()) r += get_type_name(this, qualified_name, /*internal=*/true); + else if (get_is_anonymous()) + r += get_enum_flat_representation(*this, "", + /*one_line=*/true, + qualified_name); else r += decl_base::get_pretty_representation(internal, qualified_name); diff --git a/tests/data/test-annotate/libtest23.so.abi b/tests/data/test-annotate/libtest23.so.abi index dcbf8edc..6ca5c79d 100644 --- a/tests/data/test-annotate/libtest23.so.abi +++ b/tests/data/test-annotate/libtest23.so.abi @@ -137,54 +137,54 @@ - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + @@ -201,7 +201,7 @@ - + @@ -209,11 +209,11 @@ - + - + @@ -235,12 +235,12 @@ - + - + @@ -263,7 +263,7 @@ - + @@ -311,7 +311,7 @@ - + @@ -321,7 +321,7 @@ - + @@ -330,7 +330,7 @@ - + @@ -341,9 +341,9 @@ - + - + @@ -352,13 +352,13 @@ - + - + - + - + @@ -367,13 +367,13 @@ - + - + - + - + @@ -384,11 +384,11 @@ - + - + @@ -399,7 +399,7 @@ - + @@ -412,9 +412,9 @@ - + - + @@ -427,7 +427,7 @@ - + @@ -467,7 +467,7 @@ - + @@ -491,12 +491,12 @@ - + - + - - + + @@ -505,7 +505,7 @@ - + @@ -514,7 +514,7 @@ - + @@ -525,7 +525,7 @@ - + @@ -534,7 +534,7 @@ - + @@ -543,18 +543,18 @@ - + - + - + - + @@ -563,9 +563,9 @@ - + - + @@ -574,7 +574,7 @@ - + @@ -583,18 +583,18 @@ - + - + - + - + @@ -603,7 +603,7 @@ - + @@ -612,16 +612,16 @@ - + - + - + @@ -632,7 +632,7 @@ - + @@ -643,7 +643,7 @@ - + @@ -677,7 +677,7 @@ - + @@ -690,18 +690,18 @@ - + - + - + @@ -712,7 +712,7 @@ - + @@ -721,31 +721,31 @@ - + - + - + - + - + - + @@ -754,7 +754,7 @@ - + @@ -763,7 +763,7 @@ - + @@ -772,7 +772,7 @@ - + @@ -783,7 +783,7 @@ - + @@ -794,7 +794,7 @@ - + @@ -805,7 +805,7 @@ - + @@ -827,7 +827,7 @@ - + @@ -835,7 +835,7 @@ - + @@ -847,7 +847,7 @@ - + @@ -857,7 +857,7 @@ - + @@ -866,7 +866,7 @@ - + @@ -879,7 +879,7 @@ - + @@ -890,7 +890,7 @@ - + @@ -898,7 +898,7 @@ - + @@ -906,9 +906,9 @@ - + - + @@ -918,7 +918,7 @@ - + @@ -927,7 +927,7 @@ - + @@ -936,9 +936,9 @@ - + - + @@ -1002,7 +1002,7 @@ - + @@ -1024,9 +1024,9 @@ - + - + @@ -1080,9 +1080,9 @@ - + - + diff --git a/tests/data/test-annotate/test-anonymous-members-0.o.abi b/tests/data/test-annotate/test-anonymous-members-0.o.abi index e272d213..d75e67ee 100644 --- a/tests/data/test-annotate/test-anonymous-members-0.o.abi +++ b/tests/data/test-annotate/test-anonymous-members-0.o.abi @@ -13,15 +13,15 @@ - - + + - - + + - + @@ -29,11 +29,11 @@ - - + + - - + + @@ -103,7 +103,7 @@ - + @@ -111,7 +111,7 @@ - + diff --git a/tests/data/test-annotate/test15-pr18892.so.abi b/tests/data/test-annotate/test15-pr18892.so.abi index d3616699..b749a0a6 100644 --- a/tests/data/test-annotate/test15-pr18892.so.abi +++ b/tests/data/test-annotate/test15-pr18892.so.abi @@ -10883,7 +10883,7 @@ - + @@ -35469,7 +35469,7 @@ - + @@ -35517,9 +35517,9 @@ - + - + diff --git a/tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi b/tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi index 0a6893b4..adff58f8 100644 --- a/tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi +++ b/tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi @@ -8146,7 +8146,7 @@ - + @@ -12813,7 +12813,7 @@ - + @@ -21260,18 +21260,8 @@ - - - - - - - - - - - - + + @@ -21279,6 +21269,16 @@ + + + + + + + + + + @@ -24118,18 +24118,8 @@ - - - - - - - - - - - - + + @@ -24137,6 +24127,16 @@ + + + + + + + + + + @@ -27487,7 +27487,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 ea12beac..97490f59 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 @@ -20183,7 +20183,7 @@ - + @@ -25068,21 +25068,21 @@ - + - + - + @@ -32572,7 +32572,7 @@ - + diff --git a/tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi b/tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi index 4b4166bf..3de32474 100644 --- a/tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi +++ b/tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi @@ -21731,7 +21731,7 @@ - + diff --git a/tests/data/test-diff-dwarf/test43-PR22913-report-0.txt b/tests/data/test-diff-dwarf/test43-PR22913-report-0.txt index fc35f21d..d0515c69 100644 --- a/tests/data/test-diff-dwarf/test43-PR22913-report-0.txt +++ b/tests/data/test-diff-dwarf/test43-PR22913-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 char f1(Struct1Ptr)' has some indirect sub-type changes: - parameter 1 of type 'typedef Struct1Ptr' has sub-type changes: - underlying type '__anonymous_struct__1*' changed: + parameter 1 of type 'typedef Struct1Ptr' changed: + underlying type 'struct {char m1; char m2;}*' changed: in pointed to type 'struct {char m1; char m2;}': type size changed from 16 to 8 (in bits) 1 data member deletion: diff --git a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi index a1f8778c..501658df 100644 --- a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi +++ b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi @@ -357,136 +357,133 @@ - - - - - + + + + + - - - - + + - - - + + - - - + + - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + - + - - + + - - + + - + - + - + - + - + - + - + - + - + - + @@ -494,105 +491,105 @@ - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + @@ -600,91 +597,91 @@ - + - + - + - + - + - + - + - + - + - - - - + + + + - + - + - + - + - + - - - + + + - + @@ -692,96 +689,96 @@ - + - + - - + + - + - + - + - - + + - + - + - + - + - + - + - - + + - + - + - + - - - + + + - - - - + + + + - - - + + + - + - + - - - + + + - + @@ -790,7 +787,7 @@ - + @@ -800,90 +797,90 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + @@ -891,13 +888,13 @@ - + - + @@ -915,26 +912,26 @@ - + - + - - + + - + @@ -946,19 +943,19 @@ - + - + - + @@ -970,90 +967,90 @@ - - + + - - + + - + - + - + - - + + - + - - + + - - - + + + - - + + - + - - + + - - + + @@ -1061,8 +1058,8 @@ - - + + @@ -1070,8 +1067,8 @@ - - + + @@ -1079,29 +1076,29 @@ - + - - + + - - + + - - + + @@ -1109,14 +1106,14 @@ - + - - + + @@ -1124,8 +1121,8 @@ - - + + @@ -1133,8 +1130,8 @@ - - + + @@ -1142,7 +1139,7 @@ - + @@ -1150,246 +1147,246 @@ - + - - + + - - + + - + - - + + - + - + - + - - + + - + - + - - + + - + - + - - + + - - - + + + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - - + + - + - + - + - + - + - + - + @@ -1528,7 +1525,7 @@ - + @@ -1653,14 +1650,14 @@ - + - + @@ -1678,7 +1675,7 @@ - + @@ -1692,7 +1689,7 @@ - + @@ -1704,7 +1701,7 @@ - + @@ -1762,28 +1759,28 @@ - + - + - + - + - + - - + + - + @@ -1795,15 +1792,15 @@ - + - + - + @@ -1814,11 +1811,11 @@ - + - + @@ -1876,34 +1873,34 @@ - - + + - + - - + + - + - + - + - - + + - + - + @@ -2310,7 +2307,7 @@ - + @@ -2956,12 +2953,12 @@ - - + + - + @@ -2969,133 +2966,133 @@ - + - + - + - + - + - + - + - + - + - + - - - + + + - - - - + + + + - + - + - + - + - - + + - + - - + + - + - - - + + + - - + + - + - + - - + + - + - + - - + + - + - + - + @@ -3103,499 +3100,489 @@ - - + + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - - + + + - - - + + + - + - + - + - + - + - + - + - + - + - + - - - + + + - - - + + + - - - + + + - - + + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - - + + - - + + - + - + - + - - + + - + - + - - + + - - - + + + - + - + - - + + - - - + + + - - - + + + - + - + - - - + + + - - + + - + - - - - - + + + + + + + - - - - - + + + + + - + - - - - + + + + - - + + - - - - - - - - + + + + - - - - - - - - - - - - + + + + + + + + + - + - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + - - + + - + - + - + - + - - - + + + - - + + - + - - + + - - + + - + - + @@ -3603,429 +3590,429 @@ - - - + + + - + - - - - + + + + - - - - + + + + - + - - + + - + - + - + - + - + - - + + - - - + + + - + - - + + - + - - + + - + - - - - + + + + - + - + - + - + - - + + - - + + - - + + - + - + - + - + - - + + - + - + - + - + - - - + + + - - - + + + - + - - - + + + - - - + + + - + - - - - + + + + - - - - + + + + - + - - - + + + - + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - + - - - + + + - + - - - + + + - + - + - + - + - - + + - + - + - - - - + + + + - + - - - + + + - + - + - + - - - - + + + + - + - + - - + + - + - + - - - + + + - + - - - - + + + + - + - - - + + + - + - - + + - - - + + + - - + + - + - + - - - - + + + + - + - - + + - - + + - + - + - - + + - + - + - + - + @@ -4035,384 +4022,384 @@ - + - - + + - - + + - - + + - + - - + + - - + + - + - + - + - - + + - + - + - + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - - - + + + - - - + + + - + - - + + - - + + - + - + - - - + + + - - - + + + - - + + - + - - + + - - + + - + - + - - + + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - - + + - + - + - + - + - - + + - - - + + + - + - + - + - + - + - + - - - + + + - + - + - - + + - + - + - + @@ -4420,566 +4407,535 @@ - - + + - + - + - + - + - + - + - + - - + + - + - - + + - + - + - + - - + + - + - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - + - + - + - - + + - + - + - - + + - + - - + + - - + + - + - + - - + + - + - - + + - + - - + + - + - - + + - - + + - + - - + + - - + + - + - - + + - - - + + + - + - - - + + + - - + + - - - + + + - - - + + + - - + + - + - - - + + + - - - + + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + - - - - - - + + + + - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + - - - - - + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - + + - - - - - + + + + + - - - + + + - + - + - + - + - - + + - + - - + + - - + + - - - + + + - - - + + + - + - + - + - + - + - + - - - + + + - - - + + + - + - + - - + + - + @@ -4987,963 +4943,963 @@ - + - + - - + + - - - - + + + + - - - + + + - + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - + - + - + - + - - - + + + - + - - - + + + - + - - - + + + - - - + + + - + - - - + + + - - - + + + - + - - - - + + + + - - - + + + - + - - - + + + - + - + - + - + - - - - + + + + - + - - - - + + + + - + - + - + - - - + + + - + - + - - + + - + - + - + - + - + - + - + - - + + - + - + - - - + + + - - - + + + - + - - - + + + - - - + + + - + - - - - + + + + - - - + + + - + - - - - - + + + + + - - - + + + - + - - + + - + - + - + - - + + - - + + - + - + - + - + - + - + - + - + - + - - - + + + - - - + + + - - - + + + - - + + - + - + - - + + - + - - - + + + - - + + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - - + + - + - - + + - - + + - + - + - - - + + + - - - + + + - + - + - + - + - - + + - - + + - - + + - + - + - - + + - - - + + + - - - + + + - - - + + + - + - + - - + + - - - + + + - + - + - - + + - + - + - - - - - + + + + + - + - + - + - + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - + - - - + + + - - - + + + - + - + - - + + - - - + + + - - - + + + - + - - - + + + - - - - + + + + - - - - + + + + - - + + - - + + - - + + - + - - + + - + - - + + - + - + - + - + - + - + - - + + - + - - - + + + - + - - + + - + - + - + - + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + @@ -5952,1659 +5908,1629 @@ - - + + - + - - + + - + - - + + - + - - + + - + - - - + + + - - - + + + - - - + + + - + - - - + + + - + - + - - - + + + - - + + - + - + - - + + - - + + - + - + - + - - + + - - + + - - + + - - - + + + - + - - - + + + - - + + - - - + + + - + - - + + - + - - + + - - - + + + - + - + - - + + - - + + - + - + - - + + - - + + - - - + + + - + - + - + - - - + + + - - - + + + - + - + - - - + + + - - - + + + - - + + - + - + - + - - + + - - + + - - - + + + - - + + - - - + + + - - - + + + - + - + - - + + - - + + - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + - - - - - - - - + + + + + - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + - + - + - + - - - - + + + + - - + + - - + + - + - - + + - + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - - - + + + - - - + + + - - - + + + - + - - + + - - + + - - - - - - + + + + + + - - - + + + - + - - - - + + + + - + - + - + - + - - + + - + - - + + - + - - - - + + + + - - - + + + - - - - + + + + - - + + - + - - - + + + - - - + + + - + - - + + - - + + - + - - + + - - + + - + - - + + - - + + - + - - - - + + + + - - - - + + + + - + - + - - + + - - - + + + - - + + - - + + - + - + - + - + - - + + - - + + - - - + + + - - - + + + - - - + + + - - + + - - + + - + - + - - - + + + - - - + + + - + - + - - - + + + - - + + - + - - - - - + + + + + - - + + - + - - - - - + + + + + - + - - - - + + + + - - + + - - + + - - + + - - + + - - - + + + - + - - + + - - - + + + - - + + - + - - + + - - - + + + - + - + - + - - - + + + - - + + - + - + - - + + - - - + + + - - + + - + - + - - + + - - - + + + - + - - - + + + - - - + + + - + - - + + - + - - + + - + - - - + + + - + - - - + + + - + - - - + + + - - - + + + - + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - + - + - - - + + + - - - + + + - - - + + + - - + + - - + + - + - + - + - + - - + + - + - + - + - - - - + + + + - - - + + + - + - - + + - + - - - + + + - + - + - + - - + + - + - - + + - + - + - + - - - + + + - + - - - - + + + + - + - - - + + + - + - + - - + + - - + + - - + + - + - + - - + + - + - + - + - + - - + + - - + + - + - + - - - - + + + + - - - + + + - + - + - - - + + + - - - + + + - - - + + + - + - + - - + + - + - + - - - + + + - - - + + + - - - + + + - + - + - + - + - - - + + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - + - + - - + + - + - - - + + + - + - - + + - - + + - - + + - - + + - + - + - - + + - + - + - + @@ -7612,724 +7538,713 @@ - - + + - + - + - + - + - - - + + + - + - + - + - - + + - - + + - - - + + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - - + + + - - - + + + - + - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - + - + - + - - - + + + - + - + - + - - - + + + - - - + + + - - - + + + - + - + - + - - + + - + - - + + - - + + - - + + - + - + - - - + + + - - - + + + - + - - - + + + - + - - - + + + - - - + + + - + - + - - + + - - - + + + - - - + + + - - + + - + - - - + + + - + - - + + - + - + - - - + + + - - + + - - + + - + - + - - - + + + - + - + - + - + - - - + + + - - - + + + - - + + - - + + - - - + + + - + - + - + - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - + - - + + - + - + - - + + - + - + - + - - - + + + - + - + - - + + - + - + - + - + - - + + - - + + - + - + - - + + - - - + + + - + - - - + + + - - + + - - + + - - - + + + - - - + + + - - + + - + - + - - - + + + - + - + - + @@ -8337,1252 +8252,1298 @@ - - - + + + - - - + + + - + - - - - + + + + - - - - + + + + - + - + - + - + - - - - + + + + - - - - + + + + - + - - - + + + - + - - + + - + - + - + - - + + - + - - + + - + - + - - + + - + - + - + - + - - + + - - + + - + - + - + - + - + - + - + - - + + - - - + + + - + - + - - + + - + - + - + - + - + - - + + - - - + + + - - + + - - + + - + - + - + - + - - - + + + - + - - - + + + - + - + - + - - + + - + - - + + - + - + - + - - + + - - + + - + - + - + - - - - + + + + - + - - + + - - - - + + + + - - + + - + - + - + - + - + - - - + + + - - - + + + - - + + - + - + - + - + - + - + - + - - - + + + - - - + + + - + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - + + - + - + - + - - + + - - - + + + - - - + + + - - + + - - + + - - + + - + - + - - + + - - - + + + - + - - + + - - - + + + - - + + - - - + + + - - + + - + - + - - + + - + - - - + + + - + - - + + - + - + - + - - + + - - - + + + - - - + + + - - - + + + - + - - - + + + - - + + - + - - - + + + - + - + - - + + - - + + - + - - + + - - - + + + - - - + + + - + - - + + - - - + + + - + - - + + - + - + - - - + + + - + - - + + - + - + - - - + + + - + - + - + - - - + + + - + - + - + - - - + + + - + - - + + - + - + - - + + - + - - - + + + - + - - - + + + - + - - - + + + - + - + - + - - - + + + - + - - - + + + - - + + - + - - + + - + - + - - + + - - - + + + - + - + - - + + - - + + - + - - + + - - - + + + - - - + + + - - + + - - - + + + - + - + - + - - + + - - + + - - + + - - - + + + - + - + - - + + - - + + - + - + - + - + - - + + - - - + + + - - - + + + - + - + - - + + - - + + - - - + + + - + - + - + - - + + - - + + - - - + + + - - + + - - - + + + - - - + + + - + - - + + - - + + - - - + + + - + - + - + - - + + - - + + - - + + - - + + - - - + + + - + - - + + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + @@ -9592,278 +9553,212 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - + + + - - - + + - - - + + - - - - - + + + - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - - + + - + - - + + - - + + - - + + - - - - - - - - + + + + + + + + - + - + - + - + - - + + - - + + - - - + + + - - + + - - + + - - + + - + - + @@ -9871,170 +9766,170 @@ - - - + + + - + - - + + - - - + + + - + - - - - + + + + - + - + - - + + - + - - + + - + - - + + - - + + - + - - + + - + - - + + - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - - + + - - - + + + - - + + - + - - + + - + - + @@ -10042,861 +9937,861 @@ - - - + + + - + - - - - - + + + + + - - - + + + - + - + - + - + - - - + + + - + - - - - + + + + - - - + + + - + - + - - + + - + - - + + - - + + - + - - + + - + - + - + - + - + - - + + - + - - - - + + + + - + - + - + - + - - + + - + - - + + - - + + - + - - + + - + - + - + - + - + - - + + - + - - - - + + + + - + - + - + - - - + + + - + - - - + + + - - + + - - - - + + + + - + - + - + - + - - - - - + + + + + - - - + + + - + - - + + - + - - + + - + - - - + + + - - - + + + - + - - - + + + - - - + + + - - + + - - - + + + - - - + + + - + - - + + - + - - + + - + - + - - + + - - + + - - + + - - + + - + - + - + - - + + - - + + - + - + - + - + - - + + - + - + - + - - + + - - + + - - + + - + - - + + - + - + - - - + + + - - + + - + - + - + - + - - + + - + - + - + - - + + - - + + - - + + - - + + - + - + - + - - + + - + - + - - - - + + + + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - + - - - + + + - + - - - + + + - - - + + + - - - + + + - - - - - - + + + + + + - - - + + + - - - - + + + + - - + + - - + + - + - - - + + + - - - - + + + + - + - - + + - + - + - - - + + + - - - + + + - - + + - - - + + + - - + + - + - - + + - + - + - - + + - + - + - + - - + + - + - - - - + + + + - + - - + + - + - + - - + + - + - - - - + + + + - + - - + + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - - - + + + - + - - - + + + @@ -10905,424 +10800,424 @@ - + - - - + + + - - - + + + - + - + - - + + - - - - - + + + + + - - + + - - + + - - - - - + + + + + - - + + - - + + - - - - + + + + - - - - - + + + + + - - - + + + - - - + + + - - - - - + + + + + - + - + - + - - - + + + - - + + - - + + - + - + - + - - - - + + + + - - - + + + - - - + + + - + - + - + - - + + - - + + - + - - - + + + - + - - + + - + - - - + + + - + - + - + - - + + - - + + - - + + - + - + - - + + - - - + + + - - + + - + - - - + + + - + - - - + + + - + - + - + - - + + - - + + - + - - + + - - - + + + - - - + + + - - + + - + - - - + + + - + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - + - + - - + + - + - + - + @@ -11330,1179 +11225,1174 @@ - - + + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - - + + + - - - + + + - + - + - + - + - - + + - - + + - - + + - + - + - - - + + + - + - + - - - + + + - + - - - + + + - + - - + + - - - + + + - - - + + + - - + + - + - - - + + + - + - - + + - + - + - - + + - - - + + + - + - + - + - - + + - - + + - - + + - - - + + + - + - + - - + + - - - + + + - + - - + + - - + + - - - + + + - + - + - + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - - + + - - + + - - + + - - + + - - - + + + - + - - + + - - - + + + - + - - + + - - - + + + - + - - + + - - + + - - - + + + - + - - - + + + - - + + - - + + - + - + - - + + - - + + - + - - - + + + - + - + - - + + - - - + + + - - - + + + - + - + - + - + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - - + + + - + - - + + - + - + - + - - - + + + - - - - + + + + - - - + + + - - - + + + - - + + - - + + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - + - + - - + + - - + + - - - + + + - - - + + + - + - - + + - - + + - - + + - - + + - - + + - + - - - + + + - - + + - - - + + + - - + + - + - + - + - + - + - + - + - - - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - + - + - + - - + + - + - + - - + + - - + + - + - + - + - + - + - + - + - - - - + + + + - + - + - + - - + + - + - - + + - + - + - - - + + + - - + + - - - + + + - + - + - + - + - + - - + + - + - - - - - + + + + + - - + + - + - - + + - + - + - + - + - - - + + + - + @@ -12510,183 +12400,183 @@ - + - + - + - + - + - + - + - + - - + + - + - + - - - + + + - + - - - - + + + + - - - - + + + + - + - - - - + + + + - - - - + + + + - + - - - + + + - + - - - + + + - + - - - - + + + + - + - - - - - + + + + + - + - - - + + + - + - - + + - - + + - + - + - + - + - - - + + + - + - + - - - + + + - + @@ -12695,7 +12585,7 @@ - + @@ -12705,376 +12595,376 @@ - + - - + + - + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - + - - - + + + - - - + + + - + - + - - + + - - + + - + - + - + - + - + - + - + - - + + - + - + - + - + - - + + - - + + - + - + - + - - + + - + - - - + + + - - + + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - - + + - + - + - + - + - + - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - + - - - + + + - + - + - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - + - + - + - + - + - + - + - - + + - + - + - + @@ -13082,567 +12972,567 @@ - - - + + + - - + + - + - + - + - + - + - + - + - - - + + + - - + + - + - + - - + + - + - + - - + + - - + + - + - - + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - - + + + - - - + + + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - - + + - + - + - + - + - + - - + + - - - + + + - - - + + + - + - - + + - + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - - + + + - + - + - - + + - + - - - + + + - + - - + + - - - + + + - - + + - - + + - + - + - + - - - + + + - + - + - - + + - - - - + + + + - - + + - + - - - + + + - - - + + + - + - + - - + + - + - + - - + + - + - + - + - - - + + + - + - + - + - - - + + + @@ -13651,64 +13541,64 @@ - - + + - + - - + + - + - + - + - - - + + + - + - - - + + + - - + + - - + + - + - + @@ -13716,733 +13606,728 @@ - + - - + + - - - + + + - - - + + + - - + + - - - + + + - + - - - + + + - + - - + + - + - + - - - + + + - - + + - + - + - + - - + + - - + + - - + + - - - + + + - + - + - - + + - - + + - + - + - - + + - - + + - + - + - - + + - - + + - + - + - + - - + + - - + + - - + + - - - + + + - + - + - - + + - - - + + + - + - - - + + + - - - + + + - - + + - + - - + + - + - + - + - - + + - - + + - - - + + + - - + + - - - + + + - - - + + + - + - + - + - - + + - - + + - + - - - + + + - - + + - - - + + + - - - + + + - + - + - - + + - - + + - - - + + + - + - + - + - - + + - - + + - + - - - + + + - + - + - + - - + + - - + + - - - + + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - + + + + - - + + - + - - + + - + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - + - + - + - + - - + + - - + + - + - + - + - - + + - + - + - - + + - - + + - + - + - + - - + + - + - + - + - - - + + + - + - - - + + + @@ -14450,370 +14335,370 @@ - + - - + + - + - + - - + + - + - + - - + + - + - + - + - + - + - - - + + + - - - + + + - + - + - - + + - - + + - - + + - + - + - - - + + + - - + + - - - + + + - + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - + - + - + - + - - + + - + - - + + - + - - + + - - - + + + - - - + + + - + - + - + - + - + - - - + + + - + - + - + - - + + - + - + - + - - + + - + - - + + - + - + - - + + - + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - + + - + - + - - + + - + - + - + @@ -14821,145 +14706,145 @@ - - + + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - - + + - + - + - + - + - - + + - + - + - - + + @@ -14968,498 +14853,489 @@ - - + + - + - - + + - + - + - - - + + + - + - + - - - + + + - - - + + + - + - - + + - - + + - - - + + + - - - + + + - + - + - - + + - - + + - + - - + + - - + + - + - + - - + + - - + + - + - + - - - + + + - - + + - - - + + + - + - + - - - + + + - - - + + + - - - + + + - + - + - - + + - - + + - - - + + + - + - + - - + + - - + + - - - + + + - + - + - - + + - - + + - - - + + + - + - + - + - + - + - + - + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + - - - + + + - - - + + + - - - + + + - + - + - + - + @@ -15467,222 +15343,222 @@ - - - + + + - - - + + + - - - + + + - - + + - + - - + + - + - - + + - + - - + + - + - + - + - + - + - + - - + + - + - + - - - - + + + + - + - - - - + + + + - + - + - - - + + + - - + + - + - + - + - + - - - + + + - - - + + + - - - + + + - + - + - + - + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - + - - - + + + - + - - - + + + @@ -15690,626 +15566,626 @@ - + - - + + - + - + - - - - + + + + - - - - + + + + - - - - + + + + - + - - + + - - + + - + - + - + - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - + - - + + - + - + - + - + - - + + - - + + - + - + - + - - + + - + - + - + - + - - - + + + - + - + - - - + + + - + - - + + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - + - + - + - - + + - + - + - - + + - + - + - + - + - - + + - + - - + + - - + + - - + + - - + + - + - + - + - + - - + + - + - - - + + + - - + + - + - + - - + + - - - + + + - + - + - + - + - + - - - + + + - + - + - + - - + + - + - + @@ -16317,657 +16193,657 @@ - - + + - + - + - + - + - + - + - + - - + + - + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - + - + - - + + - - + + - + - + - - + + - - - + + + - - - + + + - - + + - - + + - + - + - - - - + + + + - - - - + + + + - + - - + + - - + + - - + + - - + + - + - - + + - + - - + + - - - + + + - - + + - + - - + + - + - - - + + + - - - + + + - - - + + + - - - + + + - + - - + + - + - + - - + + - + - - + + - + - + - + - + - + - - + + - + - - + + - + - - + + - + - + - - - + + + - - - + + + - + - - + + - - - + + + - - - + + + - + - + - + - + - - - + + + - - + + - + - + - + - + - - + + - + - + - + - - + + - - + + - + - + - - + + - + - - + + - + - - - + + + - - - + + + - + - - - + + + - - - + + + - - - - + + + + - - + + - + - - - + + + - - - - + + + + - - - + + + - + - - + + - - + + - + - + - - + + - + - - + + - + - + - - + + - + - - + + - + - + - - + + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + @@ -16976,667 +16852,667 @@ - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - - + + - + - - + + - + - - + + - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - - + + + - - + + - + - - + + - - + + - - + + - + - + - - - + + + - + - + - + - - - + + + - + - + - - + + - - + + - - + + - - - + + + - + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - + - - - + + + - + - - + + - + - + - - + + - - - + + + - + - + - - + + - - - + + + - + - + - - + + - - - + + + - - + + - - + + - + - - + + - + - - - + + + - - - + + + - - - + + + - + - + - - - + + + - - - + + + - + - - + + - - - + + + - - + + - - + + - - - + + + - - - + + + - + - + - - + + - - - + + + - - - + + + - + - + - - + + - - - + + + - - - + + + - + - + - - + + - - - + + + - - - + + + - + - + - - + + - + - + - + - + - + - + - + - + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - + - - + + - + - + - + - + - - - + + + - + - - - + + + - + - - + + diff --git a/tests/data/test-read-dwarf/libtest23.so.abi b/tests/data/test-read-dwarf/libtest23.so.abi index 459527f0..53fa11ad 100644 --- a/tests/data/test-read-dwarf/libtest23.so.abi +++ b/tests/data/test-read-dwarf/libtest23.so.abi @@ -92,30 +92,30 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - + + + + + @@ -125,16 +125,16 @@ - + - + - + @@ -148,10 +148,10 @@ - + - + @@ -168,7 +168,7 @@ - + @@ -204,62 +204,62 @@ - + - + - + - - + + - - - - + + + + - - - - + + + + - + - + - + @@ -267,8 +267,8 @@ - - + + @@ -276,7 +276,7 @@ - + @@ -302,7 +302,7 @@ - + @@ -315,91 +315,91 @@ - + - + - + - + - + - + - - + + - - + + - - + + - + - - + + - - + + - + - + - - + + - + - + @@ -418,77 +418,77 @@ - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + @@ -500,71 +500,71 @@ - + - + - + - + - + - + - + - + - - + + - + - + - - + + @@ -600,7 +600,7 @@ - + @@ -612,8 +612,8 @@ - - + + @@ -644,8 +644,8 @@ - - + + diff --git a/tests/data/test-read-dwarf/test-libandroid.so.abi b/tests/data/test-read-dwarf/test-libandroid.so.abi index 29eda64b..32c1a0a4 100644 --- a/tests/data/test-read-dwarf/test-libandroid.so.abi +++ b/tests/data/test-read-dwarf/test-libandroid.so.abi @@ -8037,17 +8037,7 @@ - - - - - - - - - - - + @@ -8067,6 +8057,16 @@ + + + + + + + + + + @@ -18980,7 +18980,6 @@ - @@ -19098,6 +19097,7 @@ + @@ -24528,6 +24528,8 @@ + + @@ -25770,7 +25772,7 @@ - + @@ -30500,7 +30502,7 @@ - + @@ -31186,7 +31188,7 @@ - + @@ -35836,7 +35838,7 @@ - + @@ -37487,7 +37489,7 @@ - + @@ -37510,7 +37512,7 @@ - + @@ -37590,7 +37592,7 @@ - + @@ -37613,7 +37615,7 @@ - + @@ -37693,7 +37695,7 @@ - + diff --git a/tests/data/test-read-dwarf/test16-pr18904.so.abi b/tests/data/test-read-dwarf/test16-pr18904.so.abi index 805ff811..a7cc8997 100644 --- a/tests/data/test-read-dwarf/test16-pr18904.so.abi +++ b/tests/data/test-read-dwarf/test16-pr18904.so.abi @@ -2168,56 +2168,50 @@ - - + + - - - - - - - + - + - + - - + + - - + + - - + + - - + + - - + + - + @@ -2225,14 +2219,14 @@ - + - + @@ -2241,26 +2235,26 @@ - - + + - + - + - + @@ -2268,7 +2262,7 @@ - + @@ -2276,35 +2270,35 @@ - - + + - + - + - + - + - + - + @@ -2319,35 +2313,35 @@ - + - + - - + + - - + + - - + + - + @@ -2355,7 +2349,7 @@ - + @@ -2363,85 +2357,85 @@ - - + + - - + + - - + + - - + + - + - + - + - + - + - + - - + + - + - + - + - - + + - - + + - + - + @@ -2450,7 +2444,7 @@ - + @@ -2598,12 +2592,12 @@ - + - + - + @@ -2611,33 +2605,33 @@ - + - + - + - + - + - + - + - + @@ -2645,22 +2639,22 @@ - + - + - + - + - + - + @@ -2668,30 +2662,30 @@ - + - + - + - + - + - + - + @@ -2704,10 +2698,10 @@ - + - + @@ -2716,37 +2710,37 @@ - + - + - + - + - + - + - + - + - + - + @@ -2755,22 +2749,22 @@ - + - + - + - + - + - + @@ -2780,47 +2774,47 @@ - - + + - + - - + + - - - + + + - - + + - - + + - - - + + + @@ -2833,13 +2827,13 @@ - + - + @@ -2847,41 +2841,41 @@ - + - + - + - + - + - - + + - + @@ -2889,151 +2883,151 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - - + + - - + + - + - + - + - + - + - + - + @@ -3054,29 +3048,29 @@ - + - + - + - + - + - + - + - + @@ -3085,33 +3079,33 @@ - + - + - + - + - + - + @@ -3120,13 +3114,13 @@ - + - + - + @@ -3135,31 +3129,31 @@ - + - + - + - + - + @@ -3168,53 +3162,53 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -3223,40 +3217,40 @@ - + - + - + - + - + - + - + - + - + - + @@ -3277,10 +3271,10 @@ - + - + @@ -3304,81 +3298,81 @@ - + - - + + - - + + - + - + - + - + - + - + - + - + - - - + + + - + - + - + @@ -3387,11 +3381,11 @@ - + - + - + @@ -3399,20 +3393,20 @@ - + - + - + @@ -3420,12 +3414,12 @@ - + - - + + - + @@ -3433,69 +3427,69 @@ - + - + - + - + - - + + - + - + - - + + - + - + - + - + @@ -3503,22 +3497,22 @@ - + - + - - - + + + @@ -3527,44 +3521,44 @@ - + - + - - + + - - + + - - + + - - + + - - + + @@ -3572,12 +3566,12 @@ - - + + - - - + + + @@ -3587,36 +3581,36 @@ - + - + - - + + - - + + - + - + - + @@ -3632,7 +3626,7 @@ - + @@ -3647,21 +3641,21 @@ - + - + - + - + - + @@ -3672,14 +3666,14 @@ - + - + - + @@ -3689,7 +3683,7 @@ - + @@ -3698,18 +3692,18 @@ - + - + - + - + @@ -3718,17 +3712,17 @@ - + - + - + - + @@ -3736,38 +3730,38 @@ - + - - + + - + - - + + - + - + @@ -3776,32 +3770,32 @@ - + - - + + - - + + - + - + @@ -3809,14 +3803,14 @@ - + - + @@ -3834,7 +3828,7 @@ - + @@ -3845,7 +3839,7 @@ - + @@ -3855,21 +3849,21 @@ - + - + - + - + - + - + @@ -3879,7 +3873,7 @@ - + @@ -3887,9 +3881,9 @@ - + - + @@ -3899,7 +3893,7 @@ - + @@ -3907,20 +3901,20 @@ - + - + - + - + @@ -3935,19 +3929,19 @@ - + - + - + - + - + @@ -3956,7 +3950,7 @@ - + @@ -3964,34 +3958,40 @@ - + - + - + - + + + + + + + - - - - - - - - - + + + + + + + + + - - - + + + @@ -4009,7 +4009,7 @@ - + @@ -4081,37 +4081,37 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + @@ -4144,29 +4144,29 @@ - - - - - - + + + + + + - - - - - - - - + + + + + + + + - - - - - + + + + + @@ -4250,7 +4250,7 @@ - + @@ -4422,8 +4422,8 @@ - - + + @@ -4465,7 +4465,7 @@ - + @@ -4486,12 +4486,12 @@ - + - + @@ -4515,7 +4515,7 @@ - + @@ -4609,8 +4609,8 @@ - - + + @@ -4646,17 +4646,17 @@ - - + + - - + + - - + + @@ -4676,11 +4676,11 @@ - - + + - - + + @@ -4692,14 +4692,14 @@ - - + + - - + + @@ -4796,10 +4796,10 @@ - + - + @@ -4960,7 +4960,7 @@ - + @@ -4979,7 +4979,7 @@ - + @@ -4999,7 +4999,7 @@ - + @@ -5023,7 +5023,7 @@ - + @@ -5037,7 +5037,7 @@ - + @@ -5050,7 +5050,7 @@ - + @@ -5070,7 +5070,7 @@ - + @@ -5171,10 +5171,10 @@ - + - + @@ -5252,7 +5252,7 @@ - + @@ -5287,7 +5287,7 @@ - + @@ -5349,7 +5349,7 @@ - + @@ -5377,7 +5377,7 @@ - + @@ -5392,7 +5392,7 @@ - + @@ -5418,7 +5418,7 @@ - + @@ -5431,7 +5431,7 @@ - + @@ -6274,7 +6274,7 @@ - + @@ -6287,7 +6287,7 @@ - + @@ -6300,7 +6300,7 @@ - + @@ -6323,7 +6323,7 @@ - + @@ -6691,7 +6691,7 @@ - + @@ -6699,13 +6699,13 @@ - + - + @@ -6713,7 +6713,7 @@ - + @@ -6742,7 +6742,7 @@ - + @@ -6750,7 +6750,7 @@ - + @@ -6758,28 +6758,28 @@ - + - + - + - + @@ -6805,10 +6805,10 @@ - + - + @@ -6819,10 +6819,10 @@ - + - + @@ -6845,7 +6845,7 @@ - + @@ -6859,7 +6859,7 @@ - + @@ -6988,7 +6988,7 @@ - + @@ -7002,7 +7002,7 @@ - + @@ -7145,7 +7145,7 @@ - + @@ -7231,7 +7231,7 @@ - + @@ -7244,26 +7244,26 @@ - + - - + + - + - - + + @@ -7345,7 +7345,7 @@ - + @@ -7357,7 +7357,7 @@ - + @@ -7381,7 +7381,7 @@ - + @@ -7429,10 +7429,10 @@ - + - + @@ -7516,10 +7516,10 @@ - + - + @@ -7896,13 +7896,13 @@ - + - + @@ -7914,13 +7914,13 @@ - + - + @@ -8453,7 +8453,7 @@ - + @@ -8468,7 +8468,7 @@ - + @@ -8484,7 +8484,7 @@ - + @@ -8492,7 +8492,7 @@ - + @@ -8514,7 +8514,7 @@ - + @@ -8529,7 +8529,7 @@ - + @@ -8545,7 +8545,7 @@ - + @@ -8553,7 +8553,7 @@ - + @@ -8647,7 +8647,7 @@ - + @@ -8655,14 +8655,14 @@ - + - + @@ -8670,8 +8670,8 @@ - - + + @@ -8685,7 +8685,7 @@ - + @@ -8693,8 +8693,8 @@ - - + + @@ -8811,8 +8811,8 @@ - - + + @@ -8822,8 +8822,8 @@ - - + + @@ -8858,7 +8858,7 @@ - + @@ -8910,7 +8910,7 @@ - + @@ -8918,7 +8918,7 @@ - + @@ -8934,7 +8934,7 @@ - + @@ -8942,7 +8942,7 @@ - + @@ -8950,7 +8950,7 @@ - + @@ -9150,7 +9150,7 @@ - + @@ -9628,8 +9628,8 @@ - - + + @@ -9667,14 +9667,14 @@ - + - + @@ -9694,7 +9694,7 @@ - + @@ -9773,21 +9773,21 @@ - + - + - + @@ -9873,7 +9873,7 @@ - + @@ -9937,14 +9937,14 @@ - + - + @@ -9985,7 +9985,7 @@ - + @@ -10023,7 +10023,7 @@ - + @@ -10084,7 +10084,7 @@ - + @@ -10142,7 +10142,7 @@ - + @@ -10154,7 +10154,7 @@ - + @@ -10535,7 +10535,7 @@ - + @@ -10551,7 +10551,7 @@ - + @@ -10582,7 +10582,7 @@ - + @@ -10715,15 +10715,15 @@ - - - - + + + + - + @@ -10738,7 +10738,7 @@ - + @@ -10749,8 +10749,8 @@ - - + + @@ -10761,8 +10761,8 @@ - - + + @@ -10775,14 +10775,14 @@ - - + + - + @@ -10791,8 +10791,8 @@ - - + + @@ -10804,19 +10804,19 @@ - - + + - + - + - + @@ -10830,7 +10830,7 @@ - + @@ -10844,7 +10844,7 @@ - + @@ -10861,18 +10861,18 @@ - + - + - + - + @@ -10883,10 +10883,10 @@ - + - + @@ -10928,7 +10928,7 @@ - + @@ -10952,7 +10952,7 @@ - + @@ -11005,7 +11005,7 @@ - + @@ -11029,7 +11029,7 @@ - + @@ -11168,7 +11168,7 @@ - + @@ -11181,7 +11181,7 @@ - + @@ -11189,8 +11189,8 @@ - - + + @@ -11329,7 +11329,7 @@ - + @@ -11370,7 +11370,7 @@ - + @@ -11406,7 +11406,7 @@ - + @@ -11436,7 +11436,7 @@ - + @@ -11701,7 +11701,7 @@ - + @@ -11725,7 +11725,7 @@ - + @@ -11742,7 +11742,7 @@ - + @@ -11759,7 +11759,7 @@ - + @@ -11793,7 +11793,7 @@ - + @@ -11817,7 +11817,7 @@ - + @@ -11840,7 +11840,7 @@ - + @@ -12171,7 +12171,7 @@ - + @@ -12189,8 +12189,8 @@ - - + + @@ -12213,14 +12213,14 @@ - + - + - + @@ -12235,10 +12235,10 @@ - + - + @@ -12247,20 +12247,20 @@ - - + + - + - + - + @@ -12302,11 +12302,11 @@ - + - + @@ -12327,7 +12327,7 @@ - + @@ -12339,7 +12339,7 @@ - + @@ -12364,7 +12364,7 @@ - + @@ -12373,15 +12373,15 @@ - - + + - - + + @@ -12391,42 +12391,42 @@ - - + + - - + + - + - + - + - - + + - + - - + + @@ -12436,7 +12436,7 @@ - + @@ -12447,7 +12447,7 @@ - + @@ -12458,7 +12458,7 @@ - + @@ -12469,18 +12469,18 @@ - - + + - + - + @@ -12490,30 +12490,30 @@ - + - + - + - + - + @@ -12531,35 +12531,35 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -12580,7 +12580,7 @@ - + @@ -12592,7 +12592,7 @@ - + @@ -12618,7 +12618,7 @@ - + @@ -12636,7 +12636,7 @@ - + @@ -12718,28 +12718,28 @@ - + - + - - + + - + - + - + - + @@ -12759,7 +12759,7 @@ - + @@ -12767,7 +12767,7 @@ - + @@ -12786,31 +12786,31 @@ - - + + - + - - - - + + + + - - - + + + - - + + @@ -12891,14 +12891,14 @@ - + - + @@ -12906,7 +12906,7 @@ - + @@ -13080,16 +13080,16 @@ - + - + - + @@ -13268,7 +13268,7 @@ - + @@ -13448,8 +13448,8 @@ - - + + @@ -13698,7 +13698,7 @@ - + @@ -13706,7 +13706,7 @@ - + @@ -13978,7 +13978,7 @@ - + @@ -13994,14 +13994,14 @@ - + - + @@ -14009,7 +14009,7 @@ - + @@ -14036,7 +14036,7 @@ - + @@ -14044,7 +14044,7 @@ - + @@ -14067,7 +14067,7 @@ - + @@ -14075,7 +14075,7 @@ - + @@ -14208,7 +14208,7 @@ - + @@ -14216,7 +14216,7 @@ - + @@ -14224,7 +14224,7 @@ - + @@ -14233,14 +14233,14 @@ - + - + @@ -14327,11 +14327,11 @@ - + - + @@ -14435,7 +14435,7 @@ - + @@ -14514,8 +14514,8 @@ - - + + @@ -14530,16 +14530,16 @@ - - + + - - + + @@ -14570,7 +14570,7 @@ - + @@ -14617,11 +14617,11 @@ - + - + - + @@ -15108,7 +15108,7 @@ - + @@ -15158,13 +15158,13 @@ - + - + @@ -15183,25 +15183,25 @@ - + - + - + - + - + @@ -15223,14 +15223,14 @@ - + - + @@ -15242,16 +15242,16 @@ - + - + - + @@ -15322,7 +15322,7 @@ - + @@ -15533,7 +15533,7 @@ - + @@ -16478,7 +16478,7 @@ - + @@ -16518,7 +16518,7 @@ - + @@ -16583,14 +16583,14 @@ - + - + @@ -16688,14 +16688,14 @@ - + - + @@ -16721,7 +16721,7 @@ - + @@ -17420,7 +17420,7 @@ - + @@ -17455,7 +17455,7 @@ - + @@ -17477,7 +17477,7 @@ - + @@ -17485,15 +17485,15 @@ - + - - + + @@ -17634,13 +17634,13 @@ - + - + @@ -17648,7 +17648,7 @@ - + @@ -17677,7 +17677,7 @@ - + @@ -17685,7 +17685,7 @@ - + @@ -17693,20 +17693,20 @@ - + - + - + @@ -17788,20 +17788,20 @@ - + - - + + - + @@ -17812,14 +17812,14 @@ - + - - + + @@ -17878,8 +17878,8 @@ - - + + @@ -18406,7 +18406,7 @@ - + @@ -18414,7 +18414,7 @@ - + @@ -18424,7 +18424,7 @@ - + @@ -18436,7 +18436,7 @@ - + @@ -18599,7 +18599,7 @@ - + @@ -18706,13 +18706,13 @@ - + - + @@ -18768,16 +18768,16 @@ - + - + - + @@ -18786,30 +18786,30 @@ - + - + - + - + - + - + - - + + @@ -18944,8 +18944,8 @@ - - + + @@ -19034,8 +19034,8 @@ - - + + @@ -19049,7 +19049,7 @@ - + @@ -19587,14 +19587,14 @@ - + - + @@ -19757,7 +19757,7 @@ - + @@ -19765,8 +19765,8 @@ - - + + @@ -19781,8 +19781,8 @@ - - + + @@ -20015,13 +20015,13 @@ - + - - + + @@ -20043,8 +20043,8 @@ - - + + @@ -20222,13 +20222,13 @@ - + - + @@ -20239,7 +20239,7 @@ - + @@ -20425,7 +20425,7 @@ - + @@ -20477,7 +20477,7 @@ - + @@ -20529,7 +20529,7 @@ - + @@ -20581,7 +20581,7 @@ - + @@ -20633,7 +20633,7 @@ - + @@ -20679,7 +20679,7 @@ - + @@ -20687,7 +20687,7 @@ - + @@ -20695,7 +20695,7 @@ - + @@ -20752,7 +20752,7 @@ - + @@ -20818,7 +20818,7 @@ - + @@ -20880,7 +20880,7 @@ - + @@ -20919,7 +20919,7 @@ - + @@ -20949,10 +20949,10 @@ - + - - + + @@ -20989,8 +20989,8 @@ - - + + @@ -21078,11 +21078,11 @@ - - + + - + @@ -21094,24 +21094,24 @@ - + - + - + - + - - + + - + @@ -21131,37 +21131,37 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -21206,7 +21206,7 @@ - + @@ -21254,92 +21254,92 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -21371,7 +21371,7 @@ - + @@ -21398,8 +21398,8 @@ - - + + @@ -21422,10 +21422,10 @@ - - + + - + @@ -21437,15 +21437,15 @@ - + - - + + @@ -21500,7 +21500,7 @@ - + @@ -21803,7 +21803,7 @@ - + @@ -21811,7 +21811,7 @@ - + @@ -21833,7 +21833,7 @@ - + @@ -22070,7 +22070,7 @@ - + @@ -22081,13 +22081,13 @@ - + - + @@ -22159,44 +22159,44 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -22207,24 +22207,24 @@ - + - + - + - + - + - + @@ -22235,10 +22235,10 @@ - + - + @@ -22249,10 +22249,10 @@ - + - + @@ -22263,10 +22263,10 @@ - + - + @@ -22311,7 +22311,7 @@ - + @@ -22320,14 +22320,14 @@ - + - + @@ -22335,14 +22335,14 @@ - + - + diff --git a/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi b/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi index 4b385657..698dcce2 100644 --- a/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi +++ b/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi @@ -12933,16 +12933,7 @@ - - - - - - - - - - + @@ -12950,6 +12941,15 @@ + + + + + + + + + @@ -14796,16 +14796,7 @@ - - - - - - - - - - + @@ -14813,6 +14804,15 @@ + + + + + + + + + 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 e46bbec1..2ade2cff 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 @@ -22274,20 +22274,20 @@ - - - - - - - + + + + + + + @@ -22540,7 +22540,7 @@ - + @@ -41532,7 +41532,7 @@ - + @@ -41641,20 +41641,20 @@ - - - - - - - + + + + + + + @@ -41907,7 +41907,7 @@ - + @@ -48396,15 +48396,7 @@ - - - - - - - - - + @@ -48413,6 +48405,14 @@ + + + + + + + + @@ -52359,15 +52359,15 @@ - + - + - + - + From patchwork Tue Oct 3 12:51:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 77024 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 3A85838319D8 for ; Tue, 3 Oct 2023 12:51:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3A85838319D8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1696337519; bh=ObyK/wt3BsmUWrvaFqQgohPiomfAcjJXHogUhRCy3EQ=; h=To:Subject:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Help:List-Subscribe:From:Reply-To:Cc:From; b=ZFDw615IjWOt6s7ei0XI2MSJnyukuqRWauwL0pgGQduP3f7UDyKQ5IbJ6hdq2WPlu WWFiy0UrkXN4EWGDUJHlQTV8SbmzAvZJWU6h2eUIcU+IryBKIqYjulzV7sgDPe4HMI wfFCDVPjzHhC9lDO+9tTPT1oxvoxm2IG+EURVYq0= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id D71E83858C50 for ; Tue, 3 Oct 2023 12:51:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D71E83858C50 Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-126-8D-o-B3zM3-NI98uT7pNxg-1; Tue, 03 Oct 2023 08:51:50 -0400 X-MC-Unique: 8D-o-B3zM3-NI98uT7pNxg-1 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-65afd7515easo12038546d6.1 for ; Tue, 03 Oct 2023 05:51:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696337510; x=1696942310; h=mime-version:user-agent:message-id:in-reply-to:date:references :organization:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ObyK/wt3BsmUWrvaFqQgohPiomfAcjJXHogUhRCy3EQ=; b=IrddrgNhCEed9D+49da8gw4PjH4muyYjk9TNoMpTqbzZlWw6pmuXUWTWfRkJ98ljx5 NNn/xam+fuir3a85R1iW3g9LuRBCZ1BbTJpTQtx5SM9TvMVqymvVG+4kcDCPGFFJyaiy 8pPJuy3XzC7tGKUcm1dxdrBjeWauyBpsLiZP7HTCQRUg8CanqMZgdzZ7S0gnQvcIr/6p T+WEDwytwCwFA473ecW2cCvSAMivVta8yMyWHkWZ4Kg9dc1hg2gfh+h4rMQhwe9MgSbG 1kDEiatyhsCdEJofyK/2P0ThvJwoZ/+Uk9jkIQALatgDpXB+BdLjtN/Fsl5smzJYBqZE WksA== X-Gm-Message-State: AOJu0YzrYx61LoTW68jmqmRTlxkkR845LXp4VKWaQHHd2e2PetuB+sn1 bF4lbanLryM9MmFtcoIbkY53d1UOhLASk7szbd71c0fWXepdwHU0EnP6IaHBwNHjfJcRPRBnjNI 1x9Jv5rjUoJUpSBZjswEndZ+iW5Cu X-Received: by 2002:a05:6214:d6e:b0:637:2eb:6c23 with SMTP id 14-20020a0562140d6e00b0063702eb6c23mr2655171qvs.18.1696337509500; Tue, 03 Oct 2023 05:51:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGyT0BXvTqmQjP+pFcigfwvfUKpEboufsm7r/x2NlMZWOOEQe3Lm2RazHxZBMWQmLjTutQzOQ== X-Received: by 2002:a05:6214:d6e:b0:637:2eb:6c23 with SMTP id 14-20020a0562140d6e00b0063702eb6c23mr2655140qvs.18.1696337509145; Tue, 03 Oct 2023 05:51:49 -0700 (PDT) Received: from localhost ([88.120.130.27]) by smtp.gmail.com with ESMTPSA id r2-20020a0ccc02000000b0064f77d37798sm449446qvk.5.2023.10.03.05.51.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Oct 2023 05:51:48 -0700 (PDT) Received: by localhost (Postfix, from userid 1000) id E1062B6E87; Tue, 3 Oct 2023 14:51:46 +0200 (CEST) To: Dodji Seketeli Subject: [PATCH 4/4] For WIP branch check-uapi-support: ir,comparison: Represent changed anonymous enums Organization: Red Hat / France References: <874jj7hp6e.fsf@redhat.com> X-Operating-System: CentOS Stream release 9 X-URL: http://www.redhat.com Date: Tue, 03 Oct 2023 14:51:46 +0200 In-Reply-To: <874jj7hp6e.fsf@redhat.com> (Dodji Seketeli's message of "Tue, 03 Oct 2023 14:21:29 +0200") Message-ID: <87mswzg97h.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: Dodji Seketeli via Libabigail From: Dodji Seketeli Reply-To: Dodji Seketeli Cc: libabigail@sourceware.org Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" Hello, Now that added/removed non-reachable anonymous enums is supported, we want to represent changing an anonymous enum. Strictly speaking, adding or removing an enumerator from an anonymous enum is represented as deleting of the anonymous enum in the old state and the addition of an anonymous enum in the new state. This patch analyses the added/removed anonymous enums and if the old enum has enumerators contained in the new one, then it assumes we are looking at anonymous enum change. * include/abg-ir.h (is_enumerator_present_in_enum): Declare new public function. * src/abg-ir.cc (is_enumerator_present_in_enum): Turn this static function into a public one. * src/abg-comparison.cc (corpus_diff::priv::ensure_lookup_tables_populated): Detect that an removed/added anonymous enum is actually a changed anonymous enum and represent it as such. * tests/data/test-abidiff-exit/test-anonymous-enums-change-report-v{0,1}.txt: New reference test output files. * tests/data/test-abidiff-exit/test-anonymous-enums-change-v{0,1}.c: Source code for the some input test binary. * tests/data/test-abidiff-exit/test-anonymous-enums-change-v{0,1}.o: New test input binaries. * tests/data/Makefile.am: Add the new test materials above to source distribution. * tests/test-abidiff-exit.cc (in_out_specs): Add the new test input to the harness. Signed-off-by: Dodji Seketeli OK for branch check-uapi-support? --- include/abg-ir.h | 4 + src/abg-comparison.cc | 76 ++++++++++++++++++ src/abg-ir.cc | 2 +- tests/data/Makefile.am | 6 ++ .../test-anonymous-enums-change-report-v0.txt | 16 ++++ .../test-anonymous-enums-change-report-v1.txt | 21 +++++ .../test-anonymous-enums-change-v0.c | 36 +++++++++ .../test-anonymous-enums-change-v0.o | Bin 0 -> 3296 bytes .../test-anonymous-enums-change-v1.c | 41 ++++++++++ .../test-anonymous-enums-change-v1.o | Bin 0 -> 3336 bytes tests/test-abidiff-exit.cc | 32 ++++++++ 11 files changed, 233 insertions(+), 1 deletion(-) create mode 100644 tests/data/test-abidiff-exit/test-anonymous-enums-change-report-v0.txt create mode 100644 tests/data/test-abidiff-exit/test-anonymous-enums-change-report-v1.txt create mode 100644 tests/data/test-abidiff-exit/test-anonymous-enums-change-v0.c create mode 100644 tests/data/test-abidiff-exit/test-anonymous-enums-change-v0.o create mode 100644 tests/data/test-abidiff-exit/test-anonymous-enums-change-v1.c create mode 100644 tests/data/test-abidiff-exit/test-anonymous-enums-change-v1.o new file mode 100644 index 00000000..886dbd2b index e539242a..d4c81958 100644 diff --git a/include/abg-ir.h b/include/abg-ir.h index 3e2cbda9..d21cd2fa 100644 --- a/include/abg-ir.h +++ b/include/abg-ir.h @@ -2828,6 +2828,10 @@ public: set_enum_type(enum_type_decl*); }; // end class enum_type_def::enumerator +bool +is_enumerator_present_in_enum(const enum_type_decl::enumerator &enr, + const enum_type_decl &enom); + bool equals(const typedef_decl&, const typedef_decl&, change_kind*); diff --git a/src/abg-comparison.cc b/src/abg-comparison.cc index 228909dc..eb8e30ac 100644 --- a/src/abg-comparison.cc +++ b/src/abg-comparison.cc @@ -14,6 +14,7 @@ #include #include #include +#include #include "abg-comparison-priv.h" #include "abg-reporter-priv.h" @@ -9609,6 +9610,81 @@ corpus_diff::priv::ensure_lookup_tables_populated() added_unreachable_types_[repr] = t; } } + + // Handle anonymous enums that got changed. An anonymous enum is + // designated by its flat textual representation. So a change to + // any of its enumerators results in a different enum. That is + // represented by a deletion of the previous anonymous enum, and + // the addition of a new one. For the user however, it's the same + // enum that changed. Let's massage this "added/removed" pattern + // to show what the user expects, namely, a changed anonymous + // enum. + { + std::set deleted_anon_enums; + std::set added_anon_enums; + + for (auto entry : deleted_unreachable_types_) + if (is_enum_type(entry.second) + && is_enum_type(entry.second)->get_is_anonymous()) + deleted_anon_enums.insert(is_enum_type(entry.second)); + + for (auto entry : added_unreachable_types_) + if (is_enum_type(entry.second) + && is_enum_type(entry.second)->get_is_anonymous()) + added_anon_enums.insert(is_enum_type(entry.second)); + + string_type_base_sptr_map added_anon_enum_to_erase; + string_type_base_sptr_map removed_anon_enum_to_erase; + + // Look for deleted anonymous enums which have enumerators + // present in an added anonymous enums ... + for (auto deleted_enum : deleted_anon_enums) + { + // Look for any enumerator of 'deleted_enum' that is also + // present in an added anonymous enum. + for (auto enr : deleted_enum->get_enumerators()) + { + bool this_enum_got_changed = false; + for (auto added_enum : added_anon_enums) + { + if (is_enumerator_present_in_enum(enr, *added_enum)) + { + // So the enumerator 'enr' from the + // 'deleted_enum' enum is also present in the + // 'added_enum' enum so we assume that + // 'deleted_enum' and 'added_enum' are the same + // enum that got changed. Let's represent it + // using a diff node. + diff_sptr d = compute_diff(deleted_enum, + added_enum, ctxt); + ABG_ASSERT(d->has_changes()); + string repr = + abigail::ir::get_pretty_representation(is_type(deleted_enum), + /*internal=*/false); + changed_unreachable_types_[repr]= d; + this_enum_got_changed = true; + string r1 = abigail::ir::get_pretty_representation(is_type(deleted_enum)); + string r2 = abigail::ir::get_pretty_representation(is_type(added_enum)); + removed_anon_enum_to_erase[r1] = deleted_enum; + added_anon_enum_to_erase[r2] = added_enum; + break; + } + } + if (this_enum_got_changed) + break; + } + } + + // Now remove the added/removed anonymous enums from their maps, + // as they are now represented as a changed enum, not an added + // and removed enum. + + for (auto entry : added_anon_enum_to_erase) + added_unreachable_types_.erase(entry.first); + + for (auto entry : removed_anon_enum_to_erase) + deleted_unreachable_types_.erase(entry.first); + } } } diff --git a/src/abg-ir.cc b/src/abg-ir.cc index 06dfbe20..171267f8 100644 --- a/src/abg-ir.cc +++ b/src/abg-ir.cc @@ -18997,7 +18997,7 @@ enum_has_non_name_change(const enum_type_decl& l, /// /// @return true iff the enumerator @p enr is present in the enum @p /// enom. -static bool +bool is_enumerator_present_in_enum(const enum_type_decl::enumerator &enr, const enum_type_decl &enom) { diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index b3434da5..2a267250 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -351,6 +351,12 @@ test-abidiff-exit/test-PR30034/split/lib64/librte_telemetry.so \ test-abidiff-exit/test-PR30034/split/lib64/librte_telemetry.so.23 \ test-abidiff-exit/test-PR30034/split/lib64/librte_telemetry.so.23.2 \ test-abidiff-exit/test-PR30034/test-PR30034-report-1.txt \ +test-abidiff-exit/test-anonymous-enums-change-report-v0.txt \ +test-abidiff-exit/test-anonymous-enums-change-report-v1.txt \ +test-abidiff-exit/test-anonymous-enums-change-v0.c \ +test-abidiff-exit/test-anonymous-enums-change-v0.o \ +test-abidiff-exit/test-anonymous-enums-change-v1.c \ +test-abidiff-exit/test-anonymous-enums-change-v1.o \ \ test-diff-dwarf/test0-v0.cc \ test-diff-dwarf/test0-v0.o \ diff --git a/tests/data/test-abidiff-exit/test-anonymous-enums-change-report-v0.txt b/tests/data/test-abidiff-exit/test-anonymous-enums-change-report-v0.txt new file mode 100644 index 00000000..2a408ea0 --- /dev/null +++ b/tests/data/test-abidiff-exit/test-anonymous-enums-change-report-v0.txt @@ -0,0 +1,16 @@ +Functions changes summary: 0 Removed, 0 Changed, 0 Added function +Variables changes summary: 0 Removed, 0 Changed, 0 Added variable +Unreachable types summary: 0 removed, 1 changed (1 filtered out), 1 added types + +1 changed type unreachable from any public interface: + + [C] 'enum {E4_0=0, E4_1=1, E4_2=2, E4_LAST_ELEMENT=3, }' changed: + type size hasn't changed + 2 enumerator deletions: + 'E4_2' value '2' + 'E4_LAST_ELEMENT' value '3' + +1 added type unreachable from any public interface: + + [A] 'enum {E5_0=0, E5_1=1, }' at test-anonymous-enums-change-v1.c:26:1 + diff --git a/tests/data/test-abidiff-exit/test-anonymous-enums-change-report-v1.txt b/tests/data/test-abidiff-exit/test-anonymous-enums-change-report-v1.txt new file mode 100644 index 00000000..8639fa44 --- /dev/null +++ b/tests/data/test-abidiff-exit/test-anonymous-enums-change-report-v1.txt @@ -0,0 +1,21 @@ +Functions changes summary: 0 Removed, 0 Changed, 0 Added function +Variables changes summary: 0 Removed, 0 Changed, 0 Added variable +Unreachable types summary: 0 removed, 2 changed, 1 added types + +2 changed types unreachable from any public interface: + + [C] 'enum {E4_0=0, E4_1=1, E4_2=2, E4_LAST_ELEMENT=3, }' changed: + type size hasn't changed + 2 enumerator deletions: + 'E4_2' value '2' + 'E4_LAST_ELEMENT' value '3' + + [C] 'enum {E3_0=0, E3_1=1, }' changed: + type size hasn't changed + 1 enumerator insertion: + 'E3_2' value '2' + +1 added type unreachable from any public interface: + + [A] 'enum {E5_0=0, E5_1=1, }' at test-anonymous-enums-change-v1.c:26:1 + diff --git a/tests/data/test-abidiff-exit/test-anonymous-enums-change-v0.c b/tests/data/test-abidiff-exit/test-anonymous-enums-change-v0.c new file mode 100644 index 00000000..443eb971 --- /dev/null +++ b/tests/data/test-abidiff-exit/test-anonymous-enums-change-v0.c @@ -0,0 +1,36 @@ +/* + * Compile this with: + * gcc -c -g -fno-eliminate-unused-debug-types test-anonymous-enums-change-v0.c + */ + +enum + { + E1_0, + E1_1, + } v1; + +enum + { + E3_0, + E3_1, + }; + +enum + { + E4_0, + E4_1, + E4_2, + E4_LAST_ELEMENT + }; + +enum + { + E0_0, + E0_1, + } v0; + +enum + { + E2_0, + E2_1, + } v2; diff --git a/tests/data/test-abidiff-exit/test-anonymous-enums-change-v0.o b/tests/data/test-abidiff-exit/test-anonymous-enums-change-v0.o new file mode 100644 index 0000000000000000000000000000000000000000..26c6df80f0d5203c520890f433cd5bba20b0bc4f GIT binary patch literal 3296 zcmb_e&2Jl35P$2nNn4Y&sU^Nrl6BRJ1laZ3aYJd9U=*3O5Gn*kLR_4+{p>8*>)>6R zL})`WoOXA z9GAtpMG(%Ks3NI=*$zm@0u)^MSc8>IMy+NXx$uSN0ySK*h=E#-;?L8b6>;U;W1hlT z7UtZgJnSoLY!qkm#q90EjiPZg|7_7T3h)M1VV)r%cf0W1qnSs9$j%#A=L&gqX<_NY z!*DuRL_WWfH|HSrC3rIM2$48WrN>JJSPpDY0yhlfuen)d_=fO+utcxClsO-#QDLJX z^t*v9`YNicpl;oH-P$Za zW0lKJ)hSyQx3cQ4x!0`aS0Vc?FCv3oS+VSXGz#Q;R|azEw?OrVt=;wg>udH})gD(Y zyKC8m!VawIQNx*ap>x6r!UwTS#kgGG^?3CtiTC0+xk@CfjS52zX3iL|G7!g~137t0yhFtCG+u-U>0-0~3((?n!Ay9%vgd0k44f=fvKRr$`h@=Cv%nl>3#c#$N{%?E%!tiYQ zJUL5^1&yO`lCVDz(6DQ5_$R=I_v)m0eKJkv1m(oVfJU+fFa zS(|vo!VWdnpA>+-hkiT*;D3msby)SBXjmlh73Fob=)P#zG4u`yv`|Tq?)wth()Rxb z{WS1CasLSE`)>oL=LAT6N+8b*#E^8~24HFR_o)6Y6&2rIoMU?ZJ<92lAG1R$bjSd4 zuFw2Ez){xYKgz@be^4AVj${4_7}DbJQA6@PKPevPBIjZsH3f1ireO;)}B{0Z^j)A##w5*Z76{6Aj89Torp literal 0 HcmV?d00001 diff --git a/tests/data/test-abidiff-exit/test-anonymous-enums-change-v1.c b/tests/data/test-abidiff-exit/test-anonymous-enums-change-v1.c --- /dev/null +++ b/tests/data/test-abidiff-exit/test-anonymous-enums-change-v1.c @@ -0,0 +1,41 @@ +/* + * Compile this with: + * gcc -c -g -fno-eliminate-unused-debug-types test-anonymous-enums-change-v1.c + */ + +enum + { + E1_0, + E1_1, + } v1; + +enum + { + E3_0, + E3_1, + E3_2 + }; + +enum + { + E4_0, + E4_1, + }; + +enum + { + E5_0, + E5_1, + }; + +enum + { + E0_0, + E0_1, + } v0; + +enum + { + E2_0, + E2_1, + } v2; diff --git a/tests/data/test-abidiff-exit/test-anonymous-enums-change-v1.o b/tests/data/test-abidiff-exit/test-anonymous-enums-change-v1.o new file mode 100644 index 0000000000000000000000000000000000000000..7d0f71b47a47d0a7eb893ddd41c4515cfb4b28fa GIT binary patch literal 3336 zcmb_eO>7%g5T5ngq^(JsG>D(JkTtX=q3o``aY6}7YAFqA1*#Ad7cORPKRXNdI`Xbf zB7|Cr3j&D?91s^SaN>jnhe`->=$%u!aOsH)2gHd32bg&~FWEeAFhY#9Z)U#vdprBy z*tfP`elcelpvZs?IMfsh@cxNIxhBOLoPjy`73BgL(wZmyacSfww}QeHElEzf8c@hj zk%Kv^z^NxtIBAkfBm<_qD5V3WoJ))ky{8!y`0Qtyu=TYLo1-#3Mb28$OFxf$da!i& zh$k3}V9uN`;zskvMro>8%HNn@D;X~opD&rlJibyD%o7Y0Zp>eOEcYlte$Kc!GhZ|p z&MnM7g6+Bh#o|WMoWa!R@yX!>km|40lf^?;K-)9O4a4|zW||oF10NI?lGYdtxzkA+ z88!@~pc9Ig6@)QtRqAD0DzH^1X(d^tic6K$Dp{9FT23Snwr{>>ZC0MMDix>dR4lLT zEtglzE7szxnD@FLv%&V3EV~yEL$Tfwp%?^BRQ*A7XMOL=s=ZpZN1kPOEV~`{ZP5*S zLFmWA9)`n6wCt8>3_Etbzbhix@~FIrF&Rjgtw}W8jmB%%$E-y~#z!m9F?ABMGv!}@Dl51Q@E-{&{7Jg{HmU-;i}#h4QCa$ zS)lW!auD=7<7)pj^NHS&YqEE$yT*E3!>_XbwuWD3{ap<&v;L8W(?BKqBw?~=R9E%q zOAW_)Ea@u^zr^}?%;|m8r|U<}{~OltY4{!1e_>8}PP0r*odN1wA%)ZVBvRk^twe=q znJfHT)+-wR6YJna`@Pt2Add$L-%(O5_F`~oG=kHJB5($x>pOBN*MqR#M;i_3y5DFF z#OR3GAJ8~H8qy6yp+c~P5(%zLz1i>e1pXp9VLuiQ4mvxE{ib>|wc-E9&tVw#R`pY5 zsVPC@1eaWt4