FreeBSD Manual Pages
DWARF_GET_FDE_INFO_FO... BSD Library Functions Manual DWARF_GET_FDE_INFO_FO... NAME dwarf_get_fde_info_for_cfa_regs3 -- retrieve a CFA register rule LIBRARY DWARF Access Library (libdwarf, -ldwarf) SYNOPSIS #include <libdwarf.h> int dwarf_get_fde_info_for_cfa_regs3(Dwarf_Fde fde, Dwarf_Addr pc, Dwarf_Small *type, Dwarf_Signed *offset_relevant, Dwarf_Signed *register_num, Dwarf_Signed *offset_or_block_len, Dwarf_Ptr *block_ptr, Dwarf_Addr *row_pc, Dwarf_Error *err); DESCRIPTION Function dwarf_get_fde_info_for_cfa_reg3() retrieves the CFA register rule for a given program counter address from the register rule table as- sociated with an 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 register rule row. On successful execution, dwarf_get_fde_info_for_cfa_reg3() stores infor- mation about the CFA register rule found into the locations pointed to by the arguments type, offset_relevant, register_num, offset_or_block_len, block_ptr and row_pc. Argument type should point to a location which will hold the type code of the register rule found. The returned value is one of the DW_EXPR_* con- tants defined in the header file <libdwarf.h>. If there is an offset value associated with the CFA register rule, the location pointed to by argument offset_relevant will be set to 1. Argument register_num should point to a location which will hold the reg- ister number associated with the CFA register rule. If the CFA register rule is of type DW_EXPR_OFFSET or DW_EXPR_VAL_OFFSET, the location pointed to by argument offset_or_block_len will be set to the offset value associated with the register rule, or to 0 if the regis- ter rule does not have an offset value. If the type code is DW_EXPR_EXPRESSION or DW_EXPR_VAL_EXPRESSION, the location pointed to by argument offset_or_block_len will be set to the length in bytes of the DWARF expression block associated with the register rule. Argument block_ptr should point to a location which will be set to a pointer to the content of the DWARF expression block associated with the CFA register rule. Argument row_pc should point to a location which will be set to the low- est program counter address associated with the register rule found. If argument err is not NULL, it will be used to return an error descrip- tor in case of an error. RETURN VALUES Function dwarf_get_fde_info_for_cfa_reg3() 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_cfa_reg3() can fail with: [DW_DLE_ARGUMENT] One of the arguments block_ptr, fde, offset_or_block_len, offset_relevant, register_num, row_pc, or type 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_regs(3), dwarf_get_fde_info_for_all_regs3(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 12, 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_cfa_reg3&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>