DWARF_SET_FRAME_CFA_VALUE(3)

DWARF_SET_FRAME_CFA_VALUE(3) | Library Functions Manual | 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

DWARF Access Library (libdwarf, -ldwarf)

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

June 18, 2011 | NetBSD 9.3