| DWARF_ADD_FRAME_FDE(3) | Library Functions Manual | DWARF_ADD_FRAME_FDE(3) |
dwarf_add_frame_fde —
add a call frame descriptor to a DWARF producer
instance
DWARF Access Library (libdwarf, -ldwarf)
#include
<libdwarf.h>
Dwarf_Unsigned
dwarf_add_frame_fde(Dwarf_P_Debug
dbg, Dwarf_P_Fde fde,
Dwarf_P_Die die, Dwarf_Unsigned
cie, Dwarf_Addr virt_addr,
Dwarf_Unsigned code_len,
Dwarf_Unsigned symbol_index,
Dwarf_Error *err);
Dwarf_Unsigned
dwarf_add_frame_fde_b(Dwarf_P_Debug
dbg, Dwarf_P_Fde fde,
Dwarf_P_Die die, Dwarf_Unsigned
cie, Dwarf_Addr virt_addr,
Dwarf_Unsigned code_len,
Dwarf_Unsigned symbol_index,
Dwarf_Unsigned end_symbol_index,
Dwarf_Addr offset_from_end_sym,
Dwarf_Error *err);
Function
dwarf_add_frame_fde_b()
adds the call frame descriptor referenced by argument
fde to a producer instance.
Argument dbg should reference a DWARF producer instance allocated using dwarf_producer_init(3) or dwarf_producer_init_b(3).
Argument fde should reference a frame descriptor allocated using dwarf_new_fde(3).
Argument die is ignored by this implementation of the DWARF Access Library (libdwarf, -ldwarf).
Argument cie specifies the index of call frame common information entry for the frame descriptor. Valid indices are those returned by the function dwarf_add_frame_cie(3).
Argument symbol_index specifies the ELF symbol index of the first symbol to be used for relocation.
The meaning of the arguments virt_addr, code_len and offset_from_end_sym depend on the value of argument end_symbol_index:
DW_DLC_SYMBOLIC_RELOCATIONS flag should also have
been set on the DWARF producer instance.
Application code can retrieve the relocation entries for the
symbol pair by calling function
dwarf_get_relocation_info(3).
The relocation entry for the first symbol will have type
dwarf_drt_first_of_length_pair and the
relocation entry for the second symbol will have type
dwarf_drt_second_of_length_pair.
If argument err is not
NULL, it will be used to store error information in
case of an error.
Function
dwarf_add_frame_fde()
is similar to function dwarf_add_frame_fde_b()
except that it supports only one relocation symbol.
On success, these functions return the index value for the added
frame descriptor. In case of an error, these functions return
DW_DLV_NOCOUNT and set the argument
err.
These functions can fail with:
DW_DLE_ARGUMENT]NULL.DW_DLE_ARGUMENT]DW_DLE_ARGUMENT]DW_DLE_ARGUMENT]DW_DLC_SYMBOLIC_RELOCATIONS was not set on the
producer instance.dwarf(3), dwarf_add_fde_inst(3), dwarf_add_frame_cie(3), dwarf_fde_cfa_offset(3), dwarf_get_relocation_info(3), dwarf_new_fde(3), dwarf_producer_init(3), dwarf_producer_init_b(3)
| September 26, 2011 | NetBSD 11.0 |