* 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 90804e5..c81c96a 100644 (file)
@@ -1,5 +1,11 @@
 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.
        (bfd_elf32_mkobject): New macro.
 
index c2bc0da..18eb643 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 7c3ca7d..08c8e5f 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