diff options
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 5 | ||||
-rw-r--r-- | opcodes/mips-dis.c | 26 |
2 files changed, 18 insertions, 13 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 0138a9e..3f74c26 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,10 @@ 2016-12-14 Maciej W. Rozycki <macro@imgtec.com> + * mips-dis.c (set_default_mips_dis_options): Reorder ELF file + header flag interpretation code. + +2016-12-14 Maciej W. Rozycki <macro@imgtec.com> + * mips16-opc.c (mips16_opcodes): Set RD_SP rather than RD_PC in `pinfo2' with SP-relative "sd" entries. diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c index b3daacd..380a675 100644 --- a/opcodes/mips-dis.c +++ b/opcodes/mips-dis.c @@ -785,19 +785,6 @@ set_default_mips_dis_options (struct disassemble_info *info) mips_hwr_names = mips_hwr_names_numeric; no_aliases = 0; - /* Update settings according to the ELF file header flags. */ - if (info->flavour == bfd_target_elf_flavour && info->section != NULL) - { - Elf_Internal_Ehdr *header; - - header = elf_elfheader (info->section->owner); - /* If an ELF "newabi" binary, use the n32/(n)64 GPR names. */ - if (is_newabi (header)) - mips_gpr_names = mips_gpr_names_newabi; - /* If a microMIPS binary, then don't use MIPS16 bindings. */ - micromips_ase = is_micromips (header); - } - /* Set ISA, architecture, and cp0 register names as best we can. */ #if ! SYMTAB_AVAILABLE /* This is running out on a target machine, not in a host tool. @@ -819,6 +806,19 @@ set_default_mips_dis_options (struct disassemble_info *info) mips_hwr_names = chosen_arch->hwr_names; } #endif + + /* Update settings according to the ELF file header flags. */ + if (info->flavour == bfd_target_elf_flavour && info->section != NULL) + { + Elf_Internal_Ehdr *header; + + header = elf_elfheader (info->section->owner); + /* If an ELF "newabi" binary, use the n32/(n)64 GPR names. */ + if (is_newabi (header)) + mips_gpr_names = mips_gpr_names_newabi; + /* If a microMIPS binary, then don't use MIPS16 bindings. */ + micromips_ase = is_micromips (header); + } } static void |