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