dwarf_die_CU_offset
,
dwarf_die_CU_offset_range
,
dwarf_dieoffset
,
dwarf_get_cu_die_offset_given_cu_header_offset
,
dwarf_get_cu_die_offset_given_cu_header_offset_b
—
return offsets of DWARF debugging information entries
DWARF Access Library (libdwarf, -ldwarf)
#include <libdwarf.h>
int
dwarf_die_CU_offset
(Dwarf_Die
die, Dwarf_Off *ret_offset,
Dwarf_Error *err);
int
dwarf_die_CU_offset_range
(Dwarf_Die
die, Dwarf_Off *cu_offset,
Dwarf_Off *cu_length, Dwarf_Error
*err);
int
dwarf_dieoffset
(Dwarf_Die die,
Dwarf_Off *ret_offset, Dwarf_Error
*err);
int
dwarf_get_cu_die_offset_given_cu_header_offset
(Dwarf_Debug
dbg, Dwarf_Off in_cu_header_offset,
Dwarf_Off *out_cu_die_offset,
Dwarf_Error *err);
int
dwarf_get_cu_die_offset_given_cu_header_offset_b
(Dwarf_Debug
dbg, Dwarf_Off in_cu_header_offset,
Dwarf_Bool is_info, Dwarf_Off
*out_cu_die_offset, Dwarf_Error *err);
These functions are used to retrieve offsets for DWARF debugging information
entries.
Function dwarf_die_CU_offset
() returns the
offset of the debugging information entry referenced by argument
die relative to the start of its containing
compilation unit. Argument ret_offset should point to
the location that is to hold the returned offset. If argument
err is non-NULL, it will be used to return an error
descriptor in case of an error.
Function dwarf_die_CU_offset_range
()
returns the section-relative offset and length of the compilation unit
containing the debugging information entry referenced by argument
die. Argument cu_offset should
point to a location that will hold the returned offset. Argument
cu_length should point to a location that will hold
the returned length of the compilation unit. If argument
err is non-NULL, it will be used to return an error
descriptor in case of an error.
Function dwarf_dieoffset
() retrieves the
section-relative offset of the debugging information entry referenced by
argument die. Argument
ret_offset should point to a location that is to hold
the returned section-relative offset. If argument err
is non-NULL, it will be used to return an error descriptor in case of an
error.
Function
dwarf_get_cu_die_offset_given_cu_header_offset
()
returns the offset for the first debugging information entry for a
compilation unit, given an offset to the header of the compilation unit.
Argument dbg should reference a valid debugging
context allocated using
dwarf_init(3).
Argument in_cu_header_offset contains the offset to
the start of a compilation unit. Argument
out_cu_die_offset points to a location that will hold
the returned offset. If argument err is non-NULL, it
will be used to return an error descriptor in case of an error.
Function
dwarf_get_cu_die_offset_given_cu_header_offset_b
()
behaves identically to the function
dwarf_get_cu_die_offset_given_cu_header_offset
()
when the argument is_info is non-zero. When the
argument is_info is zero, function
dwarf_get_cu_die_offset_given_cu_header_offset_b
()
returns the offset for the first debugging information entry for a type
unit, given an offset to the header of the type unit in argument
in_cu_header_offset. Argument
out_cu_die_offset points to a location that will hold
the returned offset. If the argument err is non-NULL,
it will be used to return an error descriptor in case of an error.
On success, these functions return DW_DLV_OK
. In case of
an error, these functions return DW_DLV_ERROR
and set
argument err.
Function
dwarf_get_cu_die_offset_given_cu_header_offset
() and
dwarf_get_cu_die_offset_given_cu_header_offset_b
()
returns DW_DLV_NO_ENTRY
and sets argument
err if there is no compilation or type unit located at
the offset specified in argument
in_cu_header_offset.
These functions may fail with the following errors:
- [
DW_DLE_ARGUMENT
]
- One of the arguments cu_length,
cu_offset, dbg,
die, out_cu_die_offset or
ret_offset was NULL.
- [
DW_DLE_NO_ENTRY
]
- Argument in_cu_header_offset specified an unknown
offset.