[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