This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: frameless functions


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]