summaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorKazu Hirata <kazu@codesourcery.com>2007-09-11 16:07:50 +0000
committerKazu Hirata <kazu@codesourcery.com>2007-09-11 16:07:50 +0000
commitc48a3f2696e62ba1a4044e04477583fe17f602a4 (patch)
tree78b1cd05c07755d56c8f653d5b85ba053fb8987f /bfd
parent1fbeb545db1bf16fae511addac0a3f35d036fd1c (diff)
downloadbinutils-redhat-c48a3f2696e62ba1a4044e04477583fe17f602a4.tar.gz
bfd/
* archures.c: Add bfd_mach_mcf_isa_c_nodiv, bfd_mach_mcf_isa_c_nodiv_mac & bfd_mach_mcf_isa_c_nodiv_emac. * ieee.c (ieee_write_processor): Update coldfire architecture list. * bfd-in2.h: Rebuilt. * cpu-m68k.c (arch_info_struct): Add isa_c nodiv architectures. (m68k_arch_features): Likewise. * elf32-m68k.c (elf32_m68k_object_p): Add EF_M68K_CF_ISA_C_NODIV. (elf32_m68k_print_private_bfd_data): Likewise. gas/ * config/tc-m68k.c (m68k_ip): Add mcfisa_c case. (m68k_elf_final_processing): Add EF_M68K_CF_ISA_C_NODIV. include/elf/ * m68k.h (EF_M68K_CF_ISA_C_NODIV): New.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog12
-rw-r--r--bfd/archures.c3
-rw-r--r--bfd/bfd-in2.h3
-rw-r--r--bfd/cpu-m68k.c27
-rw-r--r--bfd/elf32-m68k.c7
-rw-r--r--bfd/ieee.c6
6 files changed, 49 insertions, 9 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index cba32ae5aa..eb7c625e3c 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,15 @@
+2007-09-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ * archures.c: Add bfd_mach_mcf_isa_c_nodiv,
+ bfd_mach_mcf_isa_c_nodiv_mac & bfd_mach_mcf_isa_c_nodiv_emac.
+ * ieee.c (ieee_write_processor): Update coldfire architecture
+ list.
+ * bfd-in2.h: Rebuilt.
+ * cpu-m68k.c (arch_info_struct): Add isa_c nodiv architectures.
+ (m68k_arch_features): Likewise.
+ * elf32-m68k.c (elf32_m68k_object_p): Add EF_M68K_CF_ISA_C_NODIV.
+ (elf32_m68k_print_private_bfd_data): Likewise.
+
2007-09-11 Jan Beulich <jbeulich@novell.com>
* elf64-i386.c (elf64_i386_tls_transition): Remove redundant 'const'.
diff --git a/bfd/archures.c b/bfd/archures.c
index 67d1b5cc6e..8f19b7edac 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -101,6 +101,9 @@ DESCRIPTION
.#define bfd_mach_mcf_isa_c 26
.#define bfd_mach_mcf_isa_c_mac 27
.#define bfd_mach_mcf_isa_c_emac 28
+.#define bfd_mach_mcf_isa_c_nodiv 29
+.#define bfd_mach_mcf_isa_c_nodiv_mac 30
+.#define bfd_mach_mcf_isa_c_nodiv_emac 31
. bfd_arch_vax, {* DEC Vax *}
. bfd_arch_i960, {* Intel 960 *}
. {* The order of the following is important.
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 317d32e01d..d3228d05e4 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1772,6 +1772,9 @@ enum bfd_architecture
#define bfd_mach_mcf_isa_c 26
#define bfd_mach_mcf_isa_c_mac 27
#define bfd_mach_mcf_isa_c_emac 28
+#define bfd_mach_mcf_isa_c_nodiv 29
+#define bfd_mach_mcf_isa_c_nodiv_mac 30
+#define bfd_mach_mcf_isa_c_nodiv_emac 31
bfd_arch_vax, /* DEC Vax */
bfd_arch_i960, /* Intel 960 */
/* The order of the following is important.
diff --git a/bfd/cpu-m68k.c b/bfd/cpu-m68k.c
index e23998832e..a82c4ee4af 100644
--- a/bfd/cpu-m68k.c
+++ b/bfd/cpu-m68k.c
@@ -83,19 +83,25 @@ static const bfd_arch_info_type arch_info_struct[] =
FALSE, &arch_info_struct[27]),
N(bfd_mach_mcf_isa_c_emac, "m68k:isa-c:emac",
FALSE, &arch_info_struct[28]),
+ N(bfd_mach_mcf_isa_c_nodiv, "m68k:isa-c:nodiv",
+ FALSE, &arch_info_struct[29]),
+ N(bfd_mach_mcf_isa_c_nodiv_mac, "m68k:isa-c:nodiv:mac",
+ FALSE, &arch_info_struct[30]),
+ N(bfd_mach_mcf_isa_c_nodiv_emac, "m68k:isa-c:nodiv:emac",
+ FALSE, &arch_info_struct[31]),
/* Legacy names for CF architectures */
- N(bfd_mach_mcf_isa_a_nodiv, "m68k:5200", FALSE, &arch_info_struct[29]),
- N(bfd_mach_mcf_isa_a_mac,"m68k:5206e", FALSE, &arch_info_struct[30]),
- N(bfd_mach_mcf_isa_a_mac, "m68k:5307", FALSE, &arch_info_struct[31]),
- N(bfd_mach_mcf_isa_b_nousp_mac, "m68k:5407", FALSE, &arch_info_struct[32]),
- N(bfd_mach_mcf_isa_aplus_emac, "m68k:528x", FALSE, &arch_info_struct[33]),
- N(bfd_mach_mcf_isa_aplus_emac, "m68k:521x", FALSE, &arch_info_struct[34]),
- N(bfd_mach_mcf_isa_a_emac, "m68k:5249", FALSE, &arch_info_struct[35]),
+ N(bfd_mach_mcf_isa_a_nodiv, "m68k:5200", FALSE, &arch_info_struct[32]),
+ N(bfd_mach_mcf_isa_a_mac,"m68k:5206e", FALSE, &arch_info_struct[33]),
+ N(bfd_mach_mcf_isa_a_mac, "m68k:5307", FALSE, &arch_info_struct[34]),
+ N(bfd_mach_mcf_isa_b_nousp_mac, "m68k:5407", FALSE, &arch_info_struct[35]),
+ N(bfd_mach_mcf_isa_aplus_emac, "m68k:528x", FALSE, &arch_info_struct[36]),
+ N(bfd_mach_mcf_isa_aplus_emac, "m68k:521x", FALSE, &arch_info_struct[37]),
+ N(bfd_mach_mcf_isa_a_emac, "m68k:5249", FALSE, &arch_info_struct[38]),
N(bfd_mach_mcf_isa_b_float_emac, "m68k:547x",
- FALSE, &arch_info_struct[36]),
+ FALSE, &arch_info_struct[39]),
N(bfd_mach_mcf_isa_b_float_emac, "m68k:548x",
- FALSE, &arch_info_struct[37]),
+ FALSE, &arch_info_struct[40]),
N(bfd_mach_mcf_isa_b_float_emac, "m68k:cfv4e", FALSE, 0),
};
@@ -135,6 +141,9 @@ static const unsigned m68k_arch_features[] =
mcfisa_a|mcfhwdiv|mcfisa_c|mcfusp,
mcfisa_a|mcfhwdiv|mcfisa_c|mcfusp|mcfmac,
mcfisa_a|mcfhwdiv|mcfisa_c|mcfusp|mcfemac,
+ mcfisa_a|mcfisa_c|mcfusp,
+ mcfisa_a|mcfisa_c|mcfusp|mcfmac,
+ mcfisa_a|mcfisa_c|mcfusp|mcfemac,
};
/* Return the count of bits set in MASK */
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index ffa1668ada..b48c09cb8d 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -506,6 +506,9 @@ elf32_m68k_object_p (bfd *abfd)
case EF_M68K_CF_ISA_C:
features |= mcfisa_a|mcfisa_c|mcfhwdiv|mcfusp;
break;
+ case EF_M68K_CF_ISA_C_NODIV:
+ features |= mcfisa_a|mcfisa_c|mcfusp;
+ break;
}
switch (eflags & EF_M68K_CF_MAC_MASK)
{
@@ -658,6 +661,10 @@ elf32_m68k_print_private_bfd_data (abfd, ptr)
case EF_M68K_CF_ISA_C:
isa = "C";
break;
+ case EF_M68K_CF_ISA_C_NODIV:
+ isa = "C";
+ additional = " [nodiv]";
+ break;
}
fprintf (file, " [isa %s]%s", isa, additional);
if (eflags & EF_M68K_CF_FLOAT)
diff --git a/bfd/ieee.c b/bfd/ieee.c
index 6efd978e17..d032e9c133 100644
--- a/bfd/ieee.c
+++ b/bfd/ieee.c
@@ -3487,6 +3487,12 @@ ieee_write_processor (bfd *abfd)
case bfd_mach_mcf_isa_b_float: id = "isa-b:float"; break;
case bfd_mach_mcf_isa_b_float_mac: id = "isa-b:float:mac"; break;
case bfd_mach_mcf_isa_b_float_emac: id = "isa-b:float:emac"; break;
+ case bfd_mach_mcf_isa_c: id = "isa-c"; break;
+ case bfd_mach_mcf_isa_c_mac: id = "isa-c:mac"; break;
+ case bfd_mach_mcf_isa_c_emac: id = "isa-c:emac"; break;
+ case bfd_mach_mcf_isa_c_nodiv: id = "isa-c:nodiv"; break;
+ case bfd_mach_mcf_isa_c_nodiv_mac: id = "isa-c:nodiv:mac"; break;
+ case bfd_mach_mcf_isa_c_nodiv_emac: id = "isa-c:nodiv:emac"; break;
}
if (! ieee_write_id (abfd, id))