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_frame
Mark current function as signal trampoline.
.cfi_window_save
SPARC 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.