hide random home http://www.fmi.uni-passau.de/archive/doc/unix/gdbint/gdbint_14.html (Einblicke ins Internet, 10/1995)

GDB Internals - Frames

Go to the previous, next section.

Frames

A frame is a construct that GDB uses to keep track of calling and called functions.

FRAME_FP
in the machine description has no meaning to the machine-independent part of GDB, except that it is used when setting up a new frame from scratch, as follows:

      create_new_frame (read_register (FP_REGNUM), read_pc ()));

Other than that, all the meaning imparted to FP_REGNUM is imparted by the machine-dependent code. So, FP_REGNUM can have any value that is convenient for the code that creates new frames. (create_new_frame calls INIT_EXTRA_FRAME_INFO if it is defined; that is where you should use the FP_REGNUM value, if your frames are nonstandard.)

FRAME_CHAIN
Given a GDB frame, determine the address of the calling function's frame. This will be used to create a new GDB frame struct, and then INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame.

Go to the previous, next section.