dwarf_transform_to_disk_form3
Transform dwarf information into byte streams
Usage
#include <libdwarf.h>
Dwarf_Signed
dwarf_transform_to_disk_form(Dwarf_P_Debug dbg, Dwarf_Error *err);
Library
library “libdwarf”
Overview
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.
Releases
25 releases since FreeBSD 11.0-RELEASE; the text changed 1 time.