From 6fbbdfe7f4dc7778237ce28f2cc4e1bc02da14c7 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Mon, 6 Mar 2006 13:42:04 +0000 Subject: [PATCH] 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): 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. --- include/elf/ChangeLog | 9 +++++++++ include/elf/m68k.h | 20 +++++++++++--------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 27665852b..3270871cd 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,12 @@ +2006-03-06 Nathan Sidwell + + * 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. + 2006-03-03 Bjoern Haase * avr.h (R_AVR_MS8_LDI,R_AVR_MS8_LDI_NEG): Add. diff --git a/include/elf/m68k.h b/include/elf/m68k.h index 929cd60f4..08d0c4419 100644 --- a/include/elf/m68k.h +++ b/include/elf/m68k.h @@ -58,16 +58,18 @@ END_RELOC_NUMBERS (R_68K_max) /* We use the bottom 8 bits to encode information about the coldfire variant. */ -#define EF_M68K_ISA_MASK 0x07 /* Which ISA */ -#define EF_M68K_ISA_A 0x01 -#define EF_M68K_ISA_A_PLUS 0x02 -#define EF_M68K_ISA_B 0x03 -#define EF_M68K_HW_DIV 0x08 /* Has HW divide */ +#define EF_M68K_ISA_MASK 0x0F /* Which ISA */ +#define EF_M68K_ISA_A_NODIV 0x01 /* ISA A except for div */ +#define EF_M68K_ISA_A 0x02 +#define EF_M68K_ISA_A_PLUS 0x03 +#define EF_M68K_ISA_B_NOUSP 0x04 /* ISA_B except for USP */ +#define EF_M68K_ISA_B 0x05 +#define EF_M68K_ISA_C 0x06 #define EF_M68K_MAC_MASK 0x30 -#define EF_M68K_MAC 0x10 /* Has MAC */ -#define EF_M68K_EMAC 0x20 /* Has EMAC */ -#define EF_M68K_USP 0x40 /* Has USP insns */ -#define EF_M68K_FLOAT 0x80 /* Has float insns */ +#define EF_M68K_MAC 0x10 /* MAC */ +#define EF_M68K_EMAC 0x20 /* EMAC */ +#define EF_M68K_EMAC_B 0x30 /* EMAC_B */ +#define EF_M68K_FLOAT 0x40 /* Has float insns */ #define EF_M68K_CF_MASK 0xFF #endif