1*2de3b87aSKai Wang.\" Copyright (c) 2009-2011 Joseph Koshy. All rights reserved. 2*2de3b87aSKai Wang.\" 3*2de3b87aSKai Wang.\" Redistribution and use in source and binary forms, with or without 4*2de3b87aSKai Wang.\" modification, are permitted provided that the following conditions 5*2de3b87aSKai Wang.\" are met: 6*2de3b87aSKai Wang.\" 1. Redistributions of source code must retain the above copyright 7*2de3b87aSKai Wang.\" notice, this list of conditions and the following disclaimer. 8*2de3b87aSKai Wang.\" 2. Redistributions in binary form must reproduce the above copyright 9*2de3b87aSKai Wang.\" notice, this list of conditions and the following disclaimer in the 10*2de3b87aSKai Wang.\" documentation and/or other materials provided with the distribution. 11*2de3b87aSKai Wang.\" 12*2de3b87aSKai Wang.\" This software is provided by Joseph Koshy ``as is'' and 13*2de3b87aSKai Wang.\" any express or implied warranties, including, but not limited to, the 14*2de3b87aSKai Wang.\" implied warranties of merchantability and fitness for a particular purpose 15*2de3b87aSKai Wang.\" are disclaimed. in no event shall Joseph Koshy be liable 16*2de3b87aSKai Wang.\" for any direct, indirect, incidental, special, exemplary, or consequential 17*2de3b87aSKai Wang.\" damages (including, but not limited to, procurement of substitute goods 18*2de3b87aSKai Wang.\" or services; loss of use, data, or profits; or business interruption) 19*2de3b87aSKai Wang.\" however caused and on any theory of liability, whether in contract, strict 20*2de3b87aSKai Wang.\" liability, or tort (including negligence or otherwise) arising in any way 21*2de3b87aSKai Wang.\" out of the use of this software, even if advised of the possibility of 22*2de3b87aSKai Wang.\" such damage. 23*2de3b87aSKai Wang.\" 24*2de3b87aSKai Wang.\" $Id: dwarf_dealloc.3 2073 2011-10-27 03:30:47Z jkoshy $ 25*2de3b87aSKai Wang.\" 26*2de3b87aSKai Wang.Dd July 23, 2011 27*2de3b87aSKai Wang.Os 28*2de3b87aSKai Wang.Dt DWARF_DEALLOC 3 29*2de3b87aSKai Wang.Sh NAME 30*2de3b87aSKai Wang.Nm dwarf_dealloc , 31*2de3b87aSKai Wang.Nm dwarf_fde_cie_list_dealloc , 32*2de3b87aSKai Wang.Nm dwarf_funcs_dealloc , 33*2de3b87aSKai Wang.Nm dwarf_globals_dealloc , 34*2de3b87aSKai Wang.Nm dwarf_pubtypes_dealloc , 35*2de3b87aSKai Wang.Nm dwarf_ranges_dealloc , 36*2de3b87aSKai Wang.Nm dwarf_srclines_dealloc , 37*2de3b87aSKai Wang.Nm dwarf_types_dealloc , 38*2de3b87aSKai Wang.Nm dwarf_vars_dealloc , 39*2de3b87aSKai Wang.Nm dwarf_weaks_dealloc 40*2de3b87aSKai Wang.Nd release resources 41*2de3b87aSKai Wang.Sh LIBRARY 42*2de3b87aSKai Wang.Lb libdwarf 43*2de3b87aSKai Wang.Sh SYNOPSIS 44*2de3b87aSKai Wang.In libdwarf.h 45*2de3b87aSKai Wang.Ft void 46*2de3b87aSKai Wang.Fo dwarf_dealloc 47*2de3b87aSKai Wang.Fa "Dwarf_Debug dbg" 48*2de3b87aSKai Wang.Fa "Dwarf_Ptr ptr" 49*2de3b87aSKai Wang.Fa "Dwarf_Unsigned type" 50*2de3b87aSKai Wang.Fc 51*2de3b87aSKai Wang.Fo dwarf_fde_cie_list_dealloc 52*2de3b87aSKai Wang.Fa "Dwarf_Debug dbg" 53*2de3b87aSKai Wang.Fa "Dwarf_Cie *cie_list" 54*2de3b87aSKai Wang.Fa "Dwarf_Signed cie_count" 55*2de3b87aSKai Wang.Fa "Dwarf_Fde *fde_list" 56*2de3b87aSKai Wang.Fa "Dwarf_Signed fde_count" 57*2de3b87aSKai Wang.Fc 58*2de3b87aSKai Wang.Ft void 59*2de3b87aSKai Wang.Fo dwarf_funcs_dealloc 60*2de3b87aSKai Wang.Fa "Dwarf_Debug dbg" 61*2de3b87aSKai Wang.Fa "Dwarf_Func *funcs" 62*2de3b87aSKai Wang.Fa "Dwarf_Signed funccount" 63*2de3b87aSKai Wang.Fc 64*2de3b87aSKai Wang.Ft void 65*2de3b87aSKai Wang.Fo dwarf_globals_dealloc 66*2de3b87aSKai Wang.Fa "Dwarf_Debug dbg" 67*2de3b87aSKai Wang.Fa "Dwarf_Global *globals" 68*2de3b87aSKai Wang.Fa "Dwarf_Signed globalcount" 69*2de3b87aSKai Wang.Fc 70*2de3b87aSKai Wang.Ft void 71*2de3b87aSKai Wang.Fo dwarf_pubtypes_dealloc 72*2de3b87aSKai Wang.Fa "Dwarf_Debug dbg" 73*2de3b87aSKai Wang.Fa "Dwarf_Type *pubtypes" 74*2de3b87aSKai Wang.Fa "Dwarf_Signed pubtypecount" 75*2de3b87aSKai Wang.Fc 76*2de3b87aSKai Wang.Ft void 77*2de3b87aSKai Wang.Fo dwarf_ranges_dealloc 78*2de3b87aSKai Wang.Fa "Dwarf_Debug dbg" 79*2de3b87aSKai Wang.Fa "Dwarf_Ranges *ranges" 80*2de3b87aSKai Wang.Fa "Dwarf_Signed rangecount" 81*2de3b87aSKai Wang.Fc 82*2de3b87aSKai Wang.Ft void 83*2de3b87aSKai Wang.Fo dwarf_srclines_dealloc 84*2de3b87aSKai Wang.Fa "Dwarf_Debug dbg" 85*2de3b87aSKai Wang.Fa "Dwarf_Line *lines" 86*2de3b87aSKai Wang.Fa "Dwarf_Signed linecount" 87*2de3b87aSKai Wang.Fc 88*2de3b87aSKai Wang.Ft void 89*2de3b87aSKai Wang.Fo dwarf_types_dealloc 90*2de3b87aSKai Wang.Fa "Dwarf_Debug dbg" 91*2de3b87aSKai Wang.Fa "Dwarf_Type *types" 92*2de3b87aSKai Wang.Fa "Dwarf_Signed typecount" 93*2de3b87aSKai Wang.Fc 94*2de3b87aSKai Wang.Ft void 95*2de3b87aSKai Wang.Fo dwarf_vars_dealloc 96*2de3b87aSKai Wang.Fa "Dwarf_Debug dbg" 97*2de3b87aSKai Wang.Fa "Dwarf_Var *vars" 98*2de3b87aSKai Wang.Fa "Dwarf_Signed varcount" 99*2de3b87aSKai Wang.Fc 100*2de3b87aSKai Wang.Ft void 101*2de3b87aSKai Wang.Fo dwarf_weaks_dealloc 102*2de3b87aSKai Wang.Fa "Dwarf_Debug dbg" 103*2de3b87aSKai Wang.Fa "Dwarf_Weak *weaks" 104*2de3b87aSKai Wang.Fa "Dwarf_Signed weakcount" 105*2de3b87aSKai Wang.Fc 106*2de3b87aSKai Wang.Sh DESCRIPTION 107*2de3b87aSKai WangThe function 108*2de3b87aSKai Wang.Fn dwarf_dealloc 109*2de3b87aSKai Wangis used by applications to indicate that memory areas returned by 110*2de3b87aSKai Wang.Lb libdwarf 111*2de3b87aSKai Wangmay be safely disposed off. 112*2de3b87aSKai WangDue to the way memory is managed in the current implementation, the 113*2de3b87aSKai Wanguse of 114*2de3b87aSKai Wang.Fn dwarf_dealloc 115*2de3b87aSKai Wangis only necessary for a small set of DWARF types. 116*2de3b87aSKai Wang.Pp 117*2de3b87aSKai WangArgument 118*2de3b87aSKai Wang.Ar dbg 119*2de3b87aSKai Wangshould reference a valid debugging context allocated using 120*2de3b87aSKai Wang.Xr dwarf_init 3 . 121*2de3b87aSKai Wang.Pp 122*2de3b87aSKai WangArgument 123*2de3b87aSKai Wang.Ar ptr 124*2de3b87aSKai Wangshould point to an object or memory area obtained by a prior call 125*2de3b87aSKai Wangto a DWARF(3) function. 126*2de3b87aSKai Wang.Pp 127*2de3b87aSKai WangArgument 128*2de3b87aSKai Wang.Ar type 129*2de3b87aSKai Wangindicates the type of object being deallocated. 130*2de3b87aSKai WangThe indicated type must match that of the object being passed in 131*2de3b87aSKai Wangargument 132*2de3b87aSKai Wang.Ar ptr . 133*2de3b87aSKai WangValid values for the 134*2de3b87aSKai Wang.Ar type 135*2de3b87aSKai Wangargument are: 136*2de3b87aSKai Wang.Bl -tag -width ".Dv DW_DLA_FRAME_BLOCK" 137*2de3b87aSKai Wang.It Dv DW_DLA_ABBREV 138*2de3b87aSKai WangAn object of type 139*2de3b87aSKai Wang.Vt Dwarf_Abbrev , 140*2de3b87aSKai Wangas returned by a call to the function 141*2de3b87aSKai Wang.Xr dwarf_get_abbrev 3 . 142*2de3b87aSKai Wang.It Dv DW_DLA_DIE 143*2de3b87aSKai WangAn object of type 144*2de3b87aSKai Wang.Vt Dwarf_Die , 145*2de3b87aSKai Wangas returned by calls to the functions 146*2de3b87aSKai Wang.Xr dwarf_child 3 , 147*2de3b87aSKai Wang.Xr dwarf_offdie 3 148*2de3b87aSKai Wangor 149*2de3b87aSKai Wang.Xr dwarf_siblingof 3 . 150*2de3b87aSKai Wang.It Dv DW_DLA_FRAME_BLOCK 151*2de3b87aSKai WangAn array of objects of type 152*2de3b87aSKai Wang.Vt Dwarf_Frame_op , 153*2de3b87aSKai Wangas returned by a call to the function 154*2de3b87aSKai Wang.Xr dwarf_expand_frame_instructions 3 . 155*2de3b87aSKai Wang.El 156*2de3b87aSKai Wang.Pp 157*2de3b87aSKai WangCalls to 158*2de3b87aSKai Wang.Fn dwarf_dealloc 159*2de3b87aSKai Wangwith other values for argument 160*2de3b87aSKai Wang.Ar type 161*2de3b87aSKai Wangare no-ops in this implementation. 162*2de3b87aSKai Wang.Pp 163*2de3b87aSKai WangThe functions 164*2de3b87aSKai Wang.Fn dwarf_fde_cie_list_dealloc , 165*2de3b87aSKai Wang.Fn dwarf_funcs_dealloc , 166*2de3b87aSKai Wang.Fn dwarf_globals_dealloc , 167*2de3b87aSKai Wang.Fn dwarf_pubtypes_dealloc , 168*2de3b87aSKai Wang.Fn dwarf_ranges_dealloc , 169*2de3b87aSKai Wang.Fn dwarf_srclines_dealloc , 170*2de3b87aSKai Wang.Fn dwarf_types_dealloc , 171*2de3b87aSKai Wang.Fn dwarf_vars_dealloc 172*2de3b87aSKai Wangand 173*2de3b87aSKai Wang.Fn dwarf_weaks_dealloc 174*2de3b87aSKai Wangare provided for compatibility with other implementations of the 175*2de3b87aSKai WangDWARF(3) API. 176*2de3b87aSKai WangDue to the way memory is managed in the current implementation, these 177*2de3b87aSKai Wangfunctions are effectively no-ops. 178*2de3b87aSKai Wang.Pp 179*2de3b87aSKai WangSee 180*2de3b87aSKai Wang.Xr dwarf 3 181*2de3b87aSKai Wangfor more information about the memory management scheme in this 182*2de3b87aSKai Wangimplementation of the DWARF(3) API. 183*2de3b87aSKai Wang.Sh RETURN VALUES 184*2de3b87aSKai WangFunctions 185*2de3b87aSKai Wang.Fn dwarf_dealloc , 186*2de3b87aSKai Wang.Fn dwarf_fde_cie_list_dealloc , 187*2de3b87aSKai Wang.Fn dwarf_funcs_dealloc , 188*2de3b87aSKai Wang.Fn dwarf_globals_dealloc , 189*2de3b87aSKai Wang.Fn dwarf_pubtypes_dealloc , 190*2de3b87aSKai Wang.Fn dwarf_ranges_dealloc , 191*2de3b87aSKai Wang.Fn dwarf_srclines_dealloc , 192*2de3b87aSKai Wang.Fn dwarf_types_dealloc , 193*2de3b87aSKai Wang.Fn dwarf_vars_dealloc 194*2de3b87aSKai Wangand 195*2de3b87aSKai Wang.Fn dwarf_weaks_dealloc 196*2de3b87aSKai Wanghave no return value. 197*2de3b87aSKai Wang.Sh SEE ALSO 198*2de3b87aSKai Wang.Xr dwarf 3 , 199*2de3b87aSKai Wang.Xr dwarf_child 3 , 200*2de3b87aSKai Wang.Xr dwarf_expand_frame_instructions 3 , 201*2de3b87aSKai Wang.Xr dwarf_get_abbrev 3 , 202*2de3b87aSKai Wang.Xr dwarf_offdie 3 , 203*2de3b87aSKai Wang.Xr dwarf_siblingof 3 204