NAME
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
LIBRARY
library “libdwarf”
SYNOPSIS
#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);
DESCRIPTION
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.
RETURN VALUES
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.
ERRORS
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.
SEE ALSO
dwarf(3), dwarf_next_cu_header(3), dwarf_offdie(3), dwarf_offdie_b(3)