Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


DWARF_DEALLOC(3)           Library Functions Manual           DWARF_DEALLOC(3)

NAME
     dwarf_dealloc, dwarf_fde_cie_list_dealloc, dwarf_funcs_dealloc,
     dwarf_globals_dealloc, dwarf_pubtypes_dealloc, dwarf_ranges_dealloc,
     dwarf_srclines_dealloc, dwarf_types_dealloc, dwarf_vars_dealloc,
     dwarf_weaks_dealloc - release resources

LIBRARY
     DWARF Access Library (libdwarf, -ldwarf)

SYNOPSIS
     #include <libdwarf.h>

     void
     dwarf_dealloc(Dwarf_Debug dbg, Dwarf_Ptr ptr, Dwarf_Unsigned type);

     dwarf_fde_cie_list_dealloc(Dwarf_Debug dbg, Dwarf_Cie *cie_list,
         Dwarf_Signed cie_count, Dwarf_Fde *fde_list, Dwarf_Signed fde_count);

     void
     dwarf_funcs_dealloc(Dwarf_Debug dbg, Dwarf_Func *funcs,
         Dwarf_Signed funccount);

     void
     dwarf_globals_dealloc(Dwarf_Debug dbg, Dwarf_Global *globals,
         Dwarf_Signed globalcount);

     void
     dwarf_pubtypes_dealloc(Dwarf_Debug dbg, Dwarf_Type *pubtypes,
         Dwarf_Signed pubtypecount);

     void
     dwarf_ranges_dealloc(Dwarf_Debug dbg, Dwarf_Ranges *ranges,
         Dwarf_Signed rangecount);

     void
     dwarf_srclines_dealloc(Dwarf_Debug dbg, Dwarf_Line *lines,
         Dwarf_Signed linecount);

     void
     dwarf_types_dealloc(Dwarf_Debug dbg, Dwarf_Type *types,
         Dwarf_Signed typecount);

     void
     dwarf_vars_dealloc(Dwarf_Debug dbg, Dwarf_Var *vars,
         Dwarf_Signed varcount);

     void
     dwarf_weaks_dealloc(Dwarf_Debug dbg, Dwarf_Weak *weaks,
         Dwarf_Signed weakcount);

DESCRIPTION
     The function dwarf_dealloc() is used by applications to indicate that
     memory areas returned by DWARF Access Library (libdwarf, -ldwarf) may be
     safely disposed off.  Due to the way memory is managed in the current
     implementation, the use of dwarf_dealloc() is only necessary for a small
     set of DWARF types.

     Argument dbg should reference a valid debugging context allocated using
     dwarf_init(3).

     Argument ptr should point to an object or memory area obtained by a prior
     call to a DWARF(3) function.

     Argument type indicates the type of object being deallocated.  The
     indicated type must match that of the object being passed in argument
     ptr.  Valid values for the type argument are:

     DW_DLA_ABBREV           An object of type Dwarf_Abbrev, as returned by a
                             call to the function dwarf_get_abbrev(3).

     DW_DLA_DIE              An object of type Dwarf_Die, as returned by calls
                             to the functions dwarf_child(3), dwarf_offdie(3)
                             or dwarf_siblingof(3).

     DW_DLA_FRAME_BLOCK      An array of objects of type Dwarf_Frame_op, as
                             returned by a call to the function
                             dwarf_expand_frame_instructions(3).

     Calls to dwarf_dealloc() with other values for argument type are no-ops
     in this implementation.

     The functions dwarf_fde_cie_list_dealloc(), dwarf_funcs_dealloc(),
     dwarf_globals_dealloc(), dwarf_pubtypes_dealloc(),
     dwarf_ranges_dealloc(), dwarf_srclines_dealloc(), dwarf_types_dealloc(),
     dwarf_vars_dealloc() and dwarf_weaks_dealloc() are provided for
     compatibility with other implementations of the DWARF(3) API.  Due to the
     way memory is managed in the current implementation, these functions are
     effectively no-ops.

     See dwarf(3) for more information about the memory management scheme in
     this implementation of the DWARF(3) API.

RETURN VALUES
     Functions dwarf_dealloc(), dwarf_fde_cie_list_dealloc(),
     dwarf_funcs_dealloc(), dwarf_globals_dealloc(), dwarf_pubtypes_dealloc(),
     dwarf_ranges_dealloc(), dwarf_srclines_dealloc(), dwarf_types_dealloc(),
     dwarf_vars_dealloc() and dwarf_weaks_dealloc() have no return value.

SEE ALSO
     dwarf(3), dwarf_child(3), dwarf_expand_frame_instructions(3),
     dwarf_get_abbrev(3), dwarf_offdie(3), dwarf_siblingof(3)

NetBSD 10.99                     July 23, 2011                    NetBSD 10.99