Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
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.  */
 };

  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