From: Andrew Cagney <ac131313@redhat.com>
To: Daniel Jacobowitz <drow@mvista.com>
Cc: gdb <gdb@sources.redhat.com>
Subject: Re: [testsuite & dwarf2] How to handle store.exp failure on AMD64?
Date: Thu, 07 Aug 2003 15:53:00 -0000 [thread overview]
Message-ID: <3F3275EC.3000702@redhat.com> (raw)
In-Reply-To: <20030807150201.GA29511@nevyn.them.org>
> On Thu, Aug 07, 2003 at 10:58:48AM -0400, Andrew Cagney wrote:
>
>> >On Thu, Aug 07, 2003 at 10:49:59AM +0200, Michal Ludvig wrote:
>> >
>
>> >>4) let GDB pretend that all registers have the same value unless said
>> >>otherwise later in the .debug_frame and convince GCC to put a note when
>> >>their value is overwritten.
>> >>
>> >>Opinions?
>
>> >
>> >
>> >See the archives of this list, from about a month ago. I discussed
>> >this with Richard but never got around to writing a patch.
>
>>
>> And I forgot to commented on the thread also :-(
>>
>> There are several bugs:
>>
>> - An architecture should mark a limited set of registers as, for want of
>> a better phrase, `always unwind'. System registers, for instance, would
>> fall into that category. No preserve registers, however, are a more
>> interesting problem.
>>
>> - GCC should be generate, and GDB should consume, more complete
>> variable location information. If a variable isn't preserved across a
>> function call then GCC/GDB should report the variable as being unavailable.
>
>
> I'm not talking about variable location information. I'm talking about
> register unwind information; and Richard's claim that the default
> should be unmodified makes sense in the context of unwinding.
>
> Variable locations are a different problem. A serious one, maybe, but
> unrelated.
Ah, relax, no need to rush the reply. To expand my first point:
Registers outside of the ABI should probably always be unwound. ABI
registers, though, split into callee preserved and scratch. If GCC
provides no information on each of these classes then what assumptions
can and should GDB make? Does GCC even generate CFI info for
no-preserve registers -> forcing GDB to assume that the are not
preserved? Can GDB point at the dwarf2 spec and justify any assumption
it makes?
For this specific ABI and problem, did GCC put the value in a preserved
regiter ...
>> - GCC -O0 should should not eliminate variables, and should preserve all
>> variables across function calls.
>>
>> Given that is compiled with -O0, I think GCC is failing on count #3 here.
or a scratch register?
Andrew
next prev parent reply other threads:[~2003-08-07 15:53 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-07 8:49 Michal Ludvig
2003-08-07 13:50 ` Daniel Jacobowitz
2003-08-07 14:58 ` Andrew Cagney
2003-08-07 15:02 ` Daniel Jacobowitz
2003-08-07 15:53 ` Andrew Cagney [this message]
2003-08-07 21:40 ` Michal Ludvig
2003-08-13 3:54 ` Andrew Cagney
2003-08-13 4:54 ` Richard Henderson
2003-08-13 14:39 ` Andrew Cagney
2003-08-13 16:50 ` Richard Henderson
2003-08-13 18:23 ` Andrew Cagney
2003-08-13 23:35 ` Richard Henderson
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=3F3275EC.3000702@redhat.com \
--to=ac131313@redhat.com \
--cc=drow@mvista.com \
--cc=gdb@sources.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