* 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.
This commit is contained in:
parent
a412bee57b
commit
dd2bed3aca
3 changed files with 12 additions and 8 deletions
|
@ -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>
|
2012-12-03 Maciej W. Rozycki <macro@codesourcery.com>
|
||||||
|
|
||||||
* elf32-tilepro.c (tilepro_elf_mkobject): New function.
|
* elf32-tilepro.c (tilepro_elf_mkobject): New function.
|
||||||
|
|
|
@ -2145,18 +2145,17 @@ mips_elf32_object_p (bfd *abfd)
|
||||||
{
|
{
|
||||||
unsigned long mach;
|
unsigned long mach;
|
||||||
|
|
||||||
|
if (ABI_N32_P (abfd))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
/* Irix 5 and 6 are broken. Object file symbol tables are not always
|
/* Irix 5 and 6 are broken. Object file symbol tables are not always
|
||||||
sorted correctly such that local symbols precede global symbols,
|
sorted correctly such that local symbols precede global symbols,
|
||||||
and the sh_info field in the symbol table is not always right. */
|
and the sh_info field in the symbol table is not always right. */
|
||||||
if (SGI_COMPAT (abfd))
|
if (SGI_COMPAT (abfd))
|
||||||
elf_bad_symtab (abfd) = TRUE;
|
elf_bad_symtab (abfd) = TRUE;
|
||||||
|
|
||||||
if (ABI_N32_P (abfd))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
mach = _bfd_elf_mips_mach (elf_elfheader (abfd)->e_flags);
|
mach = _bfd_elf_mips_mach (elf_elfheader (abfd)->e_flags);
|
||||||
bfd_default_set_arch_mach (abfd, bfd_arch_mips, mach);
|
bfd_default_set_arch_mach (abfd, bfd_arch_mips, mach);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3165,6 +3165,9 @@ mips_elf_n32_object_p (bfd *abfd)
|
||||||
{
|
{
|
||||||
unsigned long mach;
|
unsigned long mach;
|
||||||
|
|
||||||
|
if (!ABI_N32_P (abfd))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
/* Irix 5 and 6 are broken. Object file symbol tables are not always
|
/* Irix 5 and 6 are broken. Object file symbol tables are not always
|
||||||
sorted correctly such that local symbols precede global symbols,
|
sorted correctly such that local symbols precede global symbols,
|
||||||
and the sh_info field in the symbol table is not always right. */
|
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);
|
mach = _bfd_elf_mips_mach (elf_elfheader (abfd)->e_flags);
|
||||||
bfd_default_set_arch_mach (abfd, bfd_arch_mips, mach);
|
bfd_default_set_arch_mach (abfd, bfd_arch_mips, mach);
|
||||||
|
|
||||||
if (! ABI_N32_P(abfd))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue