Next: Data, Previous: Comm, Up: Pseudo Ops
.cfi_startproc.cfi_startproc is used at the beginning of each function that
should have an entry in .eh_frame. It initializes some internal
data structures and emits architecture dependent initial CFI instructions.
Don't forget to close the function by
.cfi_endproc.
.cfi_endproc.cfi_endproc is used at the end of a function where it closes its
unwind entry previously opened by
.cfi_startproc. and emits it to .eh_frame.
.cfi_def_cfa register, offset.cfi_def_cfa defines a rule for computing CFA as: take
address from register and add offset to it.
.cfi_def_cfa_register register.cfi_def_cfa_register modifies a rule for computing CFA. From
now on register will be used instead of the old one. Offset
remains the same.
.cfi_def_cfa_offset offset.cfi_def_cfa_offset modifies a rule for computing CFA. Register
remains the same, but offset is new. Note that it is the
absolute offset that will be added to a defined register to compute
CFA address.
.cfi_adjust_cfa_offset offsetSame as .cfi_def_cfa_offset but offset is a relative
value that is added/substracted from the previous offset.
.cfi_offset register, offsetPrevious value of register is saved at offset offset from CFA.
.cfi_rel_offset register, offsetPrevious value of register is saved at offset offset from
the current CFA register. This is transformed to .cfi_offset
using the known displacement of the CFA register from the CFA.
This is often easier to use, because the number will match the
code it's annotating.
.cfi_signal_frameMark current function as signal trampoline.
.cfi_window_saveSPARC register window has been saved.
.cfi_escape expression[, ...]Allows the user to add arbitrary bytes to the unwind info. One might use this to add OS-specific CFI opcodes, or generic CFI opcodes that GAS does not yet support.