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] |
On Mon, Jul 11, 2005 at 05:20:55PM +0100, Jonathan Larmour wrote:
The two "global constructors keyed to cyg_scheduler_start" lines are bogus frame entries, although those also happened with GDB 6.1. The "corrupt stack" whinge is new, and is treated as an error, including terminating gdbinit scripts etc.
This is already changed in CVS.
I'd be interested if someone could clarify to me what the termination conditions for a backtrace actually _are_. i.e. as an OS author, how do I initialise a thread context to persuade GDB to stop when it reaches the innermost frame.
In general there's no defined way to do this. If the start routine is written in assembly, take a look at the example I posted earlier this year of using dwarf2 unwind information to terminate a backtrace by marking the return address column as undefined. There's a matching GDB patch, which was committed to HEAD after 6.3.
For compiler-generated code there's really no useful way to do this.
Jifl -- eCosCentric http://www.eCosCentric.com/ The eCos and RedBoot experts --["No sense being pessimistic, it wouldn't work anyway"]-- Opinions==mine
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |