From: Masaki Muranaka <monaka@monami-software.com>
To: Masaki Muranaka <monaka@monami-software.com>
Cc: Nick Clifton <nickc@redhat.com>,
Daniel Jacobowitz <drow@false.org>,
gdb-patches@sourceware.org, binutils@sourceware.org
Subject: [patch] Re: Can't set architecture to m32c on m32c-elf-gdb.
Date: Wed, 06 Jan 2010 08:18:00 -0000 [thread overview]
Message-ID: <1515B7CA-B0B2-491A-8C74-E959C381C072@monami-software.com> (raw)
In-Reply-To: <21F11493-3DE3-41FA-97D5-B539B54259A2@monami-software.com>
[-- Attachment #1: Type: text/plain, Size: 2332 bytes --]
Hello maintainers,
This is another plan to fix the issue.
I think it is better than in the past because it is similar to cpu-arm.c.
I attach the patch. I made sure If this issue is fixed by my patch.
- - -
This GDB was configured as "--host=x86_64-apple-darwin10.2.0 --target=m32c-elf".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
(gdb) show architecture
The target architecture is set automatically (currently m16c)
(gdb) print $dma0
$1 = void
(gdb) set architecture m32c
The target architecture is assumed to be m32c
(gdb) print $dma0
No registers.
(gdb) set architecture m16c
The target architecture is assumed to be m16c
(gdb) print $dma0
$2 = void
(gdb)
- - -
ChangeLog:
2010-01-05 Masaki Muranaka <monaka@monami-software.com>
* cpu-m32c.c (scan): New function.
(arch_info_struct): Use scan() instead of bfd_default_scan().
(bfd_m32c_arch): Ditto.
On 2010/01/03, at 9:00, Masaki Muranaka wrote:
> Hello Nick,
>
> Really did you try them? Here is a log of my GDB.
>
> (gdb) show architecture
> The target architecture is set automatically (currently m16c)
> (gdb) set architecture m32c:m32c
> Undefined item: "m32c:m32c".
> (gdb) set architecture m32c:m16c
> Undefined item: "m32c:m16c".
>
> I got their sources via official git repository.
>
> Thanks,
>
> On 2009/12/31, at 21:22, Nick Clifton wrote:
>
>> Hi Masaki,
>>
>>> I figured out the reason about this issue.
>>> This is caused by a bug in bfd/cpu-m32c.c.
>>> The condision is like this:
>>> He expects to select arch_info_struct[0] when he puts "set architecture m32c".
>>> But bfd_m32c_arch is selected bfd_default_scan(). So he always gets
>>> configuration for m16c instead of m32c.
>>
>> But as Daniel pointed out, if the user enters the command:
>>
>> set architecture m32c:m32c
>>
>> then the code in bfd_default_scan() will select the m32c architecture and if the user enters:
>>
>> set architecture m32c:m16c
>>
>> then bfd_default_scan() will select the m16c architecture.
>>
>>> I think printable names in bfd/cpu-m32.c should be changed to "m32c:m16c", "m32c:m32c".
>>
>> There is no need for this, and in fact it will stop bfd_default_scan from working as intended.
>>
>> Cheers
>> Nick
>>
>
>
[-- Attachment #2: m32c-set-architecture-fix.patch --]
[-- Type: application/octet-stream, Size: 1453 bytes --]
diff --git a/bfd/cpu-m32c.c b/bfd/cpu-m32c.c
index aa2e28d..dde8c61 100644
--- a/bfd/cpu-m32c.c
+++ b/bfd/cpu-m32c.c
@@ -1,5 +1,5 @@
/* BFD support for the M16C/M32C processors.
- Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -22,6 +22,16 @@
#include "bfd.h"
#include "libbfd.h"
+static bfd_boolean
+scan (const struct bfd_arch_info *info, const char *string)
+{
+ /* First test for an exact match. */
+ if (strcasecmp (string, info->printable_name) == 0)
+ return TRUE;
+
+ return FALSE;
+}
+
static const bfd_arch_info_type arch_info_struct[] =
{
{
@@ -35,7 +45,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 */
+ scan, /* string to architecture convert fn */
NULL /* next in list */
},
};
@@ -52,6 +62,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. */
+ scan, /* String to architecture convert fn. */
&arch_info_struct[0], /* Next in list. */
};
next prev parent reply other threads:[~2010-01-06 8:18 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-03 9:17 Masaki Muranaka
2008-12-03 14:08 ` Daniel Jacobowitz
2008-12-04 1:04 ` Masaki Muranaka
2008-12-04 4:27 ` Daniel Jacobowitz
2008-12-04 6:48 ` Masaki Muranaka
2008-12-04 13:13 ` Daniel Jacobowitz
2008-12-04 14:22 ` Pedro Alves
2008-12-05 0:29 ` Masaki Muranaka
2009-12-28 2:32 ` Masaki Muranaka
2009-12-31 12:22 ` Nick Clifton
2010-01-03 0:00 ` Masaki Muranaka
2010-01-06 8:18 ` Masaki Muranaka [this message]
2010-01-06 15:17 ` Nick Clifton
2010-01-06 23:24 ` Masaki Muranaka
2010-01-07 15:54 ` Nick Clifton
2010-01-07 22:38 ` Masaki Muranaka
2010-01-07 22:45 ` DJ Delorie
2010-01-08 0:02 ` Masaki Muranaka
2010-01-08 0:07 ` DJ Delorie
2010-01-08 0:45 ` Masaki Muranaka
2010-01-08 11:40 ` Nick Clifton
2010-01-12 0:04 ` Masaki Muranaka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1515B7CA-B0B2-491A-8C74-E959C381C072@monami-software.com \
--to=monaka@monami-software.com \
--cc=binutils@sourceware.org \
--cc=drow@false.org \
--cc=gdb-patches@sourceware.org \
--cc=nickc@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox