summaryrefslogtreecommitdiff
path: root/bfd/cpu-m32c.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2010-01-13 14:34:12 +0000
committerNick Clifton <nickc@redhat.com>2010-01-13 14:34:12 +0000
commit67aa7cfc850ad152f77eb9ea316e9dea57b15d92 (patch)
treebf280bb1ca59ee12ad0a1f6b76791e3a2ee226d4 /bfd/cpu-m32c.c
parentf186dc8dad3e5fb2a70ba501bf4e67f21a3046e1 (diff)
downloadbinutils-redhat-67aa7cfc850ad152f77eb9ea316e9dea57b15d92.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 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. */
};