From patchwork Tue Jan 26 18:37:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 41822 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 A8ED7385481D; Tue, 26 Jan 2021 18:37:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A8ED7385481D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1611686259; bh=jz12DjVQLpeBPi47+SBJ0+mBVUEzn75nweV8oFffOUQ=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Help: List-Subscribe:From:Reply-To:From; b=vBMbkpE7WYYL8AP8ObffiUaL8d//0BAH0KLZ1CpIKKH0VBkezfROWclD5/DRDDp5m m+Hb60h8Ycrqo0/8tSYvi+e0xklRi2ipjOI1EkocdHWoH+vlzMwHEj3lb3HM6Q9vMx +OQt9kmevmdBA+XnPtmAB3BTBdUyTPj7R6BeMVyw= 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 [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 8D9B2385481D for ; Tue, 26 Jan 2021 18:37:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 8D9B2385481D Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-477-fWzbCCM9Pruxj0r5ObKT9Q-1; Tue, 26 Jan 2021 13:37:28 -0500 X-MC-Unique: fWzbCCM9Pruxj0r5ObKT9Q-1 Received: by mail-wr1-f72.google.com with SMTP id l7so5910760wrp.1 for ; Tue, 26 Jan 2021 10:37:28 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:organization:date:message-id :user-agent:mime-version; bh=jz12DjVQLpeBPi47+SBJ0+mBVUEzn75nweV8oFffOUQ=; b=Fla7HyIPJL4dUAkmtC4wm4ApVKZTDBpOjfqlz+uYwKEPLu+maiLtUlWOYlG9gWBImd NsBrbCBqjie034jbPtfNREZKrruRgXtPdwW2Tgnt5tm1zMWArxOT2EQQKjIfz5cVHm4W 0Wsqmql48EPnXDzggsFSCI3+h8z4Fp7tWd2jqj2X835LO8HIy3c0JrzGxBUpOJvETazI PPIxmR0QxidWoma8Pu7ct5Mf/q/P9L4HMbHpAf+bYyxf0u40te7gxfAEJwRUgvLAdrGb EpHcog7TzmnkS6YzRhoEje9iajPDTp18w7+bK+dPUQhLIUQpDInzs+DeYBVgVq/aDE46 ZF6A== X-Gm-Message-State: AOAM533xJOTrJKjCCFQ/HpyNRSs2sVyUcBMtaoVxZbFpagg9+bJGp6Ea Nxu4hXYkIKJ4l9aI+dLvwc5J6mecVybfcSYbR0cW4aFZSebsXHZzC/MSpIdbzvT3LOU9yit3Q6d Jep6lpdhhof7o3lWAlBqJwdXGIYaQjnhBhWAHlO3CKwnLauurYBwKLpToNMrDnuIKXYgc X-Received: by 2002:a5d:6041:: with SMTP id j1mr7557613wrt.155.1611686246321; Tue, 26 Jan 2021 10:37:26 -0800 (PST) X-Google-Smtp-Source: ABdhPJy35409/8gTIIAhYElbTru6YLj3uZWtDlBcpo3tBIgws1bkWhB4l8q0Zg7N0BRQjBoYzTkddQ== X-Received: by 2002:a5d:6041:: with SMTP id j1mr7557576wrt.155.1611686245716; Tue, 26 Jan 2021 10:37:25 -0800 (PST) Received: from localhost (91-166-131-65.subs.proxad.net. [91.166.131.65]) by smtp.gmail.com with ESMTPSA id h16sm28492493wrq.29.2021.01.26.10.37.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Jan 2021 10:37:23 -0800 (PST) Received: by localhost (Postfix, from userid 1000) id 9692E581CAC; Tue, 26 Jan 2021 19:37:21 +0100 (CET) To: libabigail@sourceware.org Subject: [PATCH] dwarf-reader: Support fast DW_FORM_line_strp string comparison Organization: Red Hat / France X-Operating-System: Fedora 34 X-URL: http://www.redhat.com Date: Tue, 26 Jan 2021 19:37:21 +0100 Message-ID: <87bldbh7dq.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-5.8 required=5.0 tests=BAYES_50, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, LIKELY_SPAM_BODY, LOTS_OF_MONEY, MONEY_NOHTML, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: Dodji Seketeli via Libabigail From: Dodji Seketeli Reply-To: Dodji Seketeli Errors-To: libabigail-bounces@sourceware.org Sender: "Libabigail" Hello, When running Libabigail on Fedora 34 it appeared that we don't support DW_FORM_line_strp in the fast string comparison scheme, during DIE de-duplication. This patch fixes that. * src/abg-dwarf-reader.cc (compare_dies_string_attribute_value): Support DW_FORM_line_strp. * tests/data/test-diff-pkg/sshpass-1.07-1.fc34.x86_64-self-check-report-0.txt: New reference test output. * tests/data/test-diff-pkg/sshpass-1.07-1.fc34.x86_64.rpm: New test input. * tests/data/test-diff-pkg/sshpass-debuginfo-1.07-1.fc34.x86_64.rpm: Likewise. * tests/data/Makefile.am: Add the new testing material above to source distribution. * tests/test-diff-pkg.cc (in_out_specs): Add the test input above to this harness. Signed-off-by: Dodji Seketeli Applied to master. --- src/abg-dwarf-reader.cc | 10 +++++++--- tests/data/Makefile.am | 3 +++ ...s-1.07-1.fc34.x86_64-self-check-report-0.txt | 1 + .../sshpass-1.07-1.fc34.x86_64.rpm | Bin 0 -> 27270 bytes .../sshpass-debuginfo-1.07-1.fc34.x86_64.rpm | Bin 0 -> 22567 bytes tests/test-diff-pkg.cc | 12 ++++++++++++ 6 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 tests/data/test-diff-pkg/sshpass-1.07-1.fc34.x86_64-self-check-report-0.txt create mode 100644 tests/data/test-diff-pkg/sshpass-1.07-1.fc34.x86_64.rpm create mode 100644 tests/data/test-diff-pkg/sshpass-debuginfo-1.07-1.fc34.x86_64.rpm diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index 099bff75..4b39e966 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc @@ -9414,19 +9414,23 @@ compare_dies_string_attribute_value(const Dwarf_Die *l, const Dwarf_Die *r, ABG_ASSERT(l_attr.form == DW_FORM_strp || l_attr.form == DW_FORM_string || l_attr.form == DW_FORM_GNU_strp_alt - || form_is_DW_FORM_strx(l_attr.form)); + || form_is_DW_FORM_strx(l_attr.form) + || l_attr.form == DW_FORM_line_strp); ABG_ASSERT(r_attr.form == DW_FORM_strp || r_attr.form == DW_FORM_string || r_attr.form == DW_FORM_GNU_strp_alt - || form_is_DW_FORM_strx(r_attr.form)); + || form_is_DW_FORM_strx(r_attr.form) + || l_attr.form == DW_FORM_line_strp); if ((l_attr.form == DW_FORM_strp && r_attr.form == DW_FORM_strp) || (l_attr.form == DW_FORM_GNU_strp_alt && r_attr.form == DW_FORM_GNU_strp_alt) || (form_is_DW_FORM_strx(l_attr.form) - && form_is_DW_FORM_strx(r_attr.form))) + && form_is_DW_FORM_strx(r_attr.form)) + || (l_attr.form == DW_FORM_line_strp + && r_attr.form == DW_FORM_line_strp)) { // So these string attributes are actually pointers into a // string table. The string table is most likely de-duplicated diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 56a4c4a1..a23dbc63 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -1785,6 +1785,9 @@ test-diff-pkg/cogl-debuginfo-1.22.8-2.fc33.x86_64.rpm \ test-diff-pkg/glibc-2.32-3.fc33.aarch64-self-check-report-0.txt \ test-diff-pkg/glibc-2.32-3.fc33.aarch64.rpm \ test-diff-pkg/glibc-debuginfo-2.32-3.fc33.aarch64.rpm \ +test-diff-pkg/sshpass-1.07-1.fc34.x86_64-self-check-report-0.txt \ +test-diff-pkg/sshpass-1.07-1.fc34.x86_64.rpm \ +test-diff-pkg/sshpass-debuginfo-1.07-1.fc34.x86_64.rpm \ \ test-fedabipkgdiff/dbus-glib-0.104-3.fc23.x86_64.rpm \ test-fedabipkgdiff/dbus-glib-debuginfo-0.104-3.fc23.x86_64.rpm \ diff --git a/tests/data/test-diff-pkg/sshpass-1.07-1.fc34.x86_64-self-check-report-0.txt b/tests/data/test-diff-pkg/sshpass-1.07-1.fc34.x86_64-self-check-report-0.txt new file mode 100644 index 00000000..05d079f4 --- /dev/null +++ b/tests/data/test-diff-pkg/sshpass-1.07-1.fc34.x86_64-self-check-report-0.txt @@ -0,0 +1 @@ +==== SELF CHECK SUCCEEDED for 'sshpass' ==== diff --git a/tests/data/test-diff-pkg/sshpass-1.07-1.fc34.x86_64.rpm b/tests/data/test-diff-pkg/sshpass-1.07-1.fc34.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..6ba415b5952af4c951d34401f04136c159859f17 GIT binary patch literal 27270 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