diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index a7b5e134ee0..67463ca4c61 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2002-04-07 Andrew Cagney + + Import 2002-03-11 Chris Demetriou + * mips-dis.c (is_newabi): Fix ABI decoding. + 2002-02-27 Nick Clifton * po/de.po: Updated. diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c index 13eb728fcde..95f4e52bc44 100644 --- a/opcodes/mips-dis.c +++ b/opcodes/mips-dis.c @@ -397,10 +397,14 @@ static int is_newabi (header) Elf_Internal_Ehdr *header; { - if ((header->e_flags - & (E_MIPS_ABI_EABI32 | E_MIPS_ABI_EABI64 | EF_MIPS_ABI2)) != 0 - || (header->e_ident[EI_CLASS] == ELFCLASS64 - && (header->e_flags & E_MIPS_ABI_O64) == 0)) + /* There are no old-style ABIs which use 64-bit ELF. */ + if (header->e_ident[EI_CLASS] == ELFCLASS64) + return 1; + + /* If a 32-bit ELF file, N32, EABI32, and EABI64 are new-style ABIs. */ + if ((header->e_flags & EF_MIPS_ABI2) != 0 + || (header->e_flags & EF_MIPS_ABI) == E_MIPS_ABI_EABI32 + || (header->e_flags & EF_MIPS_ABI) == E_MIPS_ABI_EABI64) return 1; return 0;