Deleted Added
full compact
_libdwarf.h (179187) _libdwarf.h (221569)
1/*-
2 * Copyright (c) 2007 John Birrell (jb@freebsd.org)
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 2007 John Birrell (jb@freebsd.org)
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/lib/libdwarf/_libdwarf.h 179187 2008-05-22 02:14:23Z jb $
26 * $FreeBSD: head/lib/libdwarf/_libdwarf.h 221569 2011-05-07 01:05:31Z obrien $
27 */
28
29#ifndef __LIBDWARF_H_
30#define __LIBDWARF_H_
31
32#include <sys/param.h>
33#include <sys/queue.h>
34#include <stdio.h>

--- 123 unchanged lines hidden (view full) ---

158 size_t dbg_stnum; /* Section header string table section number. */
159 int dbg_offsize; /* DWARF offset size. */
160 Dwarf_section dbg_s[DWARF_DEBUG_SNAMES];
161 /* Array of section information. */
162 STAILQ_HEAD(, _Dwarf_CU)
163 dbg_cu; /* List of compilation units. */
164 Dwarf_CU dbg_cu_current;
165 /* Ptr to the current compilation unit. */
27 */
28
29#ifndef __LIBDWARF_H_
30#define __LIBDWARF_H_
31
32#include <sys/param.h>
33#include <sys/queue.h>
34#include <stdio.h>

--- 123 unchanged lines hidden (view full) ---

158 size_t dbg_stnum; /* Section header string table section number. */
159 int dbg_offsize; /* DWARF offset size. */
160 Dwarf_section dbg_s[DWARF_DEBUG_SNAMES];
161 /* Array of section information. */
162 STAILQ_HEAD(, _Dwarf_CU)
163 dbg_cu; /* List of compilation units. */
164 Dwarf_CU dbg_cu_current;
165 /* Ptr to the current compilation unit. */
166
167 STAILQ_HEAD(, _Dwarf_Func) dbg_func; /* List of functions */
166};
167
168};
169
170struct _Dwarf_Func {
171 Dwarf_Die func_die;
172 const char *func_name;
173 Dwarf_Addr func_low_pc;
174 Dwarf_Addr func_high_pc;
175 int func_is_inlined;
176 /* inlined instance */
177 STAILQ_HEAD(, _Dwarf_Inlined_Func) func_inlined_instances;
178 STAILQ_ENTRY(_Dwarf_Func) func_next;
179};
180
181struct _Dwarf_Inlined_Func {
182 struct _Dwarf_Func *ifunc_origin;
183 Dwarf_Die ifunc_abstract;
184 Dwarf_Die ifunc_concrete;
185 Dwarf_Addr ifunc_low_pc;
186 Dwarf_Addr ifunc_high_pc;
187 STAILQ_ENTRY(_Dwarf_Inlined_Func) ifunc_next;
188};
189
190void dwarf_build_function_table(Dwarf_Debug dbg);
191
192#ifdef DWARF_DEBUG
193#include <assert.h>
194#define DWARF_ASSERT(x) assert(x)
195#else
196#define DWARF_ASSERT(x)
197#endif
198
168#endif /* !__LIBDWARF_H_ */
199#endif /* !__LIBDWARF_H_ */