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
DWARF Access Library (libdwarf, -ldwarf)
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)