MIPS/opcodes: Reorder ELF file header flag handling in disassembler

Move ELF file header flag interpretation code, used to set disassembler
options, beyond architecture setup.  No functional change as the effects
of both code sections are disjoint from each other, but this provides
for a further expansion of ELF file header flag interpretation.

	opcodes/
	* mips-dis.c (set_default_mips_dis_options): Reorder ELF file
	header flag interpretation code.
This commit is contained in:
Maciej W. Rozycki 2016-12-14 21:27:00 +00:00
parent eefc336583
commit 8184783a40
2 changed files with 18 additions and 13 deletions

View File

@ -1,3 +1,8 @@
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

View File

@ -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