From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Patrick O'Grady" To: Bob Koninckx Cc: ecos-discuss@sourceware.cygnus.com Subject: Re: [ECOS] GDB's stack trace. Date: Fri, 21 Jan 2000 09:58:00 -0000 Message-id: References: <388824D9.1315F7C7@mech.kuleuven.ac.be> X-SW-Source: 2000-01/msg00058.html Hi, Bob-- Your suggestion worked great: I modified the function which initialized the stack to include a few extra 0's at the top of the stack... now the stack traces come out perfectly. Thanks for your advice! -patrick On Fri, 21 Jan 2000, Bob Koninckx wrote: > Patrick O'Grady wrote: > > > > Hi, all-- > > > > Does anyone out there know what tells GDB that it's at the top of the > > stack during a back-trace? Whenever I 'bt' a stopped thread, I get > > legtimate stack data followed by a bunch of junk... somehow GDB gets told > > when the stack ends--anyone know how this is done? Thanks in advance.. > > > > -patrick > > patrick@softprocess.com > If I am not mistaking, GDB decides that it reached the top of the stack > as soon as it sees a "terminating stack record", that is, a stack record > that has no valid (0x0000000) backchain and return address anymore. > > Are you sure that the stack is correctly initialised before entering the > new thread ?? I suppose that a terminating stack record must be present > before the call to the thread entry point. This way, the entry will be > seen as the last call on that stack. > > Hope this helps, > > Bob > -- > ----------------------------------------------------------------------- > ir. Bob Koninckx > Katholieke Universiteit Leuven > Division Production Engineering, tel. +32 16 322535 > Machine Design and Automation fax. +32 16 322987 > Celestijnenlaan 300B bob.koninckx@mech.kuleuven.ac.be > B-3001 Leuven Belgium > http://www.mech.kuleuven.ac.be/pma.html > ----------------------------------------------------------------------- >