Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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_table_size(3),
     dwarf_set_frame_rule_initial_value(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://www.freebsd.org/cgi/man.cgi?query=dwarf_get_fde_info_for_cfa_reg3&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help