This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: View registers from stack frames
>>It is better in so far as the pc did change from frame 0 to frame 1.
>>But now reading the whole call stack is messed up. Funny though
>>that only the pc stays the same, other values do change.
>
>That's a separate bug - the new frame unwind code is running into trouble. I'd check a current gdb (:-/), and if no luck, post more details here - KevinB is the PPC maintainer.
I just tried with gdb-6.2.1 but it has the same errors in the unwinding.
Here is a bt with gdb-6.2.1 of the halted thread:
GNU gdb 6.2.1
--snip--
This GDB was configured as "--host=i686-pc-cygwin --target=powerpc-eabi"...
(gdb) bt
#0 CMyWorkerTask::Test (this=0x1815d4, str=@0x18d734)
at N:\Temp\SAMCLASS\Applicat\Src\Test1.cpp:456
#1 0x00060564 in CMyWorkerTask::Test (this=0x1815d4, str=@0x18d734)
at N:\Temp\SAMCLASS\Applicat\Src\Test1.cpp:469
#2 0x00060564 in CMyWorkerTask::Test (this=0x1815d4, str=@0xa)
at N:\Temp\SAMCLASS\Applicat\Src\Test1.cpp:469
#3 0x00060564 in CMyWorkerTask::Test (this=0x1815d4, str=@0x0)
at N:\Temp\SAMCLASS\Applicat\Src\Test1.cpp:469
#4 0x00060564 in CMyWorkerTask::Test (this=0x1815d4, str=@0x64646464)
at N:\Temp\SAMCLASS\Applicat\Src\Test1.cpp:469
#5 0x00060564 in CMyWorkerTask::Test (this=0x1815d4, str=@0x32414000)
at N:\Temp\SAMCLASS\Applicat\Src\Test1.cpp:469
Previous frame inner to this frame (corrupt stack?)
Here is a bt of the same target with gdb-6.1.1 (last working gdb):
GNU gdb 6.1.1
--snip--
This GDB was configured as "--host=i686-pc-cygwin --target=powerpc-eabi"..
(gdb) bt
#0 CMyWorkerTask::Test (this=0x1815d4, str=@0x18d734)
at N:\Temp\SAMCLASS\Applicat\Src\Test1.cpp:456
#1 0x00060564 in CMyWorkerTask::Test (this=0x1815d4, str=@0x18d734)
at N:\Temp\SAMCLASS\Applicat\Src\Test1.cpp:469
#2 0x00060408 in CMyWorkerTask::Action (this=0x1815d4)
at N:\Temp\SAMCLASS\Applicat\Src\Test1.cpp:433
#3 0x0008c8a8 in CINOSTask::MainLoop (this=0x1815d4)
at N:\Temp\SAMCLASS\os\inos\Src\Inos.cpp:823
#4 0x0008c6bc in CINOSTask::CINOSTask (this=0x1815d4,
aName=0x64646464 "|ù\022", aStackSize=1684300900, aPriority=1684300900,
aFloatingPoint=1684300900, aTimeSlice=1684300900,
aInterruptsDisabled=1684300900, apHandler=0x64646464, apObject=0x132fb8)
at N:\Temp\SAMCLASS\os\inos\Src\Inos.cpp:786
#5 0x32414000 in ?? ()
(It's possible that frames 4 and 5 have wrong data as the start of
our call stack is maybe not properly initialized. 0x64646464 is
our pattern of uninitialized memory.)
The first two frames seem ok, only frame 3 and more are wrong.
If more info is needed (e.g. the remote debug protocol) I can also
post it here or send to anyone.
Well, that only leaves me with the cvs version...
Thanks
bye Fabi