DWARF_TRANSFORM_TO_DISK_FORM(3)

DWARF_TRANSFORM_TO_DISK_FORM(3) | Library Functions Manual | DWARF_TRANSFORM_TO_DISK_FORM(3)

# NAME

dwarf_transform_to_disk_form — transform DWARF information into byte streams

# LIBRARY

DWARF Access Library (libdwarf, -ldwarf)

# SYNOPSIS

#include <libdwarf.h>

Dwarf_Signed
dwarf_transform_to_disk_form(Dwarf_P_Debug dbg, Dwarf_Error *err);

# DESCRIPTION

Function dwarf_transform_to_disk_form() transforms the DWARF information gathered by the producer into byte streams for the application to write out as ELF sections. If the flag DW_DLC_SYMBOLIC_RELOCATIONS is set on the producer, the function will also generate the associated relocation arrays.

Argument dbg should reference a DWARF producer instance allocated using dwarf_producer_init(3) or dwarf_producer_init_b(3).

If argument err is not NULL, it will be used to store error information in case of an error.

After a call to this function, the application can call the function dwarf_get_section_bytes(3) to retrieve the byte streams for each ELF section. If the flag DW_DLC_SYMBOLIC_RELOCATIONS was set on the descriptor, the application can also call the function dwarf_get_relocation_info(3) to retrieve the generated relocation arrays.

# RETURN VALUES

On success, function dwarf_transform_to_disk_form() returns the total number of ELF sections generated. In case of an error, function dwarf_transform_to_disk_form() returns DW_DLV_NOCOUNT and sets the argument err.

# ERRORS

Function dwarf_transform_to_disk_form() can fail with:

[DW_DLE_ARGUMENT]
  Argument dbg was NULL.
[DW_DLE_MEMORY]
  An out of memory condition was encountered during execution.

# SEE ALSO

dwarf(3), dwarf_get_relocation_info(3), dwarf_get_section_bytes(3), dwarf_producer_init(3), dwarf_producer_init_b(3)

August 25, 2011 | NetBSD 7.1