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

FreeBSD Manual Pages

  
 
  

home | help
DWARF_GET_WEAKS(3)	 BSD Library Functions Manual	    DWARF_GET_WEAKS(3)

NAME
     dwarf_get_weaks, dwarf_weak_cu_offset, dwarf_weak_die_offset,
     dwarf_weak_name_offsets, dwarf_weakname --	retrieve information about
     weak symbols

LIBRARY
     DWARF Access Library (libdwarf, -ldwarf)

SYNOPSIS
     #include <libdwarf.h>

     int
     dwarf_get_weaks(Dwarf_Debug dbg, Dwarf_Weak **weaks,
	 Dwarf_Signed *nweaks, Dwarf_Error *err);

     int
     dwarf_weak_cu_offset(Dwarf_Weak weak, Dwarf_Off *cu_offset,
	 Dwarf_Error *err);

     int
     dwarf_weak_die_offset(Dwarf_Weak weak, Dwarf_Off *die_offset,
	 Dwarf_Error *err);

     int
     dwarf_weak_name_offsets(Dwarf_Weak	weak, char **name,
	 Dwarf_Off *die_offset,	Dwarf_Off *cu_die_offset, Dwarf_Error *err);

     int
     dwarf_weakname(Dwarf_Weak weak, char **name, Dwarf_Error *err);

DESCRIPTION
     These functions retrieve information about	weak symbols from the lookup
     tables in the (SGI-specific) ".debug_weaknames" section.  Information
     about weak	symbols	is returned using opaque descriptors of	type
     Dwarf_Weak.  Applications need to use the functions described below to
     retrieve the name and offset information contained	in these descriptors.

     Function dwarf_get_weaks()	retrieves descriptors for all the weak symbols
     associated	with the DWARF debug context specified by argument dbg.	 The
     argument weaks should point to a location that will be set	to a pointer
     to	an array of Dwarf_Weak descriptors.  The argument nweaks should	point
     to	a location that	will be	set to the number of descriptors returned.

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

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

     Function dwarf_weak_name_offsets()	retrieves the name and offsets for the
     debugging information entry for argument weak.  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 the
     offset, relative to the ".debug_info" section, of the associated debug-
     ging information entry.  Argument cu_die_offset should point to a loca-
     tion which	will be	set to the offset, relative to the ".debug_info" sec-
     tion, of the first	debugging information entry in the compilation unit
     associated	with argument weak.

     Function dwarf_weakname() 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 weak.

   Memory Management
     The memory	area used for the array	of Dwarf_Weak descriptors returned in
     argument weaks by function	dwarf_get_weaks() is owned by the DWARF	Access
     Library (libdwarf,	-ldwarf).  Application code should not attempt to di-
     rectly free this pointer.	Portable code should instead use the function
     dwarf_weaks_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_weak_name_offsets() and dwarf_weakname() is owned by the
     DWARF Access Library (libdwarf, -ldwarf).	Portable code should indicate
     that the memory area can be freed using the dwarf_dealloc(3) function.

   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, weak, weaks, name, or nweaks was NULL.

     [DW_DLE_NO_ENTRY]	The DWARF debugging context referenced by argument dbg
			did not	contain	information about weak symbols.

SEE ALSO
     dwarf(3), dwarf_get_cu_die_offset_given_cu_header_offset(3),
     dwarf_weaks_dealloc(3)

BSD				April 10, 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_weaks&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help