* elf32-mips.c (mips_elf32_object_p): Return right away when the
authorMaciej W. Rozycki <macro@linux-mips.org>
Mon, 3 Dec 2012 16:33:13 +0000 (16:33 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Mon, 3 Dec 2012 16:33:13 +0000 (16:33 +0000)
ABI is not compatible.
* elfn32-mips.c (mips_elf_n32_object_p): Likewise.

bfd/ChangeLog
bfd/elf32-mips.c
bfd/elfn32-mips.c

index 90804e5c5c1180196d5ca7407f893cb59100ee5f..c81c96adf7a1226d06b42a0b7d829803ff6b946b 100644 (file)
@@ -1,3 +1,9 @@
+2012-12-03  Maciej W. Rozycki  <macro@codesourcery.com>
+
+       * elf32-mips.c (mips_elf32_object_p): Return right away when the
+       ABI is not compatible.
+       * elfn32-mips.c (mips_elf_n32_object_p): Likewise.
+
 2012-12-03  Maciej W. Rozycki  <macro@codesourcery.com>
 
        * elf32-tilepro.c (tilepro_elf_mkobject): New function.
index c2bc0da3870c108dec234935c0b4ca6c098fd29b..18eb6436909fead3151f57f7cd8c30b2a2fdb858 100644 (file)
@@ -2145,18 +2145,17 @@ mips_elf32_object_p (bfd *abfd)
 {
   unsigned long mach;
 
+  if (ABI_N32_P (abfd))
+    return FALSE;
+
   /* Irix 5 and 6 are broken.  Object file symbol tables are not always
      sorted correctly such that local symbols precede global symbols,
      and the sh_info field in the symbol table is not always right.  */
   if (SGI_COMPAT (abfd))
     elf_bad_symtab (abfd) = TRUE;
 
-  if (ABI_N32_P (abfd))
-    return FALSE;
-
   mach = _bfd_elf_mips_mach (elf_elfheader (abfd)->e_flags);
   bfd_default_set_arch_mach (abfd, bfd_arch_mips, mach);
-
   return TRUE;
 }
 \f
index 7c3ca7d8d60d451f60d93e0d34653b1d71ffd0aa..08c8e5faecf756d662fd7c5590f8c015e13b83e0 100644 (file)
@@ -3165,6 +3165,9 @@ mips_elf_n32_object_p (bfd *abfd)
 {
   unsigned long mach;
 
+  if (!ABI_N32_P (abfd))
+    return FALSE;
+
   /* Irix 5 and 6 are broken.  Object file symbol tables are not always
      sorted correctly such that local symbols precede global symbols,
      and the sh_info field in the symbol table is not always right.  */
@@ -3173,10 +3176,6 @@ mips_elf_n32_object_p (bfd *abfd)
 
   mach = _bfd_elf_mips_mach (elf_elfheader (abfd)->e_flags);
   bfd_default_set_arch_mach (abfd, bfd_arch_mips, mach);
-
-  if (! ABI_N32_P(abfd))
-    return FALSE;
-
   return TRUE;
 }
 \f