diff options
Diffstat (limited to 'bfd/cpu-m32c.c')
-rw-r--r-- | bfd/cpu-m32c.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/bfd/cpu-m32c.c b/bfd/cpu-m32c.c index aa2e28d931..d2f9cb17b4 100644 --- a/bfd/cpu-m32c.c +++ b/bfd/cpu-m32c.c @@ -22,6 +22,19 @@ #include "bfd.h" #include "libbfd.h" +/* Like bfd_default_scan but if the string is just "m32c" then + skip the m16c architecture. */ + +static bfd_boolean +m32c_scan (const bfd_arch_info_type * info, const char * string) +{ + if (strcmp (string, "m32c") == 0 + && info->mach == bfd_mach_m16c) + return FALSE; + + return bfd_default_scan (info, string); +} + static const bfd_arch_info_type arch_info_struct[] = { { @@ -35,7 +48,7 @@ static const bfd_arch_info_type arch_info_struct[] = 3, /* section align power */ FALSE, /* the default ? */ bfd_default_compatible, /* architecture comparison fn */ - bfd_default_scan, /* string to architecture convert fn */ + m32c_scan, /* string to architecture convert fn */ NULL /* next in list */ }, }; @@ -52,6 +65,6 @@ const bfd_arch_info_type bfd_m32c_arch = 4, /* Section align power. */ TRUE, /* The default ? */ bfd_default_compatible, /* Architecture comparison fn. */ - bfd_default_scan, /* String to architecture convert fn. */ + m32c_scan, /* String to architecture convert fn. */ &arch_info_struct[0], /* Next in list. */ }; |