dwarf_get_cie_info —
retrieve information associated with a CIE
descriptor
DWARF Access Library (libdwarf, -ldwarf)
#include
<libdwarf.h>
int
dwarf_get_cie_info(
Dwarf_Cie
cie,
Dwarf_Unsigned *cie_byte_len,
Dwarf_Small *version,
char **augmentation,
Dwarf_Unsigned *caf,
Dwarf_Unsigned *daf,
Dwarf_Half *ra,
Dwarf_Ptr *init_inst,
Dwarf_Unsigned *inst_len,
Dwarf_Error *err);
Function
dwarf_get_cie_info() retrieves the
information associated with a given CIE descriptor.
Argument
cie should reference a valid DWARF CIE
descriptor, such as would be returned by function
dwarf_get_cie_of_fde(3).
Argument
cie_byte_len should point to a
location that will hold the length in bytes of the CIE descriptor itself.
Argument
version should point to a location
that will hold the version number of the CIE descriptor.
Arugment
augmentation should point to a
location that will be set to a pointer to a NUL-terminated string containing
augmentation data encoded as UTF-8.
Argument
caf should point to a location that
will hold the code alignment factor recorded in the CIE descriptor.
Arugment
daf should point to a location that
will hold the data alignment factor recorded in the CIE descriptor.
Argument
ra should point to a location that
will hold the return address recorded in the CIE descriptor.
Argument
init_inst should point to a location
that will be set to a pointer to an array of bytes containing the initial
instructions associated with the CIE descriptor.
Argument
inst_len should point to a location
that will hold the length in bytes of the initial instructions returned in
argument
init_inst.
If argument
err is not NULL, it will be used to
store error information in case of an error.
Function
dwarf_get_cie_info() 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_cie_info() can fail with:
-
-
- [
DW_DLE_ARGUMENT
]
- One of the arguments cie,
cie_byte_len,
version,
augmentation,
caf,
daf, ra,
init_inst or
inst_len was NULL.
dwarf(3),
dwarf_get_cie_index(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),
dwarf_get_fde_range(3)