freebsd man page for dwarf_add_line_entry

Query: dwarf_add_line_entry

OS: freebsd

Section: 3

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

DWARF_ADD_LINE_ENTRY(3) 				   BSD Library Functions Manual 				   DWARF_ADD_LINE_ENTRY(3)

NAME
dwarf_add_line_entry -- add a line number information entry to a producer instance
LIBRARY
DWARF Access Library (libdwarf, -ldwarf)
SYNOPSIS
#include <libdwarf.h> Dwarf_Unsigned dwarf_add_line_entry(Dwarf_P_Debug dbg, Dwarf_Unsigned filendx, Dwarf_Addr off, Dwarf_Unsigned lineno, Dwarf_Signed column, Dwarf_Bool is_stmt, Dwarf_Bool basic_block, Dwarf_Error *err);
DESCRIPTION
Function dwarf_add_line_entry() adds a line number information entry to a DWARF producer instance. Argument dbg should reference a DWARF producer instance allocated using dwarf_producer_init(3) or dwarf_producer_init_b(3). Argument filendx specifies the index of the source file that contains the source line in question. Valid source file indices are those returned by the function dwarf_add_file_decl(3). Argument off specifies a relocatable program address. The ELF symbol to be used for relocation is set by a prior call to the function dwarf_lne_set_address(3). Argument lineno specifies the line number of the source line. Argument column specifies the column number within the source line. If the argument is_stmt is set to true, it indicates that the instruction at the address specified by argument off is a recommended break- point location, i.e., the first instruction in the instruction sequence generated by the source line. If the argument basic_block is set to true, it indicates that the instruction at the address specified by argument off is the first instruc- tion of a basic block. If argument err is not NULL, it will be used to store error information in case of an error.
RETURN VALUES
On success, function dwarf_add_line_entry() returns DW_DLV_OK. In case of an error, function dwarf_add_line_entry() returns DW_DLV_NOCOUNT and sets the argument err.
ERRORS
Function dwarf_add_line_entry() can fail with: [DW_DLE_ARGUMENT] Argument dbg was NULL. [DW_DLE_ARGUMENT] The function dwarf_lne_set_address(3) was not called before calling this function. [DW_DLE_MEMORY] An out of memory condition was encountered during the execution of the function.
EXAMPLE
To add line number information to the producer instance, use: Dwarf_P_Debug dbg; Dwarf_Error de; Dwarf_Unsigned dir, filendx; /* ... assume dbg refers to a DWARF producer instance ... */ dir = dwarf_add_directory_decl(dbg, "/home/foo", &de); if (dir == DW_DLV_NOCOUNT) errx(EXIT_FAILURE, "dwarf_add_directory_decl failed: %s", dwarf_errmsg(-1)); filendx = dwarf_add_file_decl(dbg, "bar.c", dir, 0, 1234, &de); if (filendx == DW_DLV_NOCOUNT) errx(EXIT_FAILURE, "dwarf_add_file_decl failed: %s", dwarf_errmsg(-1)); if (dwarf_lne_set_address(dbg, 0x4012b0, 12, &de) != DW_DLV_OK) errx(EXIT_FAILURE, "dwarf_lne_set_address failed: %s", dwarf_errmsg(-1)); if (dwarf_add_line_entry(dbg, filendx, 10, 258, 0, 1, 1, &de) != DW_DLV_OK) errx(EXIT_FAILURE, "dwarf_add_line_entry failed: %s", dwarf_errmsg(-1));
SEE ALSO
dwarf(3), dwarf_add_directory_decl(3), dwarf_add_file_decl(3), dwarf_lne_end_sequence(3), dwarf_lne_set_address(3), dwarf_producer_init(3), dwarf_producer_init_b(3)
BSD
June 30, 2013 BSD
Related Man Pages
dwarf_new_expr(3) - freebsd
dwarf_add_frame_fde_b(3) - freebsd
dwarf_add_arange(3) - freebsd
dwarf_add_file_decl(3) - freebsd
dwarf_add_frame_cie(3) - freebsd
Similar Topics in the Unix Linux Community
Reason for no directory creation date
Valid separator in time and date format
Is it safe to install x86 Solaris 10 U6 after installed-Linux-and-FreeBSD?