public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* frameless functions
@ 2003-03-04 15:46 Jan Hoogerbrugge
  2003-03-04 17:58 ` Andrew Cagney
  0 siblings, 1 reply; 2+ messages in thread
From: Jan Hoogerbrugge @ 2003-03-04 15:46 UTC (permalink / raw)
  To: gdb

Hi,

I porting gdb to a new target. The port is now in a stage where stack traces 
seem to work when code is compiled with a frame pointer. Now I am trying to 
get it working for code without a frame pointer. Could anyone tell me how to 
deal with frameless functions? Is there another port where I can learn from?

My compiler assigns the incoming sp to the fp. I guess this is what most 
compilers do.

In scan_prologue() I use fi->frame, which appears to correspond to the fp, 
to determine where registers are saved. What to do in the case of frameless 
functions? Should I assign something to fi->frame?

Should I define frameless_function_invocation()?

Thanks in advance,
Jan





_________________________________________________________________
STOP MORE SPAM with the new MSN 8 and get 2 months FREE* 
http://join.msn.com/?page=features/junkmail

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: frameless functions
  2003-03-04 15:46 frameless functions Jan Hoogerbrugge
@ 2003-03-04 17:58 ` Andrew Cagney
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Cagney @ 2003-03-04 17:58 UTC (permalink / raw)
  To: Jan Hoogerbrugge; +Cc: gdb

> Hi,
> 
> I porting gdb to a new target. The port is now in a stage where stack traces seem to work when code is compiled with a frame pointer. Now I am trying to get it working for code without a frame pointer. Could anyone tell me how to deal with frameless functions? Is there another port where I can learn from?
> 
> My compiler assigns the incoming sp to the fp. I guess this is what most compilers do.
> 
> In scan_prologue() I use fi->frame, which appears to correspond to the fp, to determine where registers are saved. What to do in the case of frameless functions? Should I assign something to fi->frame?
> 
> Should I define frameless_function_invocation()?

I'd ignore that method, it doesn't do much useful.  You'll need to do at 
least a minimal prologue analysis to determine the address of the 
frameless frames `base'.  You need to do this anyway to determine where 
any pushed registers are.

As an alternative, your architecure might have debug info that lets you 
locate the frame base.

I should also note that the frame code is being rewritten so when it 
comes to integrate your architecture into GDB, you're going to encounter 
some radical change.

Andrew


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-03-04 17:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-04 15:46 frameless functions Jan Hoogerbrugge
2003-03-04 17:58 ` Andrew Cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).