dwarf_get_fde_info_for_all_regs(3) - NetBSD Manual Pages

DWARF_GET_FDE_INFO_F... NetBSD Library Functions ManualDWARF_GET_FDE_INFO_F...


NAME
dwarf_get_fde_info_for_all_regs -- retrieve register rule row
LIBRARY
library ``libdwarf''
SYNOPSIS
#include <libdwarf.h> int dwarf_get_fde_info_for_all_regs(Dwarf_Fde fde, Dwarf_Addr pc, Dwarf_Regtable *reg_table, Dwarf_Addr *row_pc, Dwarf_Error *err);
DESCRIPTION
Function dwarf_get_fde_info_for_all_regs() retrieves a row from the reg- ister rule table associated with the given FDE descriptor. Argument fde should reference a valid DWARF FDE descriptor. Argument pc should hold the program counter address to be used to locate the desired table row. Argument reg_table should point to a Dwarf_Regtable descriptor which will hold the returned table row of register rules. Argument row_pc should point to a location which will be set to the low- est program counter address associated with the table row. If argument err is not NULL, it will be used to store error information in case of an error. The Dwarf_Regtable descriptor is defined in the header file <libdwarf.h>: typedef struct { struct { Dwarf_Small dw_offset_relevant; Dwarf_Half dw_regnum; Dwarf_Addr dw_offset; } rules[DW_REG_TABLE_SIZE]; } Dwarf_Regtable; For each of the register rules returned, the dw_offset_relevant field is set to 1 if the register rule has a offset value. The dw_regnum field is set to the register number associated with the regsiter rule. The dw_offset field is set to the offset value associated with the register rule. The number of register columns returned is either the constant value DW_REG_TABLE_SIZE as defined in the header file <libdwarf.h>, or the value set by function dwarf_set_frame_rule_table_size(3), whichever is smaller. COMPATIBILITY Function dwarf_get_fde_info_for_all_regs() is deprecated since it only supports DWARF2 frame sections. Applications should instead use function dwarf_get_fde_info_for_all_regs3(3) which supports both DWARF2 and DWARF3 frame sections.
RETURN VALUES
Function dwarf_get_fde_info_for_all_regs() returns DW_DLV_OK when it suc- ceeds. In case of an error, it returns DW_DLV_ERROR and sets the argu- ment err.
ERRORS
Function dwarf_get_fde_info_for_all_regs() can fail with: [DW_DLE_ARGUMENT] One of the arguments fde, reg_table or row_pc was NULL. [DW_DLE_PC_NOT_IN_FDE_RANGE] The program counter value provided in argu- ment pc did not fall in the range covered by argument fde.
SEE ALSO
dwarf(3), dwarf_get_fde_at_pc(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), dwarf_set_frame_cfa_value(3), dwarf_set_frame_rule_table_size(3), dwarf_set_frame_rule_initial_value(3), dwarf_set_frame_same_value(3), dwarf_set_frame_undefined_value(3) NetBSD 7.0 June 4, 2011 NetBSD 7.0

Powered by man-cgi (2026-04-06). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.