DWARF_SET_FRAME_CFA_VALUE(3)

NAME
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

LIBRARY
libdwarf

SYNOPSIS
#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);

DESCRIPTION
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>.

RETURN VALUES
These functions return the previous value of the parameter being set.

SEE ALSO
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)