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

FreeBSD Manual Pages

  
 
  

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

NAME
     dwarf_lineaddr, dwarf_linebeginstatement, dwarf_lineblock,
     dwarf_lineendsequence, dwarf_lineno, dwarf_lineoff, dwarf_linesrc,
     dwarf_line_srcfileno -- retrieve information associated with a DWARF line
     descriptor

LIBRARY
     DWARF Access Library (libdwarf, -ldwarf)

SYNOPSIS
     #include <libdwarf.h>

     int
     dwarf_lineaddr(Dwarf_Line ln, Dwarf_Addr *ret, Dwarf_Error	*err);

     int
     dwarf_linebeginstatement(Dwarf_Line ln, Dwarf_Bool	*ret,
	 Dwarf_Error *err);

     int
     dwarf_lineblock(Dwarf_Line	ln, Dwarf_Bool *ret, Dwarf_Error *err);

     int
     dwarf_lineendsequence(Dwarf_Line ln, Dwarf_Bool *ret, Dwarf_Error *err);

     int
     dwarf_lineno(Dwarf_Line ln, Dwarf_Unsigned	*ret, Dwarf_Error *err);

     int
     dwarf_lineoff(Dwarf_Line ln, Dwarf_Signed *ret, Dwarf_Error *err);

     int
     dwarf_linesrc(Dwarf_Line ln, char **ret, Dwarf_Error *err);

     int
     dwarf_line_srcfileno(Dwarf_Line ln, Dwarf_Unsigned	*ret,
	 Dwarf_Error *err);

DESCRIPTION
     These functions retrieve specific line information	associated with	the
     line descriptor specified by argument ln, and stores it in	the location
     pointed to	by argument ret.  If argument err is not NULL, it will be used
     to	store error information	in case	of an error.

     Function dwarf_lineaddr() stores the program address corresponding	to the
     source line specified in argument ln into the location pointed to by ar-
     gument ret.

     Function dwarf_linebeginstatement() sets the location pointed to by argu-
     ment ret to 1 if the source line specified	by the line descriptor ln is
     the beginning of a	statement, or to 0 otherwise.

     Function dwarf_lineblock()	sets the location pointed to by	argument ret
     to	1 if the source	line specified by the line descriptor ln is the	begin-
     ning of a basic block, or to 0 otherwise.

     Function dwarf_lineendsequence() sets the location	pointed	to by argument
     ret to 1 if the program address associated	with the line descriptor ln is
     the address immediately following the end of a sequence of	target machine
     instructions, or to 0 otherwise.

     Function dwarf_lineno() stores the	line number of the source line associ-
     ated with the line	descriptor ln into the location	pointed	to by argument
     ret.

     Function dwarf_lineoff() stores the column	number within a	line associ-
     ated with descriptor ln into the location pointed to by argument ret.
     The retrieved column numbers are 1-based, with the	value -1 indicating
     that column number	information was	not available.

     Function dwarf_linesrc() stores a pointer to a NUL-terminated string con-
     taining the source	file name associated with line descriptor ln into the
     location pointed to by argument ret.  The full path of the	source file is
     returned if possible.  The	memory used for	the source file	name string is
     managed by	the DWARF(3) library and should	not be directly	freed by ap-
     plication code.  Instead, portable	code should use	dwarf_dealloc(3) to
     indicate that the string should be	freed.

     Function dwarf_line_srcfileno() stores the	index of the source file asso-
     ciated with the line descriptor ln	in the location	pointed	to by argument
     ret.  The returned	value is 1-based index into the	array of source	file
     names returned by dwarf_srcfiles(3).

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]		 Either	of the arguments ln or ret was NULL.

     [DW_DLE_LINE_FILE_NUM_BAD]	 The source file name associated with the line
				 descriptor ln could not be retrieved by func-
				 tion dwarf_linesrc().

SEE ALSO
     dwarf(3), dwarf_dealloc(3), dwarf_srcfiles(3), dwarf_srclines(3)

BSD			       February	5, 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_lineaddr&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help