dwarf_set_frame_cfa_value,
dwarf_set_frame_rule_initial_value,
dwarf_set_frame_rule_table_size,
dwarf_set_frame_same_value,
dwarf_set_frame_undefined_value —
set internal register rule table parameters
DWARF Access Library (libdwarf, -ldwarf)
#include
<libdwarf.h>
Dwarf_Half
dwarf_set_frame_cfa_value(
Dwarf_Debug
dbg,
Dwarf_Half value);
Dwarf_Half
dwarf_set_frame_rule_initial_value(
Dwarf_Debug
dbg,
Dwarf_Half value);
Dwarf_Half
dwarf_set_frame_rule_table_size(
Dwarf_Debug
dbg,
Dwarf_Half value);
Dwarf_Half
dwarf_set_frame_same_value(
Dwarf_Debug
dbg,
Dwarf_Half value);
Dwarf_Half
dwarf_set_frame_undefined_value(
Dwarf_Debug
dbg,
Dwarf_Half value);
These functions set the parameters of the internal register rule table.
Argument
dbg should reference a DWARF debug
context allocated using
dwarf_init(3).
Argument
value should hold the parameter value
to set.
Function
dwarf_set_frame_cfa_value() sets the
column number for the CFA register rule in the internal register rule table.
The constant
DW_FRAME_CFA_COL
is the
default CFA register column number for DWARF2-only interfaces, and the
constant
DW_FRAME_CFA_COL3
is the default
CFA column number for DWARF3-compatible interfaces.
Function
dwarf_set_frame_rule_initial_value() sets
the initial value of the register rules in the internal register rule table.
The default initial value is the constant
DW_FRAME_REG_INITIAL_VALUE
, defined in the
header file
<libdwarf.h>.
Function
dwarf_set_frame_rule_table_size() sets the
maxmium number of columns of the internal register rule table. Argument
value should be at least as large as the
number of real registers in the ABI.
Function
dwarf_set_frame_same_value() sets the
register number representing the “same value” register rule. The
default register number for the “same value” rule is the
constant
DW_FRAME_SAME_VAL
, defined in the
header file
<libdwarf.h>.
Function
dwarf_set_frame_undefined_value() sets the
register number representing the “undefined” register rule. The
default register number for the “undefined” rule is the constant
DW_FRAME_UNDEFINED_VAL
, defined in the
header file
<libdwarf.h>.
These functions return the previous value of the parameter being set.
dwarf(3),
dwarf_get_fde_at_pc(3),
dwarf_get_fde_info_for_all_regs(3),
dwarf_get_fde_info_for_all_regs3(3),
dwarf_get_fde_info_for_cfa_reg3(3),
dwarf_get_fde_info_for_reg(3),
dwarf_get_fde_info_for_reg3(3),
dwarf_get_fde_n(3)