Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DWARF_GET_GLOBALS(3)	 BSD 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 con-
     tains 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-termi-
     nated 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	off-
     set, relative to the ".debug_info"	section, of the	first debugging	infor-
     mation 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)

BSD				 April 2, 2011				   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=dwarf_get_globals&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help