Преглед изворни кода

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 година
родитељ
комит
0cdf7ebbbf
2 измењених фајлова са 8 додато и 3 уклоњено
  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 {