This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Committed: M32C: Fix scan for m32c architecture
- From: Nick Clifton <nickc at redhat dot com>
- To: binutils at sourceware dot org
- Date: Wed, 13 Jan 2010 14:33:53 +0000
- Subject: Committed: M32C: Fix scan for m32c architecture
Hi Guys,
I am applying the patch below to fix the M32C port so that a scan for
the "m32c" architecture (eg by running 'set architecture m32c' in gdb)
will return the m32c architecture and not the m16c architecture.
Cheers
Nick
bfd/ChangeLog
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.
Index: bfd/cpu-m32c.c
===================================================================
RCS file: /cvs/src/src/bfd/cpu-m32c.c,v
retrieving revision 1.4
diff -c -3 -p -r1.4 cpu-m32c.c
*** bfd/cpu-m32c.c 2 Sep 2009 07:18:36 -0000 1.4
--- bfd/cpu-m32c.c 13 Jan 2010 14:31:33 -0000
***************
*** 22,27 ****
--- 22,40 ----
#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[] =
{
{
*************** static const bfd_arch_info_type arch_inf
*** 35,41 ****
3, /* section align power */
FALSE, /* the default ? */
bfd_default_compatible, /* architecture comparison fn */
! bfd_default_scan, /* string to architecture convert fn */
NULL /* next in list */
},
};
--- 48,54 ----
3, /* section align power */
FALSE, /* the default ? */
bfd_default_compatible, /* architecture comparison fn */
! m32c_scan, /* string to architecture convert fn */
NULL /* next in list */
},
};
*************** const bfd_arch_info_type bfd_m32c_arch =
*** 52,57 ****
4, /* Section align power. */
TRUE, /* The default ? */
bfd_default_compatible, /* Architecture comparison fn. */
! bfd_default_scan, /* String to architecture convert fn. */
&arch_info_struct[0], /* Next in list. */
};
--- 65,70 ----
4, /* Section align power. */
TRUE, /* The default ? */
bfd_default_compatible, /* Architecture comparison fn. */
! m32c_scan, /* String to architecture convert fn. */
&arch_info_struct[0], /* Next in list. */
};