From: Andrew Cagney <ac131313@cygnus.com>
To: Joern Rennecke <joern.rennecke@st.com>
Cc: ezannoni@redhat.com, binutils@sources.redhat.com,
aoliva@redhat.com, gcc@gcc.gnu.org, gdb@sources.redhat.com,
bje@redhat.com
Subject: Re: SH5 compact register numbering in gcc -> gdb interface - include/elf/sh.h ?
Date: Fri, 10 May 2002 07:33:00 -0000 [thread overview]
Message-ID: <3CDBDA38.3080108@cygnus.com> (raw)
In-Reply-To: <3CDB9C75.27044AE@st.com>
> + enum
>> > + {
>> > + SH_DEBUG_INFO_R0 = 0,
>> > + SH_DEBUG_INFO_PR = 17,
>> > + SH_DEBUG_INFO_GBR = 18,
>> > + SH_DEBUG_INFO_MACH_BIG = 20, SH_DEBUG_INFO_MACL, SH_DEBUG_INFO_MACH_LITTLE,
>>
>> This will break gdb. Register 22 ir SR. What are these registers?
>
>
> gcc does not emit debug information for SR - if it was encountered in
> DBX_REGISTER_NUMBER, the compiler would abort. So we don't actually have a
> number
> allocated in the interface right now, and if we need one, we are free to choose
> any.
>
>
>> Doesn't SH have only mach and macl?
>
>
> Yes, it has only mach and macl. But you could hold a 64 bit value in this
> register
> pair, in which case MACH always holds the high part and MACL holds the low part.
> So the idea is to use SH_DEBUG_INFO_MACH_BIG for big endian, and
> SH_DEBUG_INFO_MACH_LITTLE for little endian. This way, it is clear where low
> and high
> part are. both SH_DEBUG_INFO_MACH_BIG and SH_DEBUG_INFO_MACH_LITTLE are then
> mapped
> to gdb's MACH. Note that SH_DEBUG_INFO_MACH_BIG is the old MACH number, and
> SH_DEBUG_INFO_MACL is the old MACL number, so we have full backwards
> compatibility.
> Having both this backwards compatibility and the ability to represent a 64 bit
> value
> in MACH/MACL for little endian was the point of using 22 for
> SH_DEBUG_INFO_MACH_LITTLE.
The correct way to represent a 64 bit value in MACH and MACL is to emit
a location expression indicating that the value is split across the
MACL/MACH registers. GDB currently only handles the simple case of this
(but hey that is just a bug). If GCC can't emit this info correctly in
all cases then I guess GCC also has a bug and that bug also needs to be
fixed.
enjoy,
Andrew
next prev parent reply other threads:[~2002-05-10 14:33 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-30 10:48 SH5 compact register numbering in gcc -> gdb interface Joern Rennecke
2002-04-30 12:11 ` Joern Rennecke
2002-05-01 17:55 ` Elena Zannoni
2002-05-02 3:13 ` Joern Rennecke
2002-05-01 17:52 ` Elena Zannoni
2002-05-02 5:06 ` Joern Rennecke
2002-05-03 9:06 ` gdb/sh-tdep.c: need to eliminate target-dependent static variables Joern Rennecke
2002-05-03 22:21 ` SH5 compact register numbering in gcc -> gdb interface Alexandre Oliva
2002-05-07 7:57 ` Joern Rennecke
2002-05-07 9:41 ` Andrew Cagney
2002-05-07 12:00 ` Joern Rennecke
2002-05-07 12:04 ` Elena Zannoni
2002-05-07 15:13 ` Andrew Cagney
2002-05-09 14:43 ` SH5 compact register numbering in gcc -> gdb interface - include/elf/sh.h ? Joern Rennecke
2002-05-09 15:33 ` Elena Zannoni
2002-05-09 16:50 ` Andrew Cagney
2002-05-10 6:55 ` Joern Rennecke
2002-05-10 7:40 ` Andrew Cagney
2002-05-10 7:49 ` Joern Rennecke
2002-05-10 7:03 ` SH simulator register numbers: include/gdb/sim-sh.h Joern Rennecke
2002-06-11 10:19 ` Unreviewed patch: add include/gdb/sim-sh.h (Was: Re: SH simulator register numbers: include/gdb/sim-sh.h) Joern Rennecke
2002-06-11 14:53 ` Elena Zannoni
2002-05-10 3:09 ` SH5 compact register numbering in gcc -> gdb interface - include/elf/sh.h ? Joern Rennecke
2002-05-10 7:33 ` Andrew Cagney [this message]
2002-05-10 7:46 ` Joern Rennecke
2002-05-10 3:25 ` Joern Rennecke
2002-05-07 12:03 ` SH5 compact register numbering in gcc -> gdb interface Joern Rennecke
2002-05-09 21:54 ` Alexandre Oliva
2002-05-08 0:14 ` DWARFx ? .debug sections infos phi 4369
2002-05-08 1:36 ` Lars Brinkhoff
2002-05-08 1:53 ` phi 4369
2002-05-08 6:35 ` Petr Sorfa
2002-05-07 10:13 ` SH5 compact register numbering in gcc -> gdb interface Andrew Cagney
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=3CDBDA38.3080108@cygnus.com \
--to=ac131313@cygnus.com \
--cc=aoliva@redhat.com \
--cc=binutils@sources.redhat.com \
--cc=bje@redhat.com \
--cc=ezannoni@redhat.com \
--cc=gcc@gcc.gnu.org \
--cc=gdb@sources.redhat.com \
--cc=joern.rennecke@st.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