DWARF_TRANSFORM_TO_DISK_FORM(3)

NAME
dwarf_transform_to_disk_form - transform DWARF information into byte streams

LIBRARY
libdwarf

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)