* cpu-m32c.c (m32c_scan): New function. Ensures that a scan for
authorNick Clifton <nickc@redhat.com>
Wed, 13 Jan 2010 14:34:13 +0000 (14:34 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 13 Jan 2010 14:34:13 +0000 (14:34 +0000)
        "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.

bfd/ChangeLog
bfd/cpu-m32c.c

index 06bbc5b7e82c7b55ceff04f740252f6958a23af3..e8cadfb975dec64999f19d9ea6185054e020284f 100644 (file)
@@ -1,3 +1,11 @@
+2010-01-13  Nick Clifton  <nickc@redhat.com>
+
+       * 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.
+
 2010-01-13  Tristan Gingold  <gingold@adacore.com>
 
        * config.bfd: Remove duplicated target vector for i386-*-darwin.
index aa2e28d93110dbb7e0539f475270caaa6d1b6a77..d2f9cb17b48bf08615eb5286e132f047eaa6f4a0 100644 (file)
 #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.  */
 };