Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


DWARF_DIEOFFSET(3)         Library Functions Manual         DWARF_DIEOFFSET(3)

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)

NetBSD 10.99                   December 21, 2014                  NetBSD 10.99