dwarf_get_fde_range —
retrieve range information from an FDE
descriptor
DWARF Access Library (libdwarf, -ldwarf)
#include
<libdwarf.h>
int
dwarf_get_fde_range(
Dwarf_Fde
fde,
Dwarf_Addr *low_pc,
Dwarf_Unsigned *func_len,
Dwarf_Ptr *fde_bytes,
Dwarf_Unsigned *fde_byte_len,
Dwarf_Off *cie_offset,
Dwarf_Signed *cie_index,
Dwarf_Off *fde_offset,
Dwarf_Error *err);
Function
dwarf_get_fde_range() retrieves range and
offset information from a given FDE descriptor.
Argument
fde should reference a valid DWARF FDE
descriptor.
Argument
low_pc should point to a location that
will be set to the lowest program counter address covered by the FDE
descriptor.
Argument
func_len should point to a location
that will hold the length in bytes of the address range covered by the FDE
descriptor.
Argument
fde_bytes should point to a location
that will be set to a pointer to the content of the FDE descriptor itself.
Argument
fde_byte_len should point to a
location that will hold the length in bytes of the FDE descriptor itself.
Argument
cie_offset should point to a location
that will be set to the offset, relative to the DWARF
“.debug_frame” section, of the CIE descriptor associated with
the given FDE descriptor.
Argument
cie_index should point to a location
that will hold the index of the CIE descriptor associated with the FDE
descriptor. The returned value is a zero-based index into the array of CIE
descriptors returned by a prior call to functions
dwarf_get_fde_list(3)
or
dwarf_get_fde_list_eh(3).
Argument
fde_offset should point to a location
that will be set to the offset, relative to the DWARF
“.debug_frame” section, of the FDE descriptor.
If argument
err is not NULL, it will be used to
store error information in case of an error.
Function
dwarf_get_fde_range() returns
DW_DLV_OK
when it succeeds. In case of an
error, it returns
DW_DLV_ERROR
and sets the
argument
err.
Function
dwarf_get_fde_range() can fail with:
-
-
- [
DW_DLE_ARGUMENT
]
- One of the arguments fde,
low_pc,
func_len,
fde_bytes,
fde_byte_len,
cie_offset,
cie_index or
fde_offset was NULL.
dwarf(3),
dwarf_get_cie_index(3),
dwarf_get_cie_info(3),
dwarf_get_cie_of_fde(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_cfa_reg3(3),
dwarf_get_fde_info_for_reg(3),
dwarf_get_fde_info_for_reg3(3),
dwarf_get_fde_instr_bytes(3),
dwarf_get_fde_list(3),
dwarf_get_fde_list_eh(3),
dwarf_get_fde_n(3)