[testsuite & dwarf2] How to handle store.exp failure on AMD64?
Andrew Cagney
ac131313@redhat.com
Thu Aug 7 14:58:00 GMT 2003
> 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.
- 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.
Andrew
PS: My TODO list includes start a, er GCC vs GDB flame war about -O levels.
PPS: This is just the start. Higher optimization levels mean that GCC
will need to generate debug info describing how to recover eliminated
variables.
More information about the Gdb
mailing list