[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