public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Mark Kettenis <kettenis@chello.nl>
To: Michael Elizabeth Chastain <mec@shout.net>
Cc: gdb@sources.redhat.com
Subject: Re: 8-byte register values on a 32-bit machine
Date: Sat, 01 Mar 2003 13:35:00 -0000	[thread overview]
Message-ID: <864r6n5hw2.fsf@elgar.kettenis.dyndns.org> (raw)
In-Reply-To: Michael Elizabeth Chastain's message of "Sun, 23 Feb 2003 20:35:58 -0600"

Michael Elizabeth Chastain <mec@shout.net> writes:

> I saw a regression in gdb.base/store.exp this week:
> 
>   gdb.base/store.exp: new check struct 4
>     PASS -> FAIL
> 
> This happens with gcc 2.95.3 -gdwarf-2.
> 
> This happens because gcc 2.95.3 puts an 8-byte variable into a pair of
> 4-byte registers.  (gcc 3.2.2 puts the variable into memory so the
> problem never arises -- but I bet it will come back for things like
> FORTRAN complex numbers, which are very natural for register pairs).

Please see the thread starting with:

   http://sources.redhat.com/ml/gdb/2003-02/msg00007.html

for a related discussion.

> But I suspect that gcc 2.95.3 tells us about just one register and that
> we can't win.  But gdb can at least say "hmmm, you are trying to print 8
> bytes from reg0, I can't do that", rather than print 4 bytes of correct
> information and 4 bytes of rat poison.  I think that would be acceptable
> support for 2.95.3.

Yup, that's defenitely what it does for stabs, and from looking at the
code, it does it for other debug formats as well (including dwarf-2).
Right now, GDB interprets this as that the variable is stored in
consecutive registers starting at the register number indicated by the
debug info.  I have a strong suspicion that there are several GDB
targets that rely on this behaviour.  However, it isn't working for
the i386 since GCC allocates the registers in an order that's
different from the order that GDB uses.

  reply	other threads:[~2003-03-01 13:35 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-24  2:36 Michael Elizabeth Chastain
2003-03-01 13:35 ` Mark Kettenis [this message]
2003-03-01 20:33   ` Joel Brobecker
2003-03-01 22:38     ` Mark Kettenis
2003-03-01 23:41       ` Andrew Cagney
2003-03-02  0:28         ` Daniel Jacobowitz
2003-03-03 11:26           ` Richard Earnshaw
2003-03-03 11:52             ` Keith Walker
2003-03-01 23:39     ` Andrew Cagney
2003-03-01 20:57 Michael Elizabeth Chastain
2003-03-01 22:46 ` Mark Kettenis
2003-03-02  6:52 Michael Elizabeth Chastain
2003-03-02  9:35 ` Stephane Carrez
2003-03-03  4:50   ` Daniel Jacobowitz
2003-03-02 16:59 Michael Elizabeth Chastain
2003-03-12 15:35 ` Andrew Cagney
2003-03-12 15:51   ` Daniel Jacobowitz
2003-03-12 16:57     ` Andrew Cagney
2003-03-12 17:01       ` Daniel Jacobowitz
2003-03-12 18:15         ` Andrew Cagney
2003-03-12 18:29     ` Andrew Cagney
2003-03-12 18:35       ` Daniel Jacobowitz
2003-03-12 18:38         ` Andrew Cagney
2003-03-12 18:48         ` Paul Koning
2003-03-12 19:00           ` Daniel Jacobowitz
2003-03-12 21:04             ` Andrew Cagney
2003-03-12 20:06               ` Daniel Jacobowitz
2003-03-12 19:09 Michael Elizabeth Chastain
2003-03-12 20:47 ` Andrew Cagney
2003-03-13  4:18 Michael Elizabeth Chastain
2003-03-13 17:05 ` Andrew Cagney
2003-03-14 16:27 Michael Elizabeth Chastain

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=864r6n5hw2.fsf@elgar.kettenis.dyndns.org \
    --to=kettenis@chello.nl \
    --cc=gdb@sources.redhat.com \
    --cc=mec@shout.net \
    /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).