[Dwarf-discuss] New libdwarf/dwarfdump
David Anderson
davea
Fri Jul 22 12:19:39 GMT 2005
A new libdwarf and dwarfdump is on
http://reality.sgiweb.org/davea/
The following routines are new in libdwarf.h.
See the libdwarf postscript for details.
The dealloc calls enable complete and correct dealloc, and are simper
to use than pre-existing dealloc.
.debug_pubtypes support is new.
With a one-line change you can build a fully-checking libdwarf
for testing/debugging your client code (see libdwarf/malloc_check.h
and libdwarf/malloc_check.c for details).
> void dwarf_globals_dealloc(Dwarf_Debug /*dbg*/,
> Dwarf_Global* /*globals*/,
> Dwarf_Signed /*number_of_globals*/);
> void dwarf_funcs_dealloc(Dwarf_Debug /*dbg*/,
> Dwarf_Func* /*funcs*/,
> Dwarf_Signed /*number_of_funcs*/);
> /* User-defined type name operations, SGI IRIX .debug_typenames section.
> Same content as DWARF3 .debug_pubtypes, but defined years before
> .debug_pubtypes was defined. SGI IRIX only. */
> void dwarf_types_dealloc(Dwarf_Debug /*dbg*/,
> Dwarf_Type* /*types*/,
> Dwarf_Signed /*number_of_types*/);
> /* User-defined type name operations, DWARF3 .debug_pubtypes section.
> */
> int dwarf_get_pubtypes(Dwarf_Debug /*dbg*/,
> Dwarf_Type** /*types*/,
> Dwarf_Signed * /*number_of_types*/,
> Dwarf_Error* /*error*/);
> void dwarf_pubtypes_dealloc(Dwarf_Debug /*dbg*/,
> Dwarf_Type* /*pubtypes*/,
> Dwarf_Signed /*number_of_pubtypes*/);
>
>
> int dwarf_pubtypename(Dwarf_Type /*type*/,
> char ** /*returned_name*/,
> Dwarf_Error* /*error*/);
>
> int dwarf_pubtype_die_offset(Dwarf_Type /*type*/,
> Dwarf_Off* /*return_offset*/,
> Dwarf_Error* /*error*/);
>
> int dwarf_pubtype_cu_offset(Dwarf_Type /*type*/,
> Dwarf_Off* /*return_offset*/,
> Dwarf_Error* /*error*/);
>
> int dwarf_pubtype_name_offsets(Dwarf_Type /*type*/,
> char ** /*returned_name*/,
> Dwarf_Off* /*die_offset*/,
> Dwarf_Off* /*cu_offset*/,
> Dwarf_Error* /*error*/);
>
> void dwarf_vars_dealloc(Dwarf_Debug /*dbg*/,
> Dwarf_Var* /*vars*/,
> Dwarf_Signed /*number_of_vars*/);
>
> void dwarf_weaks_dealloc(Dwarf_Debug /*dbg*/,
> Dwarf_Weak* /*weaks*/,
> Dwarf_Signed /*number_of_weaks*/);
>
> /* Release storage gotten by dwarf_get_fde_list_eh() or
> dwarf_get_fde_list() */
> void dwarf_fde_cie_list_dealloc(Dwarf_Debug dbg,
> Dwarf_Cie *cie_data,
> Dwarf_Signed cie_element_count,
> Dwarf_Fde *fde_data,
> Dwarf_Signed fde_element_count);
David Anderson davea at sgi.com
More information about the Dwarf-discuss
mailing list