summaryrefslogtreecommitdiff
path: root/bfd/cpu-m32c.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2010-01-13 14:34:13 +0000
committerNick Clifton <nickc@redhat.com>2010-01-13 14:34:13 +0000
commit91b9a4a49bdd97dcf8ade3b3819f37646e0806d1 (patch)
treeb31ee1fc4ff05fbc1aa07423e8dd0dbdfe16147c /bfd/cpu-m32c.c
parent52b010e4424ced5700579389375a536b614f8b19 (diff)
downloadbinutils-gdb-91b9a4a49bdd97dcf8ade3b3819f37646e0806d1.tar.gz
* cpu-m32c.c (m32c_scan): New function. Ensures that a scan for
"m32c" returns the m32c arch_info_struct and not the m16c arch_info_struct. (arch_info_struct): Use the new scan function. (bfd_m32c_arch): Likewise.
Diffstat (limited to 'bfd/cpu-m32c.c')
-rw-r--r--bfd/cpu-m32c.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/bfd/cpu-m32c.c b/bfd/cpu-m32c.c
index aa2e28d9311..d2f9cb17b48 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. */
};