public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Steven Johnson <sbjohnson@ozemail.com.au>
To: gdb@sourceware.cygnus.com
Subject: CVS GDB and Register Numbers and Remote Protocol.
Date: Wed, 04 Oct 2000 04:00:00 -0000	[thread overview]
Message-ID: <39DB0CDB.6523ADE6@ozemail.com.au> (raw)
In-Reply-To: <14810.35704.744724.716669@kwikemart.cygnus.com>

I am using a very recent version of GDB from CVS (only a couple of days
old).

I Have a strange thing happening with register numbers and my remote
target (A
Motorola PowerPC MPC860 board). The problem is that
the offsets needed for the response to the 'g' request to read all
registers
are not the same as those sent in the 'P' packet to
change them. This is really bad and confusing. It makes the stub a mess
trying
to cope with it. What I have traced it to is:

The response to 'g' needs to have the registers reported in the same
order as
info all-registers. No Problem.

But the 'P' packet sends the register number as the offset of the
register in
the table registers_860. This Normally would be fine,
but there are lots of spurious registers in this table for the mpc860,
and some
of them do not show in the info all-registers
display. The Prime culprits being PPC_UISA_SPRS where there is a reg
placeholder R0 at the end of the entry which is a non existent
register and is never shown. (This offsets all following registers by 1)
and
then there is PPC_OEA_SPRS with R64(asr) which is not
present on 32 bit architectures. which again offsets all following
registers by
1. So if you were to look at info registers you
would see that $der is register number 125, but the 'P' packet writes to
register number 127 which is $countb (according to info
all-registers).

If i put these extra un-defined registers in the 'g' response then
info-registers no longer shows the correct information, shifiting
all data down by 1 after each of these. (But the 'P' packet now has the
right
numbers).

What do I do. This seems very messy. Further, the way the registers are
defined
for the MPC860, there are 75 unimplemented registers
defined in the registers_860 structure (32 floating point registers and
43undefined SPR's). Thats 44% of unuseful crap declared.

Would anyone have any objections to me culling the 74 useless
definitions from
this structure. This would be the most immediate fix,
Im not sure what should be correct behaviour for a stub thugh. What is
being
handled incorrectly by GDB, 'g' or 'P'? I have no
problems effecting a fix, but there are 2 ways it could be achieved.

Thoughts Anyone?

Steven Johnson

      reply	other threads:[~2000-10-04  4:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-10-02 10:04 Problem with 2000-05-05 elfread.c change Peter.Schauer
2000-10-02 19:01 ` Elena Zannoni
2000-10-03  5:06   ` Peter.Schauer
2000-10-03 18:44     ` Elena Zannoni
2000-10-04  4:00       ` Steven Johnson [this message]

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=39DB0CDB.6523ADE6@ozemail.com.au \
    --to=sbjohnson@ozemail.com.au \
    --cc=gdb@sourceware.cygnus.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).