Updated: 2022/Sep/29

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


DWARF_GET_GLOBALS(3)       Library Functions Manual       DWARF_GET_GLOBALS(3)

NAME
     dwarf_get_globals, dwarf_global_cu_offset, dwarf_global_die_offset,
     dwarf_global_name_offsets, dwarf_globname - retrieve information about
     global objects

LIBRARY
     DWARF Access Library (libdwarf, -ldwarf)

SYNOPSIS
     #include <libdwarf.h>

     int
     dwarf_get_globals(Dwarf_Debug dbg, Dwarf_Global **globals,
         Dwarf_Signed *nglobals, Dwarf_Error *err);

     int
     dwarf_global_cu_offset(Dwarf_Global global, Dwarf_Off *cu_offset,
         Dwarf_Error *err);

     int
     dwarf_global_die_offset(Dwarf_Global global, Dwarf_Off *die_offset,
         Dwarf_Error *err);

     int
     dwarf_global_name_offsets(Dwarf_Global global, char **name,
         Dwarf_Off *die_offset, Dwarf_Off *cu_die_offset, Dwarf_Error *err);

     int
     dwarf_globname(Dwarf_Global global, char **name, Dwarf_Error *err);

DESCRIPTION
     These functions retrieve information about global symbols from the lookup
     tables in the ".debug_pubnames" DWARF section.  Information about these
     global symbols is returned using opaque descriptors of type Dwarf_Global.
     Applications need to use the functions described below to retrieve the
     name and the offsets for these descriptors.

     Function dwarf_get_globals() retrieves descriptors for all the global
     symbols associated with the DWARF debug context specified by argument
     dbg.  The argument globals should point to a location that will be set to
     a pointer to an array of Dwarf_Global descriptors.  The argument nglobals
     should point to a location that will be set to the number of descriptors
     returned.

     Function dwarf_global_cu_offset() returns the section-relative offset,
     relative to the ".debug_info" section, of the compilation unit that
     contains the debugging information entry associated with the argument
     global.  Argument cu_offset should point to a location that will hold the
     returned offset.

     Function dwarf_global_die_offset() retrieves the section-relative offset,
     relative to the ".debug_info" section, of the debugging information entry
     associated with the argument global, and stores it into the location
     pointed to by the argument die_offset.

     Function dwarf_global_name_offsets() retrieves the name and the offsets
     for the debugging information entry for argument global.  Argument name
     should point to a location which will be set to a pointer to a NUL-
     terminated string containing the name of the associated debugging
     information entry.  Argument die_offset should point to a location which
     will be set to a section-relative offset, relative to the ".debug_info"
     section, of the associated debugging information entry.  Argument
     cu_die_offset should point to a location which will be set to a section-
     relative offset, relative to the ".debug_info" section, of the first
     debugging information entry in the compilation unit associated with
     argument global.

     Function dwarf_globname() sets the location pointed to by argument name
     to a pointer to a NUL-terminated string holding the name of the debugging
     information entry associated with the argument global.

   Memory Management
     The memory area used for the array of Dwarf_Global descriptors returned
     in argument globals by function dwarf_get_globals() is owned by the DWARF
     Access Library (libdwarf, -ldwarf).  Application code should not attempt
     to directly free this pointer.  Portable code should instead use the
     function dwarf_globals_dealloc(3) to indicate that the memory area may be
     freed.

     The memory area used for the string returned in the name argument to
     functions dwarf_globname() and dwarf_global_name_offsets() is owned by
     the DWARF Access Library (libdwarf, -ldwarf).  Portable code should use
     the dwarf_dealloc(3) function to indicate that the memory area may be
     freed.

   Error Returns
     If argument err is not NULL, these functions will use it to store error
     information, in case of an error.

RETURN VALUES
     On success, these functions returns DW_DLV_OK.  In case of an error, they
     return DW_DLV_ERROR and set the argument err.

ERRORS
     These functions may fail with the following errors:

     [DW_DLE_ARGUMENT]       One of the arguments cu_die_offset, cu_offset,
                             dbg, die_offset, global, globals, name, or
                             nglobals was NULL.

SEE ALSO
     dwarf(3), dwarf_dealloc(3),
     dwarf_get_cu_die_offset_given_cu_header_offset(3),
     dwarf_globals_dealloc(3)

NetBSD 10.99                     April 2, 2011                    NetBSD 10.99