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 7.2