summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@codesourcery.com>2006-11-29 10:32:51 +0000
committerKazu Hirata <kazu@codesourcery.com>2006-11-29 10:32:51 +0000
commit6c59f8b9e793ea87065ef59e224b2e356c8d6e7b (patch)
treed885a05c9db7baacc8c3bbdb739bcfb45331b868
parentd0b93a3c48535a4eb2c64e585e91f2645ead7128 (diff)
downloadgdb-6c59f8b9e793ea87065ef59e224b2e356c8d6e7b.tar.gz
bfd/
* elf32-m68k.c (elf32_m68k_object_p): Treat the default case as ColdFire. (elf32_m68k_merge_private_bfd_data): Use EF_M68K_ARCH_MASK to extract architecture mask. Treat the default case as ColdFire. binutils/ * readelf.c (get_machine_flags): Treat the default case as ColdFire.
-rw-r--r--ChangeLog.csl12
-rw-r--r--bfd/elf32-m68k.c21
2 files changed, 25 insertions, 8 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl
index 2bcf2f94fec..d70041ef41f 100644
--- a/ChangeLog.csl
+++ b/ChangeLog.csl
@@ -1,3 +1,15 @@
+2006-11-29 Kazu Hirata <kazu@codesourcery.com>
+
+ bfd/
+ * elf32-m68k.c (elf32_m68k_object_p): Treat the default case
+ as ColdFire.
+ (elf32_m68k_merge_private_bfd_data): Use EF_M68K_ARCH_MASK to
+ extract architecture mask. Treat the default case as ColdFire.
+
+ binutils/
+ * readelf.c (get_machine_flags): Treat the default case as
+ ColdFire.
+
2006-11-28 Kazu Hirata <kazu@codesourcery.com>
bfd/
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index f1a47c44a39..4b23d5302a7 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -445,9 +445,7 @@ elf32_m68k_object_p (bfd *abfd)
features |= m68000;
else if ((eflags & EF_M68K_ARCH_MASK) == EF_M68K_CPU32)
features |= cpu32;
- else if (((eflags & EF_M68K_ARCH_MASK) == 0
- && (eflags & EF_M68K_CF_ISA_MASK) != 0)
- || (eflags & EF_M68K_ARCH_MASK) == EF_M68K_CFV4E)
+ else
{
switch (eflags & EF_M68K_CF_ISA_MASK)
{
@@ -532,8 +530,17 @@ elf32_m68k_merge_private_bfd_data (ibfd, obfd)
else
{
out_flags = elf_elfheader (obfd)->e_flags;
- in_isa = (in_flags & EF_M68K_CF_ISA_MASK);
- out_isa = (out_flags & EF_M68K_CF_ISA_MASK);
+ unsigned int variant_mask;
+
+ if ((in_flags & EF_M68K_ARCH_MASK) == EF_M68K_M68000)
+ variant_mask = 0;
+ else if ((in_flags & EF_M68K_ARCH_MASK) == EF_M68K_CPU32)
+ variant_mask = 0;
+ else
+ variant_mask = EF_M68K_CF_ISA_MASK;
+
+ in_isa = (in_flags & variant_mask);
+ out_isa = (out_flags & variant_mask);
if (in_isa > out_isa)
out_flags ^= in_isa ^ out_isa;
out_flags |= in_flags ^ in_isa;
@@ -566,9 +573,7 @@ elf32_m68k_print_private_bfd_data (abfd, ptr)
fprintf (file, " [m68000]");
else if ((eflags & EF_M68K_ARCH_MASK) == EF_M68K_CPU32)
fprintf (file, " [cpu32]");
- else if (((eflags & EF_M68K_ARCH_MASK) == 0
- && (eflags & EF_M68K_CF_ISA_MASK) != 0)
- || (eflags & EF_M68K_ARCH_MASK) == EF_M68K_CFV4E)
+ else
{
if ((eflags & EF_M68K_ARCH_MASK) == EF_M68K_CFV4E)
fprintf (file, " [cfv4e]");