dwarf_transform_to_disk_form
—
transform DWARF information into byte streams
DWARF Access Library (libdwarf,
-ldwarf)
#include
<libdwarf.h>
Dwarf_Signed
dwarf_transform_to_disk_form
(Dwarf_P_Debug
dbg, Dwarf_Error *err);
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.
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.
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.