diff options
author | Chris Demetriou <cgd@google.com> | 2002-03-15 17:32:05 +0000 |
---|---|---|
committer | Chris Demetriou <cgd@google.com> | 2002-03-15 17:32:05 +0000 |
commit | 4c563ebfcec40cfc6e9d066431beb92cf70f207b (patch) | |
tree | c016d679f32b71c713867e5fb6d131e22e44dae9 /opcodes/mips-dis.c | |
parent | eb7b56d007be4ec6a023e18b11e2ac84e6c28b88 (diff) | |
download | gdb-4c563ebfcec40cfc6e9d066431beb92cf70f207b.zip gdb-4c563ebfcec40cfc6e9d066431beb92cf70f207b.tar.gz gdb-4c563ebfcec40cfc6e9d066431beb92cf70f207b.tar.bz2 |
2002-03-15 Chris Demetriou <cgd@broadcom.com>
* mips-dis.c (is_newabi): Fix ABI decoding.
Diffstat (limited to 'opcodes/mips-dis.c')
-rw-r--r-- | opcodes/mips-dis.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c index 5959563..a1e13ff 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; |