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)