DWARF_GET_FDE_INFO_F... NetBSD Library Functions ManualDWARF_GET_FDE_INFO_F...
NAME
dwarf_get_fde_info_for_cfa_regs3 -- retrieve a CFA register rule
LIBRARY
library ``libdwarf''
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 associated 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_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 12, 2011 NetBSD 7.0
Powered by man-cgi (2026-04-06). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.