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 9.3