Node: Frame Directive, Previous: Freeregs Directive, Up: Xtensa Directives



frame

This directive tells the assembler to emit information to allow the debugger to locate a function's stack frame. The syntax is:

         .frame reg, size
     

where reg is the register used to hold the frame pointer (usually the same as the stack pointer) and size is the size in bytes of the stack frame. The .frame directive is typically placed immediately after the ENTRY instruction for a function.

In almost all circumstances, this information just duplicates the information given in the function's ENTRY instruction; however, there are two cases where this is not true:

  1. The size of the stack frame is too big to fit in the immediate field of the ENTRY instruction.
  2. The frame pointer is different than the stack pointer, as with functions that call alloca.