CRIS port; frame cleanup crash
Orjan Friberg
orjan.friberg@axis.com
Sun Feb 15 17:41:00 GMT 2004
Andrew Cagney wrote:
>
> This frame (the caller) calls next frame (the callee). As part of that
> the callers resume addresses ends up in the callee's return-address
> register. The callee (next) then saves the return-address register on
> the stack. Hence to get the callers (this) PC, it needs to be dug out
> of the callers (next) frame's stack. Anyway, sounds like you've got it
> right.
Thanks a lot for the clarification. I think I'm less confused now.
> Also "advance.exp", in particular the sequence:
>
> ./gdb advance
> (gdb) break func
> (gdb) run
> (gdb) advance func3
> --- should break in main and not func3
>
> is a good check of the frame ID.
Thanks for the tip. Running advance.exp results in all PASS. (When
issuing the command sequence above manually on the CRIS target and
comparing with my Linux host, I end up at different locations in main
(at marker1() and func (c), respectively), but advance.exp seems to
indicate that either is ok.) So, at least it's not completely broken.
I'll get to callfuncs.exp next for the dummy frames implementation.
Thanks,
Orjan
--
Orjan Friberg
Axis Communications
More information about the Gdb-patches
mailing list