FreeBSD Manual Pages
DWARF_GET_FDE_INFO_FO... BSD Library Functions Manual DWARF_GET_FDE_INFO_FO... NAME dwarf_get_fde_info_for_all_regs -- retrieve register rule row LIBRARY DWARF Access Library (libdwarf, -ldwarf) 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_initial_value(3), dwarf_set_frame_rule_table_size(3), dwarf_set_frame_same_value(3), dwarf_set_frame_undefined_value(3) BSD June 4, 2011 BSD
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dwarf_get_fde_info_for_all_regs&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>