This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [testsuite & dwarf2] How to handle store.exp failure on AMD64?


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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]