[dpkg] 166/200: Dpkg::Shlibs::Objdump: Mask ABI bits in flags for ARM

Ximin Luo infinity0 at debian.org
Wed Apr 5 15:17:35 UTC 2017


This is an automated email from the git hooks/post-receive script.

infinity0 pushed a commit to branch master
in repository dpkg.

commit 66f0819359a5b40a845213348772033c353d30ae
Author: Guillem Jover <guillem at debian.org>
Date:   Wed Feb 1 05:21:26 2017 +0100

    Dpkg::Shlibs::Objdump: Mask ABI bits in flags for ARM
    
    These are too unreliable for exact matches. There are objects with
    EABIv4 in the wild, even when the current is EABIv5. The soft and
    hard float flags are not always set on armel and armhf respectively,
    although the Tag_ABI_VFP_args attribute in the the ARM attribute
    section should always be present on armhf. And there are cases were
    both soft and hard float flags are set at the same time(!).
    
    Mask all flags on ARM, so that we get back to the previous behavior
    with objdump. We can try to revisit this for a better matching during
    the dpkg 1.19.x cycle.
    
    Closes: #853793
---
 debian/changelog               | 3 +++
 scripts/Dpkg/Shlibs/Objdump.pm | 3 ---
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 8b6e166..5269cfb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,9 @@ dpkg (1.18.22) UNRELEASED; urgency=medium
   * Turn status file parser errors on bogus field blank lines into warnings,
     otherwise the system cannot be easily recovered from. Regression
     introduced in dpkg 1.16.1. Reported by Jay Freeman <saurik at saurik.com>.
+  * Perl modules:
+    - Mask ARM ABI bits in the ELF processor flags in Dpkg::Shlibs::Objdump.
+      These are too unreliable to be used for exact matching. Closes: #853793
 
   [ Updated programs translations ]
   * Turkish (Mert Dirik). Closes: #853202
diff --git a/scripts/Dpkg/Shlibs/Objdump.pm b/scripts/Dpkg/Shlibs/Objdump.pm
index 3bf60f7..06ca53c 100644
--- a/scripts/Dpkg/Shlibs/Objdump.pm
+++ b/scripts/Dpkg/Shlibs/Objdump.pm
@@ -165,9 +165,6 @@ my %elf_mach_map = (
 # always better to not mask a flag, because that preserves the historical
 # behavior, and we do not drop dependencies.
 my %elf_flags_mask = (
-    ELF_MACH_ARM()      => ELF_FLAG_ARM_EABI_MASK |
-                           ELF_FLAG_ARM_NEW_ABI | ELF_FLAG_ARM_OLD_ABI |
-                           ELF_FLAG_ARM_SOFT_FLOAT | ELF_FLAG_ARM_HARD_FLOAT,
     ELF_MACH_IA64()     => ELF_FLAG_IA64_ABI64,
     ELF_MACH_MIPS()     => ELF_FLAG_MIPS_ABI_MASK | ELF_FLAG_MIPS_ABI2,
     ELF_MACH_PPC64()    => ELF_FLAG_PPC64_ABI64,

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/dpkg.git



More information about the Reproducible-commits mailing list