DWARF_DEALLOC(3)

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)

July 23, 2011 | NetBSD 9.0