Pārlūkot izejas kodu

Dpkg::Shlibs::Objdump: Mask ELF machine bits for SH and MIPS

These do not define the ABI, and seem to be set depending on the ISA
used. Mask them for now, and postpone possibly making more fine-grained
matching in the future.
Guillem Jover 9 gadi atpakaļ
vecāks
revīzija
0cdf7ebbbf
2 mainītis faili ar 8 papildinājumiem un 3 dzēšanām
  1. 7 0
      debian/changelog
  2. 1 3
      scripts/Dpkg/Shlibs/Objdump.pm

+ 7 - 0
debian/changelog

@@ -1,5 +1,12 @@
 dpkg (1.18.20) UNRELEASED; urgency=medium
 
+  [ Guillem Jover ]
+  * Perl modules:
+    - Mask the machine bits for SH and MIPS in the ELF processor flags in
+      Dpkg::Shlibs::Objdump. These do not define the ABI, and make the
+      objects not match when they should, when looking for shared libraries
+      from dpkg-shlibdeps.
+
   [ Updated scripts translations ]
   * German (Helge Kreutzmann).
 

+ 1 - 3
scripts/Dpkg/Shlibs/Objdump.pm

@@ -133,10 +133,8 @@ my %elf_flags_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_ARCH_MASK | ELF_FLAG_MIPS_ABI_MASK |
-                           ELF_FLAG_MIPS_ABI2,
+    ELF_MACH_MIPS()     => ELF_FLAG_MIPS_ABI_MASK | ELF_FLAG_MIPS_ABI2,
     ELF_MACH_PPC64()    => ELF_FLAG_PPC64_ABI64,
-    ELF_MACH_SH()       => ELF_FLAG_SH_MACH_MASK,
 );
 
 sub get_format {