aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-m68k.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elf32-m68k.c')
-rw-r--r--bfd/elf32-m68k.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index 81a9225..1c04a69 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -432,7 +432,14 @@ elf32_m68k_object_p (bfd *abfd)
if ((eflags & EF_M68K_ARCH_MASK) == EF_M68K_M68000)
features |= m68000;
else if ((eflags & EF_M68K_ARCH_MASK) == EF_M68K_CPU32)
- features |= cpu32;
+ {
+ features |= cpu32;
+ switch (eflags & EF_M68K_CPU32_MASK)
+ {
+ case EF_M68K_CPU32_FIDO_A:
+ features |= fido_a; break;
+ }
+ }
else
{
switch (eflags & EF_M68K_CF_ISA_MASK)
@@ -523,7 +530,7 @@ elf32_m68k_merge_private_bfd_data (ibfd, obfd)
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;
+ variant_mask = EF_M68K_CPU32_MASK;
else
variant_mask = EF_M68K_CF_ISA_MASK;
@@ -560,7 +567,11 @@ elf32_m68k_print_private_bfd_data (abfd, ptr)
if ((eflags & EF_M68K_ARCH_MASK) == EF_M68K_M68000)
fprintf (file, " [m68000]");
else if ((eflags & EF_M68K_ARCH_MASK) == EF_M68K_CPU32)
- fprintf (file, " [cpu32]");
+ {
+ fprintf (file, " [cpu32]");
+ if (eflags & EF_M68K_CPU32_FIDO_A)
+ fprintf (file, " [fido]");
+ }
else
{
if ((eflags & EF_M68K_ARCH_MASK) == EF_M68K_CFV4E)