aboutsummaryrefslogtreecommitdiff
path: root/binutils/readelf.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2006-03-06 13:42:05 +0000
committerNathan Sidwell <nathan@codesourcery.com>2006-03-06 13:42:05 +0000
commit0b2e31dc3b568d10386bcfc3e2c75e21a72be568 (patch)
tree8b39c845b03c3b998c7b31093d2fce685a007099 /binutils/readelf.c
parentd8d1c398ee0a95ea474cf14697328196c289eac7 (diff)
downloadgdb-0b2e31dc3b568d10386bcfc3e2c75e21a72be568.zip
gdb-0b2e31dc3b568d10386bcfc3e2c75e21a72be568.tar.gz
gdb-0b2e31dc3b568d10386bcfc3e2c75e21a72be568.tar.bz2
bfd:
* archures.c (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_b_nousp): New. Adjust other variants. (bfd_default_scan): Update. * bfd-in2.h: Rebuilt. * cpu-m68k.c: Adjust. (bfd_m68k_compatible): New. Use it for architectures. * elf32-m68k.c (elf32_m68k_object_p): Adjust. (elf32_m68k_merge_private_bfd_data): Adjust. Correct isa-a/b mismatch. (elf32_m68k_print_private_bfd_data): Adjust. * ieee.c (ieee_write_processor): Adjust. binutils: * readelf.c (get_machine_flags): Adjust. gas: * config/tc-m68k.c (m68k_extensions): Allow 'float' on both m68k and cf. (m68k_ip): <case 'J'> Check we have some control regs. (md_parse_option): Allow raw arch switch. (m68k_init_arch): Better detection of arch/cpu mismatch. Detect whether 68881 or cfloat was meant by -mfloat. (md_show_usage): Adjust extension display. (m68k_elf_final_processing): Adjust. gas/testsuite: * gas/m68k/arch-cpu-1.s: Tweak. * gas/m68k/arch-cpu-1.d: Tweak. include/elf: * m68k.h (EF_M68K_ISA_MASK, EF_M68K_ISA_A, EF_M68K_ISA_A_PLUS, EF_M68K_ISA_B, EF_M68K_ISA_C): Adjust. (EF_M68K_ISA_A_NODIV, EF_M68K_ISA_B_NOUSP): New. (EF_M68K_HW_DIV, EF_M68K_USP): Remove. (EF_M68K_MAC, EF_M68K_EMAC, EF_M68K_FLOAT): Adjust. (EF_M68K_EMAC_B): New. ld/testsuite: * ld-m68k: New tests.
Diffstat (limited to 'binutils/readelf.c')
-rw-r--r--binutils/readelf.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 192ddcf..dcd02bc 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -1949,23 +1949,34 @@ get_machine_flags (unsigned e_flags, unsigned e_machine)
{
char const *isa = _("unknown");
char const *mac = _("unknown mac");
+ char const *additional = NULL;
switch (e_flags & EF_M68K_ISA_MASK)
{
+ case EF_M68K_ISA_A_NODIV:
+ isa = "A";
+ additional = ", nodiv";
+ break;
case EF_M68K_ISA_A:
isa = "A";
break;
case EF_M68K_ISA_A_PLUS:
isa = "A+";
break;
+ case EF_M68K_ISA_B_NOUSP:
+ isa = "B";
+ additional = ", nousp";
+ break;
case EF_M68K_ISA_B:
isa = "B";
break;
}
strcat (buf, ", cf, isa ");
strcat (buf, isa);
- if (e_flags & EF_M68K_HW_DIV)
- strcat (buf, ", hwdiv");
+ if (additional)
+ strcat (buf, additional);
+ if (e_flags & EF_M68K_FLOAT)
+ strcat (buf, ", float");
switch (e_flags & EF_M68K_MAC_MASK)
{
case 0:
@@ -1983,10 +1994,6 @@ get_machine_flags (unsigned e_flags, unsigned e_machine)
strcat (buf, ", ");
strcat (buf, mac);
}
- if (e_flags & EF_M68K_USP)
- strcat (buf, ", usp");
- if (e_flags & EF_M68K_FLOAT)
- strcat (buf, ", float");
}
break;