rdwarf 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +16 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +28 -0
- data/README.md +39 -0
- data/Rakefile +8 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/ext/rdwarf/depend +5 -0
- data/ext/rdwarf/extconf.rb +29 -0
- data/ext/rdwarf/libdwarf/CHANGES +102 -0
- data/ext/rdwarf/libdwarf/CODINGSTYLE +71 -0
- data/ext/rdwarf/libdwarf/COPYING +28 -0
- data/ext/rdwarf/libdwarf/ChangeLog +619 -0
- data/ext/rdwarf/libdwarf/ChangeLog2006 +835 -0
- data/ext/rdwarf/libdwarf/ChangeLog2007 +217 -0
- data/ext/rdwarf/libdwarf/ChangeLog2008 +263 -0
- data/ext/rdwarf/libdwarf/ChangeLog2009 +348 -0
- data/ext/rdwarf/libdwarf/ChangeLog2010 +175 -0
- data/ext/rdwarf/libdwarf/ChangeLog2011 +297 -0
- data/ext/rdwarf/libdwarf/ChangeLog2012 +131 -0
- data/ext/rdwarf/libdwarf/ChangeLog2013 +238 -0
- data/ext/rdwarf/libdwarf/ChangeLog2014 +399 -0
- data/ext/rdwarf/libdwarf/LGPL.txt +504 -0
- data/ext/rdwarf/libdwarf/LIBDWARFCOPYRIGHT +40 -0
- data/ext/rdwarf/libdwarf/Makefile.in +220 -0
- data/ext/rdwarf/libdwarf/NEWS +535 -0
- data/ext/rdwarf/libdwarf/README +235 -0
- data/ext/rdwarf/libdwarf/checkexamples.c +1179 -0
- data/ext/rdwarf/libdwarf/cmplrs/dwarf_addr_finder.h +55 -0
- data/ext/rdwarf/libdwarf/common.c +62 -0
- data/ext/rdwarf/libdwarf/common.h +38 -0
- data/ext/rdwarf/libdwarf/config.h.in +146 -0
- data/ext/rdwarf/libdwarf/configure +5581 -0
- data/ext/rdwarf/libdwarf/configure.in +167 -0
- data/ext/rdwarf/libdwarf/dw-linetableheader.txt +39 -0
- data/ext/rdwarf/libdwarf/dwarf.h +1342 -0
- data/ext/rdwarf/libdwarf/dwarf_abbrev.c +291 -0
- data/ext/rdwarf/libdwarf/dwarf_abbrev.h +45 -0
- data/ext/rdwarf/libdwarf/dwarf_addr_finder.c +676 -0
- data/ext/rdwarf/libdwarf/dwarf_alloc.c +685 -0
- data/ext/rdwarf/libdwarf/dwarf_alloc.h +38 -0
- data/ext/rdwarf/libdwarf/dwarf_arange.c +595 -0
- data/ext/rdwarf/libdwarf/dwarf_arange.h +62 -0
- data/ext/rdwarf/libdwarf/dwarf_base_types.h +157 -0
- data/ext/rdwarf/libdwarf/dwarf_die_deliv.c +1802 -0
- data/ext/rdwarf/libdwarf/dwarf_die_deliv.h +46 -0
- data/ext/rdwarf/libdwarf/dwarf_elf_access.c +1348 -0
- data/ext/rdwarf/libdwarf/dwarf_elf_access.h +46 -0
- data/ext/rdwarf/libdwarf/dwarf_error.c +492 -0
- data/ext/rdwarf/libdwarf/dwarf_error.h +53 -0
- data/ext/rdwarf/libdwarf/dwarf_form.c +1302 -0
- data/ext/rdwarf/libdwarf/dwarf_frame.c +2454 -0
- data/ext/rdwarf/libdwarf/dwarf_frame.h +418 -0
- data/ext/rdwarf/libdwarf/dwarf_frame2.c +1533 -0
- data/ext/rdwarf/libdwarf/dwarf_frame3.c +282 -0
- data/ext/rdwarf/libdwarf/dwarf_funcs.c +123 -0
- data/ext/rdwarf/libdwarf/dwarf_funcs.h +33 -0
- data/ext/rdwarf/libdwarf/dwarf_gdbindex.c +520 -0
- data/ext/rdwarf/libdwarf/dwarf_gdbindex.h +97 -0
- data/ext/rdwarf/libdwarf/dwarf_global.c +612 -0
- data/ext/rdwarf/libdwarf/dwarf_global.h +117 -0
- data/ext/rdwarf/libdwarf/dwarf_harmless.c +228 -0
- data/ext/rdwarf/libdwarf/dwarf_harmless.h +31 -0
- data/ext/rdwarf/libdwarf/dwarf_incl.h +61 -0
- data/ext/rdwarf/libdwarf/dwarf_init_finish.c +1263 -0
- data/ext/rdwarf/libdwarf/dwarf_leb.c +159 -0
- data/ext/rdwarf/libdwarf/dwarf_line.c +1822 -0
- data/ext/rdwarf/libdwarf/dwarf_line.h +446 -0
- data/ext/rdwarf/libdwarf/dwarf_line2.c +98 -0
- data/ext/rdwarf/libdwarf/dwarf_line_table_reader_common.c +1583 -0
- data/ext/rdwarf/libdwarf/dwarf_loc.c +1525 -0
- data/ext/rdwarf/libdwarf/dwarf_loc.h +149 -0
- data/ext/rdwarf/libdwarf/dwarf_loc2.c +833 -0
- data/ext/rdwarf/libdwarf/dwarf_macro.c +479 -0
- data/ext/rdwarf/libdwarf/dwarf_macro.h +35 -0
- data/ext/rdwarf/libdwarf/dwarf_opaque.h +778 -0
- data/ext/rdwarf/libdwarf/dwarf_original_elf_init.c +219 -0
- data/ext/rdwarf/libdwarf/dwarf_print_lines.c +631 -0
- data/ext/rdwarf/libdwarf/dwarf_pubtypes.c +132 -0
- data/ext/rdwarf/libdwarf/dwarf_query.c +1594 -0
- data/ext/rdwarf/libdwarf/dwarf_ranges.c +194 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_arm.h +308 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_mips.h +117 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_ppc.h +242 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_ppc64.h +272 -0
- data/ext/rdwarf/libdwarf/dwarf_reloc_x86_64.h +127 -0
- data/ext/rdwarf/libdwarf/dwarf_sort_line.c +665 -0
- data/ext/rdwarf/libdwarf/dwarf_string.c +82 -0
- data/ext/rdwarf/libdwarf/dwarf_stubs.c +38 -0
- data/ext/rdwarf/libdwarf/dwarf_tied.c +423 -0
- data/ext/rdwarf/libdwarf/dwarf_tsearch.h +125 -0
- data/ext/rdwarf/libdwarf/dwarf_tsearchhash.c +675 -0
- data/ext/rdwarf/libdwarf/dwarf_types.c +121 -0
- data/ext/rdwarf/libdwarf/dwarf_types.h +32 -0
- data/ext/rdwarf/libdwarf/dwarf_util.c +913 -0
- data/ext/rdwarf/libdwarf/dwarf_util.h +324 -0
- data/ext/rdwarf/libdwarf/dwarf_vars.c +125 -0
- data/ext/rdwarf/libdwarf/dwarf_vars.h +29 -0
- data/ext/rdwarf/libdwarf/dwarf_weaks.c +123 -0
- data/ext/rdwarf/libdwarf/dwarf_weaks.h +29 -0
- data/ext/rdwarf/libdwarf/dwarf_xu_index.c +579 -0
- data/ext/rdwarf/libdwarf/dwarf_xu_index.h +68 -0
- data/ext/rdwarf/libdwarf/dwgetopt.c +181 -0
- data/ext/rdwarf/libdwarf/dwgetopt.h +51 -0
- data/ext/rdwarf/libdwarf/gennames.c +531 -0
- data/ext/rdwarf/libdwarf/install.sh +119 -0
- data/ext/rdwarf/libdwarf/libdwarf.h.in +3746 -0
- data/ext/rdwarf/libdwarf/libdwarf2.1.mm +9805 -0
- data/ext/rdwarf/libdwarf/libdwarf2.1.pdf +0 -0
- data/ext/rdwarf/libdwarf/libdwarf2p.1.mm +2807 -0
- data/ext/rdwarf/libdwarf/libdwarf2p.1.pdf +0 -0
- data/ext/rdwarf/libdwarf/libdwarfdefs.h +81 -0
- data/ext/rdwarf/libdwarf/malloc_check.c +327 -0
- data/ext/rdwarf/libdwarf/malloc_check.h +52 -0
- data/ext/rdwarf/libdwarf/mips_extensions.mm +1266 -0
- data/ext/rdwarf/libdwarf/mips_extensions.pdf +0 -0
- data/ext/rdwarf/libdwarf/pro_alloc.c +179 -0
- data/ext/rdwarf/libdwarf/pro_alloc.h +33 -0
- data/ext/rdwarf/libdwarf/pro_arange.c +310 -0
- data/ext/rdwarf/libdwarf/pro_arange.h +51 -0
- data/ext/rdwarf/libdwarf/pro_die.c +431 -0
- data/ext/rdwarf/libdwarf/pro_die.h +59 -0
- data/ext/rdwarf/libdwarf/pro_encode_nm.c +108 -0
- data/ext/rdwarf/libdwarf/pro_encode_nm.h +39 -0
- data/ext/rdwarf/libdwarf/pro_error.c +96 -0
- data/ext/rdwarf/libdwarf/pro_error.h +43 -0
- data/ext/rdwarf/libdwarf/pro_expr.c +575 -0
- data/ext/rdwarf/libdwarf/pro_expr.h +36 -0
- data/ext/rdwarf/libdwarf/pro_finish.c +45 -0
- data/ext/rdwarf/libdwarf/pro_forms.c +1271 -0
- data/ext/rdwarf/libdwarf/pro_frame.c +572 -0
- data/ext/rdwarf/libdwarf/pro_frame.h +120 -0
- data/ext/rdwarf/libdwarf/pro_funcs.c +50 -0
- data/ext/rdwarf/libdwarf/pro_incl.h +91 -0
- data/ext/rdwarf/libdwarf/pro_init.c +327 -0
- data/ext/rdwarf/libdwarf/pro_line.c +373 -0
- data/ext/rdwarf/libdwarf/pro_line.h +112 -0
- data/ext/rdwarf/libdwarf/pro_macinfo.c +457 -0
- data/ext/rdwarf/libdwarf/pro_macinfo.h +31 -0
- data/ext/rdwarf/libdwarf/pro_opaque.h +513 -0
- data/ext/rdwarf/libdwarf/pro_pubnames.c +60 -0
- data/ext/rdwarf/libdwarf/pro_reloc.c +253 -0
- data/ext/rdwarf/libdwarf/pro_reloc.h +38 -0
- data/ext/rdwarf/libdwarf/pro_reloc_stream.c +256 -0
- data/ext/rdwarf/libdwarf/pro_reloc_stream.h +52 -0
- data/ext/rdwarf/libdwarf/pro_reloc_symbolic.c +245 -0
- data/ext/rdwarf/libdwarf/pro_reloc_symbolic.h +45 -0
- data/ext/rdwarf/libdwarf/pro_section.c +2233 -0
- data/ext/rdwarf/libdwarf/pro_section.h +100 -0
- data/ext/rdwarf/libdwarf/pro_types.c +274 -0
- data/ext/rdwarf/libdwarf/pro_types.h +34 -0
- data/ext/rdwarf/libdwarf/pro_util.h +38 -0
- data/ext/rdwarf/libdwarf/pro_vars.c +52 -0
- data/ext/rdwarf/libdwarf/pro_weaks.c +51 -0
- data/ext/rdwarf/rdwarf.c +765 -0
- data/ext/rdwarf/rdwarf.h +52 -0
- data/ext/rdwarf/rdwarf_names_gen.rb +109 -0
- data/lib/rdwarf.rb +181 -0
- data/lib/rdwarf/version.rb +3 -0
- data/rdwarf.gemspec +30 -0
- metadata +251 -0
@@ -0,0 +1,167 @@
|
|
1
|
+
dnl Process this file with autoconf to produce a configure script.
|
2
|
+
dnlAC_INIT(libdwarf.h)
|
3
|
+
AC_INIT()
|
4
|
+
AC_CONFIG_HEADER(config.h)
|
5
|
+
|
6
|
+
AC_PROG_CC
|
7
|
+
AC_C_BIGENDIAN
|
8
|
+
AC_GCC_TRADITIONAL
|
9
|
+
AC_PROG_INSTALL
|
10
|
+
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
11
|
+
AC_CHECK_TOOL(AR, ar)
|
12
|
+
|
13
|
+
dnl AC_ARFLAGS
|
14
|
+
|
15
|
+
AC_CHECK_HEADERS(alloca.h elf.h elfaccess.h libelf.h libelf/libelf.h sys/types.h sys/ia64/elf.h)
|
16
|
+
|
17
|
+
dnl The default libdwarf is the one with struct Elf
|
18
|
+
echo Assuming struct Elf for the default libdwarf.h
|
19
|
+
cp $srcdir/libdwarf.h.in libdwarf.h
|
20
|
+
|
21
|
+
AC_CHECK_LIB(elf,elf64_getehdr,
|
22
|
+
AC_DEFINE(HAVE_ELF64_GETEHDR,1,
|
23
|
+
[Define to 1 if the elf64_getehdr function is in libelf.a.]))
|
24
|
+
AC_CHECK_LIB(elf,elf64_getshdr,
|
25
|
+
AC_DEFINE(HAVE_ELF64_GETSHDR,1,
|
26
|
+
[Define to 1 if the elf64_getshdr function is in libelf.a.]))
|
27
|
+
AC_TRY_COMPILE( , __uint32_t p; p = 3; ,AC_DEFINE(HAVE___UINT32_T,1,
|
28
|
+
[See if __uint32_t is predefined in the compiler.]))
|
29
|
+
AC_TRY_COMPILE( , __uint64_t p; p = 3; ,AC_DEFINE(HAVE___UINT64_T,1,
|
30
|
+
[See if __uint64_t is predefined in the compiler.]))
|
31
|
+
AC_TRY_COMPILE([#include <sys/types.h>],[ __uint32_t p; p = 3;] ,
|
32
|
+
AC_DEFINE(HAVE___UINT32_T_IN_SYS_TYPES_H,1,
|
33
|
+
[Define 1 if sys/types.h defines __uint32_t.]))
|
34
|
+
AC_TRY_COMPILE([#include <sys/types.h>],[ __uint64_t p; p = 3;] ,
|
35
|
+
AC_DEFINE(HAVE___UINT64_T_IN_SYS_TYPES_H,1,
|
36
|
+
[Define 1 if sys/types.h defines __uint64_t.]))
|
37
|
+
|
38
|
+
|
39
|
+
dnl The following are for FreeBSD and others which
|
40
|
+
dnl use struct _Elf as the actual struct type.
|
41
|
+
AC_TRY_COMPILE([#include <libelf/libelf.h>
|
42
|
+
struct _Elf; typedef struct _Elf Elf; ],
|
43
|
+
[struct _Elf *a = 0; ],
|
44
|
+
[ sed 's/struct Elf/struct _Elf/g' <$srcdir/libdwarf.h.in >libdwarf.h ;
|
45
|
+
echo Found struct _Elf in libelf/libelf.h, using it in libdwarf.h ],
|
46
|
+
[echo libelf/libelf.h does not have struct _Elf])
|
47
|
+
AC_TRY_COMPILE([#include <libelf.h>
|
48
|
+
struct _Elf; typedef struct _Elf Elf; ],
|
49
|
+
[ struct _Elf *a = 0; ],
|
50
|
+
[ sed 's/struct Elf/struct _Elf/g' <$srcdir/libdwarf.h.in >libdwarf.h ;
|
51
|
+
echo Found struct _Elf in libelf.h, using it in libdwarf.h ],
|
52
|
+
[echo libelf.h does not have struct _Elf])
|
53
|
+
|
54
|
+
|
55
|
+
dnl checking for ia 64 types, which might be enums, using HAVE_R_IA_64_DIR32LSB
|
56
|
+
dnl to stand in for a small set.
|
57
|
+
AC_TRY_COMPILE([#include <elf.h>],[ int p; p = R_IA_64_DIR32LSB;] ,
|
58
|
+
AC_DEFINE(HAVE_R_IA_64_DIR32LSB,1,
|
59
|
+
[Define 1 if R_IA_64_DIR32LSB is defined (might be enum value).]))
|
60
|
+
|
61
|
+
AC_TRY_COMPILE([#include <libelf.h>],[ struct _Elf a; int i; i = 0; ] ,
|
62
|
+
AC_DEFINE(HAVE_STRUCT_UNDERSCORE_ELF,1,
|
63
|
+
[Define 1 if libelf.h defines struct _Elf ]))
|
64
|
+
|
65
|
+
AC_TRY_COMPILE([
|
66
|
+
#include <libelf.h>
|
67
|
+
],[ int p; p = 0; ] ,
|
68
|
+
AC_DEFINE(HAVE_RAW_LIBELF_OK,1,
|
69
|
+
[Define 1 if plain libelf builds.]))
|
70
|
+
AC_TRY_COMPILE([
|
71
|
+
#define _GNU_SOURCE
|
72
|
+
#include <libelf.h>
|
73
|
+
],[ off64_t p; p = 0;] ,
|
74
|
+
AC_DEFINE(HAVE_LIBELF_OFF64_OK,1,
|
75
|
+
[Define 1 if off64 is defined via libelf with GNU_SOURCE.]))
|
76
|
+
|
77
|
+
dnl the existence of sgidefs.h does not prove it's truly SGI, nor
|
78
|
+
dnl prove that __uint32_t or __uint64_t is defined therein.
|
79
|
+
AC_TRY_COMPILE([#include <sgidefs.h>],[ __uint32_t p; p = 27;] ,
|
80
|
+
AC_DEFINE(HAVE___UINT32_T_IN_SGIDEFS_H,1,
|
81
|
+
[Define 1 if __uint32_t is in sgidefs.h.]))
|
82
|
+
AC_TRY_COMPILE([#include <sgidefs.h>],[ __uint64_t p; p = 27;] ,
|
83
|
+
AC_DEFINE(HAVE___UINT64_T_IN_SGIDEFS_H,1,
|
84
|
+
[Define 1 if __uint64_t is in sgidefs.h.]))
|
85
|
+
AC_TRY_COMPILE([#include <sgidefs.h>],[ __uint64_t p; p = 27;] ,
|
86
|
+
AC_DEFINE(HAVE___UINT64_T_IN_SGIDEFS_H,1,
|
87
|
+
[Define 1 if is in sgidefs.h.]))
|
88
|
+
AC_TRY_COMPILE([#include <elf.h>],[ Elf64_Rela p; p.r_offset = 1; ],
|
89
|
+
AC_DEFINE(HAVE_ELF64_RELA,1,
|
90
|
+
[Define 1 if Elf64_Rela defined.]))
|
91
|
+
AC_TRY_COMPILE([#include <elf.h>],[ Elf64_Sym p; p.st_info = 1; ],
|
92
|
+
AC_DEFINE(HAVE_ELF64_SYM,1,
|
93
|
+
[Define 1 if Elf64_Sym defined.]))
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
dnl default-disabled shared
|
98
|
+
AC_SUBST(build_shared,[none])
|
99
|
+
AC_SUBST(dwfpic,[])
|
100
|
+
AC_ARG_ENABLE(shared,AC_HELP_STRING([--enable-shared],
|
101
|
+
[build shared library libdwarf.so]))
|
102
|
+
AS_IF([ test "x$enable_shared" = "xyes"], [
|
103
|
+
AC_SUBST(build_shared,[libdwarf.so])
|
104
|
+
AC_SUBST(dwfpic,[-fPIC])
|
105
|
+
])
|
106
|
+
|
107
|
+
dnl default-enabled nonshared
|
108
|
+
AC_SUBST(build_nonshared,[libdwarf.a])
|
109
|
+
AC_ARG_ENABLE(nonshared,AC_HELP_STRING([--disable-nonshared],
|
110
|
+
[do not build archive library libdwarf.a]))
|
111
|
+
AS_IF([ test "x$enable_nonshared" = "xno"], [
|
112
|
+
dnl We could turn on shared here if not already on.
|
113
|
+
AC_SUBST(build_nonshared,[none])
|
114
|
+
])
|
115
|
+
|
116
|
+
dnl This adds compiler option -Wall (gcc compiler warnings)
|
117
|
+
AC_SUBST(dwfwall,[])
|
118
|
+
AC_ARG_ENABLE(wall,AC_HELP_STRING([--enable-wall],
|
119
|
+
[Add -Wall (default is none)]),
|
120
|
+
[ AC_SUBST(dwfwall,[]) ]
|
121
|
+
[ AC_SUBST(dwfwall,["-Wall -O0"]) ])
|
122
|
+
|
123
|
+
dnl This changes the gennames option from -s to -t
|
124
|
+
AC_SUBST(dwarf_namestable,[-s])
|
125
|
+
AC_ARG_ENABLE(namestable,AC_HELP_STRING([--enable-namestable],
|
126
|
+
[Name string functions implemented as binary search (default is with C switch)]),
|
127
|
+
[ AC_SUBST(dwarf_namestable,[-s]) ]
|
128
|
+
[ AC_SUBST(dwarf_namestable,[-t]) ])
|
129
|
+
|
130
|
+
AC_ARG_ENABLE(nonstandardprintf,AS_HELP_STRING([--enable-nonstandardprintf],
|
131
|
+
[Use a special printf format for 64bit (default is NO)]),
|
132
|
+
[ AC_DEFINE([HAVE_NONSTANDARD_PRINTF_64_FORMAT],[1],
|
133
|
+
[Define 1 if need nonstandard printf format for 64bit] )],
|
134
|
+
[])
|
135
|
+
|
136
|
+
AC_ARG_ENABLE(windowspath,AC_HELP_STRING([--enable-windowspath],
|
137
|
+
[Detect certain Windows paths as full paths (default is NO)]),
|
138
|
+
[ AC_DEFINE([HAVE_WINDOWS_PATH],[1],
|
139
|
+
[Define 1 if want to allow Windows full path detection] )],
|
140
|
+
[])
|
141
|
+
|
142
|
+
AC_ARG_ENABLE(oldframecol,AC_HELP_STRING([--enable-oldframecol],
|
143
|
+
[Use HAVE_OLD_FRAME_CFA_COL (default is to use new DW_FRAME_CFA_COL3)]),
|
144
|
+
[ AC_DEFINE([HAVE_OLD_FRAME_CFA_COL],[1],
|
145
|
+
[Define 1 to default to old DW_FRAME_CFA_COL] )],
|
146
|
+
[])
|
147
|
+
|
148
|
+
AC_TRY_COMPILE([#include "stdafx.h"],[ int p; p = 27;] ,
|
149
|
+
AC_DEFINE(HAVE_STDAFX_H,1,
|
150
|
+
[Define 1 if we have the Windows specific header stdafx.h]))
|
151
|
+
|
152
|
+
dnl See pro_init(), HAVE_DWARF2_99_EXTENSION also generates
|
153
|
+
dnl 32bit offset dwarf unless DW_DLC_OFFSET_SIZE_64 flag passed to
|
154
|
+
dnl pro_init.
|
155
|
+
AC_ARG_ENABLE(dwarf_format_sgi_irix, AC_HELP_STRING([--enable-dwarf-format-sgi-irix],
|
156
|
+
[Force producer to SGI IRIX offset dwarf.]),
|
157
|
+
[AC_DEFINE(HAVE_SGI_IRIX_OFFSETS,1,
|
158
|
+
[Define 1 if want producer to build with IRIX offset sizes] )],
|
159
|
+
|
160
|
+
[AC_ARG_ENABLE(dwarf_format_strict_32bit, AC_HELP_STRING([--enable-dwarf-format-strict-32bit],
|
161
|
+
[Force producer to generate only DWARF format 32bit.]),
|
162
|
+
[AC_DEFINE(HAVE_STRICT_DWARF2_32BIT_OFFSET,1,
|
163
|
+
[Define 1 if want producer to build with only 32bit section offsets] )],
|
164
|
+
[AC_DEFINE(HAVE_DWARF2_99_EXTENSION,1,
|
165
|
+
[Define 1 if want to allow producer to build with 32/64bit section offsets per dwarf3] )])])
|
166
|
+
|
167
|
+
AC_OUTPUT(Makefile)
|
@@ -0,0 +1,39 @@
|
|
1
|
+
Line Table Header variations.
|
2
|
+
The experimental version has a distinct version
|
3
|
+
number of 0xf006 so cannot be confused with DWARF4 or 5.
|
4
|
+
|
5
|
+
DWversion
|
6
|
+
2,3,4,5 meaning the DWARF standards
|
7
|
+
x meaning gcc's experimental two level line table.
|
8
|
+
|
9
|
+
2345x 1. unit_length (4 or 12 bytes)
|
10
|
+
2345x 2. version (2 bytes, for x is 0xF006)
|
11
|
+
5 2.1 address_size
|
12
|
+
5 2.2 segment_selector_size
|
13
|
+
2345x 3. header_length (4 or 8 bytes)
|
14
|
+
2345x 4. minimum_instruction_length (1 byte)
|
15
|
+
45 x 5. maximum_operations_per_instruction (1 byte)
|
16
|
+
2345x 6. default_is_stmt (1 byte)
|
17
|
+
2345x 7. line_base (1 byte)
|
18
|
+
2345x 8. line_range (1 byte)
|
19
|
+
2345x 9. opcode_base (1 byte)
|
20
|
+
2345x 10. standard_opcode_lengths (array of length opcode_base - 1)
|
21
|
+
234 x 11. include directories (for x just one NUL byte(empty list))
|
22
|
+
234 x 12. file_names (for x just one NUL byte(empty list))
|
23
|
+
x 13. fake_extended_op (5 bytes: 00 FF FF 7F 7F)
|
24
|
+
x 14. logicals_table_offset (4 or 8 bytes)
|
25
|
+
x 15. actuals_table_offset (4 or 8 bytes)
|
26
|
+
x5 16. directory_entry_format_count (1 byte)
|
27
|
+
x5 17. directory_entry_format (sequence of unsigned LEB128 pairs)
|
28
|
+
x5 18. directories_count (unsigned LEB128)
|
29
|
+
x5 19. directories (sequence of directory entries)
|
30
|
+
x5 20. file_name_entry_format_count (1 byte)
|
31
|
+
x5 21. file_name_entry_format (sequence of unsigned LEB128 pairs)
|
32
|
+
x5 22. file_names_count (unsigned LEB128)
|
33
|
+
x5 23. file_names (sequence of directory entries)
|
34
|
+
x 24. subprogram_entry_format_count (1 byte)
|
35
|
+
x 25. subprogram_entry_format (sequence of unsigned LEB128 pairs)
|
36
|
+
x 26. subprograms_count (unsigned LEB128)
|
37
|
+
x 27. subprograms (sequence of directory entries)
|
38
|
+
|
39
|
+
|
@@ -0,0 +1,1342 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (C) 2000,2001,2003,2004,2005,2006 Silicon Graphics, Inc. All Rights Reserved.
|
3
|
+
Portions Copyright 2002-2010 Sun Microsystems, Inc. All rights reserved.
|
4
|
+
Portions Copyright 2007-2015 David Anderson. All rights reserved.
|
5
|
+
|
6
|
+
This program is free software; you can redistribute it and/or modify it
|
7
|
+
under the terms of version 2.1 of the GNU Lesser General Public License
|
8
|
+
as published by the Free Software Foundation.
|
9
|
+
|
10
|
+
This program is distributed in the hope that it would be useful, but
|
11
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
13
|
+
|
14
|
+
Further, this software is distributed without any warranty that it is
|
15
|
+
free of the rightful claim of any third person regarding infringement
|
16
|
+
or the like. Any license provided herein, whether implied or
|
17
|
+
otherwise, applies only to this software file. Patent licenses, if
|
18
|
+
any, provided herein do not apply to combinations of this program with
|
19
|
+
other software, or any other product whatsoever.
|
20
|
+
|
21
|
+
You should have received a copy of the GNU Lesser General Public
|
22
|
+
License along with this program; if not, write the Free Software
|
23
|
+
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston MA 02110-1301,
|
24
|
+
USA.
|
25
|
+
|
26
|
+
*/
|
27
|
+
|
28
|
+
|
29
|
+
#ifndef __DWARF_H
|
30
|
+
#define __DWARF_H
|
31
|
+
#ifdef __cplusplus
|
32
|
+
extern "C" {
|
33
|
+
#endif
|
34
|
+
|
35
|
+
/*
|
36
|
+
dwarf.h DWARF debugging information values
|
37
|
+
$Revision: 1.41 $ $Date: 2006/04/17 00:09:56 $
|
38
|
+
|
39
|
+
The comment "DWARF3" appears where there are
|
40
|
+
new entries from DWARF3 as of 2004, "DWARF3f"
|
41
|
+
where there are new entries as of the November 2005
|
42
|
+
public review document and other comments apply
|
43
|
+
where extension entries appear.
|
44
|
+
|
45
|
+
Extensions part of DWARF4 are marked DWARF4.
|
46
|
+
|
47
|
+
A few extension names have omitted the 'vendor id'
|
48
|
+
(See chapter 7, "Vendor Extensibility"). Please
|
49
|
+
always use a 'vendor id' string in extension names.
|
50
|
+
|
51
|
+
Vendors should use a vendor string in names and
|
52
|
+
whereever possible avoid duplicating values used by
|
53
|
+
other vendor extensions
|
54
|
+
*/
|
55
|
+
|
56
|
+
|
57
|
+
#define DW_TAG_array_type 0x01
|
58
|
+
#define DW_TAG_class_type 0x02
|
59
|
+
#define DW_TAG_entry_point 0x03
|
60
|
+
#define DW_TAG_enumeration_type 0x04
|
61
|
+
#define DW_TAG_formal_parameter 0x05
|
62
|
+
#define DW_TAG_imported_declaration 0x08
|
63
|
+
#define DW_TAG_label 0x0a
|
64
|
+
#define DW_TAG_lexical_block 0x0b
|
65
|
+
#define DW_TAG_member 0x0d
|
66
|
+
#define DW_TAG_pointer_type 0x0f
|
67
|
+
#define DW_TAG_reference_type 0x10
|
68
|
+
#define DW_TAG_compile_unit 0x11
|
69
|
+
#define DW_TAG_string_type 0x12
|
70
|
+
#define DW_TAG_structure_type 0x13
|
71
|
+
#define DW_TAG_subroutine_type 0x15
|
72
|
+
#define DW_TAG_typedef 0x16
|
73
|
+
#define DW_TAG_union_type 0x17
|
74
|
+
#define DW_TAG_unspecified_parameters 0x18
|
75
|
+
#define DW_TAG_variant 0x19
|
76
|
+
#define DW_TAG_common_block 0x1a
|
77
|
+
#define DW_TAG_common_inclusion 0x1b
|
78
|
+
#define DW_TAG_inheritance 0x1c
|
79
|
+
#define DW_TAG_inlined_subroutine 0x1d
|
80
|
+
#define DW_TAG_module 0x1e
|
81
|
+
#define DW_TAG_ptr_to_member_type 0x1f
|
82
|
+
#define DW_TAG_set_type 0x20
|
83
|
+
#define DW_TAG_subrange_type 0x21
|
84
|
+
#define DW_TAG_with_stmt 0x22
|
85
|
+
#define DW_TAG_access_declaration 0x23
|
86
|
+
#define DW_TAG_base_type 0x24
|
87
|
+
#define DW_TAG_catch_block 0x25
|
88
|
+
#define DW_TAG_const_type 0x26
|
89
|
+
#define DW_TAG_constant 0x27
|
90
|
+
#define DW_TAG_enumerator 0x28
|
91
|
+
#define DW_TAG_file_type 0x29
|
92
|
+
#define DW_TAG_friend 0x2a
|
93
|
+
#define DW_TAG_namelist 0x2b
|
94
|
+
/* Early releases of this header had the following
|
95
|
+
misspelled with a trailing 's' */
|
96
|
+
#define DW_TAG_namelist_item 0x2c /* DWARF3/2 spelling */
|
97
|
+
#define DW_TAG_namelist_items 0x2c /* SGI misspelling/typo */
|
98
|
+
#define DW_TAG_packed_type 0x2d
|
99
|
+
#define DW_TAG_subprogram 0x2e
|
100
|
+
/* The DWARF2 document had two spellings of the following
|
101
|
+
two TAGs, DWARF3 specifies the longer spelling. */
|
102
|
+
#define DW_TAG_template_type_parameter 0x2f /* DWARF3/2 spelling*/
|
103
|
+
#define DW_TAG_template_type_param 0x2f /* DWARF2 spelling*/
|
104
|
+
#define DW_TAG_template_value_parameter 0x30 /* DWARF3/2 spelling*/
|
105
|
+
#define DW_TAG_template_value_param 0x30 /* DWARF2 spelling*/
|
106
|
+
#define DW_TAG_thrown_type 0x31
|
107
|
+
#define DW_TAG_try_block 0x32
|
108
|
+
#define DW_TAG_variant_part 0x33
|
109
|
+
#define DW_TAG_variable 0x34
|
110
|
+
#define DW_TAG_volatile_type 0x35
|
111
|
+
#define DW_TAG_dwarf_procedure 0x36 /* DWARF3 */
|
112
|
+
#define DW_TAG_restrict_type 0x37 /* DWARF3 */
|
113
|
+
#define DW_TAG_interface_type 0x38 /* DWARF3 */
|
114
|
+
#define DW_TAG_namespace 0x39 /* DWARF3 */
|
115
|
+
#define DW_TAG_imported_module 0x3a /* DWARF3 */
|
116
|
+
#define DW_TAG_unspecified_type 0x3b /* DWARF3 */
|
117
|
+
#define DW_TAG_partial_unit 0x3c /* DWARF3 */
|
118
|
+
#define DW_TAG_imported_unit 0x3d /* DWARF3 */
|
119
|
+
/* Do not use DW_TAG_mutable_type */
|
120
|
+
#define DW_TAG_mutable_type 0x3e /* Withdrawn from DWARF3 by DWARF3f. */
|
121
|
+
#define DW_TAG_condition 0x3f /* DWARF3f */
|
122
|
+
#define DW_TAG_shared_type 0x40 /* DWARF3f */
|
123
|
+
#define DW_TAG_type_unit 0x41 /* DWARF4 */
|
124
|
+
#define DW_TAG_rvalue_reference_type 0x42 /* DWARF4 */
|
125
|
+
#define DW_TAG_template_alias 0x43 /* DWARF4 */
|
126
|
+
#define DW_TAG_coarray_type 0x44 /* DWARF5 */
|
127
|
+
#define DW_TAG_generic_subrange 0x45 /* DWARF5 */
|
128
|
+
#define DW_TAG_dynamic_type 0x46 /* DWARF5 */
|
129
|
+
#define DW_TAG_atomic_type 0x47 /* DWARF5 */
|
130
|
+
#define DW_TAG_call_site 0x48 /* DWARF5 */
|
131
|
+
#define DW_TAG_call_site_parameter 0x49 /* DWARF5 */
|
132
|
+
#define DW_TAG_lo_user 0x4080
|
133
|
+
|
134
|
+
#define DW_TAG_MIPS_loop 0x4081
|
135
|
+
|
136
|
+
/* HP extensions: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz */
|
137
|
+
#define DW_TAG_HP_array_descriptor 0x4090 /* HP */
|
138
|
+
|
139
|
+
/* GNU extensions. The first 3 missing the GNU_. */
|
140
|
+
#define DW_TAG_format_label 0x4101 /* GNU. Fortran. */
|
141
|
+
#define DW_TAG_function_template 0x4102 /* GNU. For C++ */
|
142
|
+
#define DW_TAG_class_template 0x4103 /* GNU. For C++ */
|
143
|
+
#define DW_TAG_GNU_BINCL 0x4104 /* GNU */
|
144
|
+
#define DW_TAG_GNU_EINCL 0x4105 /* GNU */
|
145
|
+
|
146
|
+
/* GNU extension. http://gcc.gnu.org/wiki/TemplateParmsDwarf */
|
147
|
+
#define DW_TAG_GNU_template_template_parameter 0x4106 /* GNU */
|
148
|
+
#define DW_TAG_GNU_template_template_param 0x4106 /* GNU */
|
149
|
+
#define DW_TAG_GNU_template_parameter_pack 0x4107 /* GNU */
|
150
|
+
#define DW_TAG_GNU_formal_parameter_pack 0x4108 /* GNU */
|
151
|
+
|
152
|
+
#define DW_TAG_GNU_call_site 0x4109 /* GNU */
|
153
|
+
#define DW_TAG_GNU_call_site_parameter 0x410a /* GNU */
|
154
|
+
|
155
|
+
/* ALTIUM extensions */
|
156
|
+
/* DSP-C/Starcore __circ qualifier */
|
157
|
+
#define DW_TAG_ALTIUM_circ_type 0x5101 /* ALTIUM */
|
158
|
+
/* Starcore __mwa_circ qualifier */
|
159
|
+
#define DW_TAG_ALTIUM_mwa_circ_type 0x5102 /* ALTIUM */
|
160
|
+
/* Starcore __rev_carry qualifier */
|
161
|
+
#define DW_TAG_ALTIUM_rev_carry_type 0x5103 /* ALTIUM */
|
162
|
+
/* M16 __rom qualifier */
|
163
|
+
#define DW_TAG_ALTIUM_rom 0x5111 /* ALTIUM */
|
164
|
+
|
165
|
+
/* The following 3 are extensions to support UPC */
|
166
|
+
#define DW_TAG_upc_shared_type 0x8765 /* UPC */
|
167
|
+
#define DW_TAG_upc_strict_type 0x8766 /* UPC */
|
168
|
+
#define DW_TAG_upc_relaxed_type 0x8767 /* UPC */
|
169
|
+
|
170
|
+
/* PGI (STMicroelectronics) extensions. */
|
171
|
+
#define DW_TAG_PGI_kanji_type 0xa000 /* PGI */
|
172
|
+
#define DW_TAG_PGI_interface_block 0xa020 /* PGI */
|
173
|
+
/* The following are SUN extensions */
|
174
|
+
#define DW_TAG_SUN_function_template 0x4201 /* SUN */
|
175
|
+
#define DW_TAG_SUN_class_template 0x4202 /* SUN */
|
176
|
+
#define DW_TAG_SUN_struct_template 0x4203 /* SUN */
|
177
|
+
#define DW_TAG_SUN_union_template 0x4204 /* SUN */
|
178
|
+
#define DW_TAG_SUN_indirect_inheritance 0x4205 /* SUN */
|
179
|
+
#define DW_TAG_SUN_codeflags 0x4206 /* SUN */
|
180
|
+
#define DW_TAG_SUN_memop_info 0x4207 /* SUN */
|
181
|
+
#define DW_TAG_SUN_omp_child_func 0x4208 /* SUN */
|
182
|
+
#define DW_TAG_SUN_rtti_descriptor 0x4209 /* SUN */
|
183
|
+
#define DW_TAG_SUN_dtor_info 0x420a /* SUN */
|
184
|
+
#define DW_TAG_SUN_dtor 0x420b /* SUN */
|
185
|
+
#define DW_TAG_SUN_f90_interface 0x420c /* SUN */
|
186
|
+
#define DW_TAG_SUN_fortran_vax_structure 0x420d /* SUN */
|
187
|
+
#define DW_TAG_SUN_hi 0x42ff /* SUN */
|
188
|
+
|
189
|
+
#define DW_TAG_hi_user 0xffff
|
190
|
+
|
191
|
+
#define DW_children_no 0
|
192
|
+
#define DW_children_yes 1
|
193
|
+
|
194
|
+
#define DW_FORM_addr 0x01
|
195
|
+
#define DW_FORM_block2 0x03
|
196
|
+
#define DW_FORM_block4 0x04
|
197
|
+
#define DW_FORM_data2 0x05
|
198
|
+
#define DW_FORM_data4 0x06
|
199
|
+
#define DW_FORM_data8 0x07
|
200
|
+
#define DW_FORM_string 0x08
|
201
|
+
#define DW_FORM_block 0x09
|
202
|
+
#define DW_FORM_block1 0x0a
|
203
|
+
#define DW_FORM_data1 0x0b
|
204
|
+
#define DW_FORM_flag 0x0c
|
205
|
+
#define DW_FORM_sdata 0x0d
|
206
|
+
#define DW_FORM_strp 0x0e
|
207
|
+
#define DW_FORM_udata 0x0f
|
208
|
+
#define DW_FORM_ref_addr 0x10
|
209
|
+
#define DW_FORM_ref1 0x11
|
210
|
+
#define DW_FORM_ref2 0x12
|
211
|
+
#define DW_FORM_ref4 0x13
|
212
|
+
#define DW_FORM_ref8 0x14
|
213
|
+
#define DW_FORM_ref_udata 0x15
|
214
|
+
#define DW_FORM_indirect 0x16
|
215
|
+
#define DW_FORM_sec_offset 0x17 /* DWARF4 */
|
216
|
+
#define DW_FORM_exprloc 0x18 /* DWARF4 */
|
217
|
+
#define DW_FORM_flag_present 0x19 /* DWARF4 */
|
218
|
+
#define DW_FORM_strx 0x1a /* DWARF5 */
|
219
|
+
#define DW_FORM_addrx 0x1b /* DWARF5 */
|
220
|
+
#define DW_FORM_ref_sup 0x1c /* DWARF5 */
|
221
|
+
#define DW_FORM_strp_sup 0x1d /* DWARF5 */
|
222
|
+
#define DW_FORM_data16 0x1e /* DWARF5 */
|
223
|
+
#define DW_FORM_line_strp 0x1f /* DWARF5 */
|
224
|
+
#define DW_FORM_ref_sig8 0x20 /* DWARF4 */
|
225
|
+
#define DW_FORM_GNU_addr_index 0x1f01 /* GNU extension in debug_info.dwo.*/
|
226
|
+
#define DW_FORM_GNU_str_index 0x1f02 /* GNU extension, somewhat like DW_FORM_strp */
|
227
|
+
#define DW_FORM_GNU_ref_alt 0x1f20 /* GNU extension. Offset in .debug_info. */
|
228
|
+
#define DW_FORM_GNU_strp_alt 0x1f21 /* GNU extension. Offset in .debug_str of another object file. */
|
229
|
+
|
230
|
+
#define DW_AT_sibling 0x01
|
231
|
+
#define DW_AT_location 0x02
|
232
|
+
#define DW_AT_name 0x03
|
233
|
+
#define DW_AT_ordering 0x09
|
234
|
+
#define DW_AT_subscr_data 0x0a
|
235
|
+
#define DW_AT_byte_size 0x0b
|
236
|
+
#define DW_AT_bit_offset 0x0c
|
237
|
+
#define DW_AT_bit_size 0x0d
|
238
|
+
#define DW_AT_element_list 0x0f
|
239
|
+
#define DW_AT_stmt_list 0x10
|
240
|
+
#define DW_AT_low_pc 0x11
|
241
|
+
#define DW_AT_high_pc 0x12
|
242
|
+
#define DW_AT_language 0x13
|
243
|
+
#define DW_AT_member 0x14
|
244
|
+
#define DW_AT_discr 0x15
|
245
|
+
#define DW_AT_discr_value 0x16
|
246
|
+
#define DW_AT_visibility 0x17
|
247
|
+
#define DW_AT_import 0x18
|
248
|
+
#define DW_AT_string_length 0x19
|
249
|
+
#define DW_AT_common_reference 0x1a
|
250
|
+
#define DW_AT_comp_dir 0x1b
|
251
|
+
#define DW_AT_const_value 0x1c
|
252
|
+
#define DW_AT_containing_type 0x1d
|
253
|
+
#define DW_AT_default_value 0x1e
|
254
|
+
#define DW_AT_inline 0x20
|
255
|
+
#define DW_AT_is_optional 0x21
|
256
|
+
#define DW_AT_lower_bound 0x22
|
257
|
+
#define DW_AT_producer 0x25
|
258
|
+
#define DW_AT_prototyped 0x27
|
259
|
+
#define DW_AT_return_addr 0x2a
|
260
|
+
#define DW_AT_start_scope 0x2c
|
261
|
+
#define DW_AT_bit_stride 0x2e /* DWARF3 name */
|
262
|
+
#define DW_AT_stride_size 0x2e /* DWARF2 name */
|
263
|
+
#define DW_AT_upper_bound 0x2f
|
264
|
+
#define DW_AT_abstract_origin 0x31
|
265
|
+
#define DW_AT_accessibility 0x32
|
266
|
+
#define DW_AT_address_class 0x33
|
267
|
+
#define DW_AT_artificial 0x34
|
268
|
+
#define DW_AT_base_types 0x35
|
269
|
+
#define DW_AT_calling_convention 0x36
|
270
|
+
#define DW_AT_count 0x37
|
271
|
+
#define DW_AT_data_member_location 0x38
|
272
|
+
#define DW_AT_decl_column 0x39
|
273
|
+
#define DW_AT_decl_file 0x3a
|
274
|
+
#define DW_AT_decl_line 0x3b
|
275
|
+
#define DW_AT_declaration 0x3c
|
276
|
+
#define DW_AT_discr_list 0x3d
|
277
|
+
#define DW_AT_encoding 0x3e
|
278
|
+
#define DW_AT_external 0x3f
|
279
|
+
#define DW_AT_frame_base 0x40
|
280
|
+
#define DW_AT_friend 0x41
|
281
|
+
#define DW_AT_identifier_case 0x42
|
282
|
+
#define DW_AT_macro_info 0x43 /* DWARF2-DWARF4, not DWARF5 */
|
283
|
+
#define DW_AT_namelist_item 0x44
|
284
|
+
#define DW_AT_priority 0x45
|
285
|
+
#define DW_AT_segment 0x46
|
286
|
+
#define DW_AT_specification 0x47
|
287
|
+
#define DW_AT_static_link 0x48
|
288
|
+
#define DW_AT_type 0x49
|
289
|
+
#define DW_AT_use_location 0x4a
|
290
|
+
#define DW_AT_variable_parameter 0x4b
|
291
|
+
#define DW_AT_virtuality 0x4c
|
292
|
+
#define DW_AT_vtable_elem_location 0x4d
|
293
|
+
#define DW_AT_allocated 0x4e /* DWARF3 */
|
294
|
+
#define DW_AT_associated 0x4f /* DWARF3 */
|
295
|
+
#define DW_AT_data_location 0x50 /* DWARF3 */
|
296
|
+
#define DW_AT_byte_stride 0x51 /* DWARF3f */
|
297
|
+
#define DW_AT_stride 0x51 /* DWARF3 (do not use) */
|
298
|
+
#define DW_AT_entry_pc 0x52 /* DWARF3 */
|
299
|
+
#define DW_AT_use_UTF8 0x53 /* DWARF3 */
|
300
|
+
#define DW_AT_extension 0x54 /* DWARF3 */
|
301
|
+
#define DW_AT_ranges 0x55 /* DWARF3 */
|
302
|
+
#define DW_AT_trampoline 0x56 /* DWARF3 */
|
303
|
+
#define DW_AT_call_column 0x57 /* DWARF3 */
|
304
|
+
#define DW_AT_call_file 0x58 /* DWARF3 */
|
305
|
+
#define DW_AT_call_line 0x59 /* DWARF3 */
|
306
|
+
#define DW_AT_description 0x5a /* DWARF3 */
|
307
|
+
#define DW_AT_binary_scale 0x5b /* DWARF3f */
|
308
|
+
#define DW_AT_decimal_scale 0x5c /* DWARF3f */
|
309
|
+
#define DW_AT_small 0x5d /* DWARF3f */
|
310
|
+
#define DW_AT_decimal_sign 0x5e /* DWARF3f */
|
311
|
+
#define DW_AT_digit_count 0x5f /* DWARF3f */
|
312
|
+
#define DW_AT_picture_string 0x60 /* DWARF3f */
|
313
|
+
#define DW_AT_mutable 0x61 /* DWARF3f */
|
314
|
+
#define DW_AT_threads_scaled 0x62 /* DWARF3f */
|
315
|
+
#define DW_AT_explicit 0x63 /* DWARF3f */
|
316
|
+
#define DW_AT_object_pointer 0x64 /* DWARF3f */
|
317
|
+
#define DW_AT_endianity 0x65 /* DWARF3f */
|
318
|
+
#define DW_AT_elemental 0x66 /* DWARF3f */
|
319
|
+
#define DW_AT_pure 0x67 /* DWARF3f */
|
320
|
+
#define DW_AT_recursive 0x68 /* DWARF3f */
|
321
|
+
#define DW_AT_signature 0x69 /* DWARF4 */
|
322
|
+
#define DW_AT_main_subprogram 0x6a /* DWARF4 */
|
323
|
+
#define DW_AT_data_bit_offset 0x6b /* DWARF4 */
|
324
|
+
#define DW_AT_const_expr 0x6c /* DWARF4 */
|
325
|
+
#define DW_AT_enum_class 0x6d /* DWARF4 */
|
326
|
+
#define DW_AT_linkage_name 0x6e /* DWARF4 */
|
327
|
+
#define DW_AT_string_length_bit_size 0x6f /* DWARF5 */
|
328
|
+
#define DW_AT_string_length_byte_size 0x70 /* DWARF5 */
|
329
|
+
#define DW_AT_rank 0x71 /* DWARF5 */
|
330
|
+
#define DW_AT_str_offsets_base 0x72 /* DWARF5 */
|
331
|
+
#define DW_AT_addr_base 0x73 /* DWARF5 */
|
332
|
+
#define DW_AT_ranges_base 0x74 /* DWARF5 */
|
333
|
+
#define DW_AT_dwo_id 0x75 /* DWARF5 */
|
334
|
+
#define DW_AT_dwo_name 0x76 /* DWARF5 */
|
335
|
+
#define DW_AT_reference 0x77 /* DWARF5 */
|
336
|
+
#define DW_AT_rvalue_reference 0x78 /* DWARF5 */
|
337
|
+
#define DW_AT_macros 0x79 /* DWARF5 */
|
338
|
+
#define DW_AT_call_all_calls 0x7a /* DWARF5 */
|
339
|
+
#define DW_AT_call_all_source_calls 0x7b /* DWARF5 */
|
340
|
+
#define DW_AT_call_all_tail_calls 0x7c /* DWARF5 */
|
341
|
+
#define DW_AT_call_return_pc 0x7d /* DWARF5 */
|
342
|
+
#define DW_AT_call_value 0x7e /* DWARF5 */
|
343
|
+
#define DW_AT_call_origin 0x7f /* DWARF5 */
|
344
|
+
#define DW_AT_call_parameter 0x80 /* DWARF5 */
|
345
|
+
#define DW_AT_call_pc 0x81 /* DWARF5 */
|
346
|
+
#define DW_AT_call_tail_call 0x82 /* DWARF5 */
|
347
|
+
#define DW_AT_call_target 0x83 /* DWARF5 */
|
348
|
+
#define DW_AT_call_target_clobbered 0x84 /* DWARF5 */
|
349
|
+
#define DW_AT_call_data_location 0x85 /* DWARF5 */
|
350
|
+
#define DW_AT_call_data_value 0x86 /* DWARF5 */
|
351
|
+
#define DW_AT_noreturn 0x87 /* DWARF5 */
|
352
|
+
#define DW_AT_alignment 0x88 /* DWARF5 */
|
353
|
+
#define DW_AT_export_symbols 0x89 /* DWARF5 */
|
354
|
+
|
355
|
+
/* In extensions, we attempt to include the vendor extension
|
356
|
+
in the name even when the vendor leaves it out. */
|
357
|
+
|
358
|
+
/* HP extensions. */
|
359
|
+
#define DW_AT_HP_block_index 0x2000 /* HP */
|
360
|
+
|
361
|
+
/* Follows extension so dwarfdump prints the most-likely-useful name. */
|
362
|
+
#define DW_AT_lo_user 0x2000
|
363
|
+
|
364
|
+
#define DW_AT_MIPS_fde 0x2001 /* MIPS/SGI */
|
365
|
+
#define DW_AT_MIPS_loop_begin 0x2002 /* MIPS/SGI */
|
366
|
+
#define DW_AT_MIPS_tail_loop_begin 0x2003 /* MIPS/SGI */
|
367
|
+
#define DW_AT_MIPS_epilog_begin 0x2004 /* MIPS/SGI */
|
368
|
+
#define DW_AT_MIPS_loop_unroll_factor 0x2005 /* MIPS/SGI */
|
369
|
+
#define DW_AT_MIPS_software_pipeline_depth 0x2006 /* MIPS/SGI */
|
370
|
+
#define DW_AT_MIPS_linkage_name 0x2007 /* MIPS/SGI, GNU, and others.*/
|
371
|
+
#define DW_AT_MIPS_stride 0x2008 /* MIPS/SGI */
|
372
|
+
#define DW_AT_MIPS_abstract_name 0x2009 /* MIPS/SGI */
|
373
|
+
#define DW_AT_MIPS_clone_origin 0x200a /* MIPS/SGI */
|
374
|
+
#define DW_AT_MIPS_has_inlines 0x200b /* MIPS/SGI */
|
375
|
+
#define DW_AT_MIPS_stride_byte 0x200c /* MIPS/SGI */
|
376
|
+
#define DW_AT_MIPS_stride_elem 0x200d /* MIPS/SGI */
|
377
|
+
#define DW_AT_MIPS_ptr_dopetype 0x200e /* MIPS/SGI */
|
378
|
+
#define DW_AT_MIPS_allocatable_dopetype 0x200f /* MIPS/SGI */
|
379
|
+
#define DW_AT_MIPS_assumed_shape_dopetype 0x2010 /* MIPS/SGI */
|
380
|
+
#define DW_AT_MIPS_assumed_size 0x2011 /* MIPS/SGI */
|
381
|
+
|
382
|
+
/* HP extensions. */
|
383
|
+
#define DW_AT_HP_unmodifiable 0x2001 /* conflict: MIPS */
|
384
|
+
#define DW_AT_HP_actuals_stmt_list 0x2010 /* conflict: MIPS */
|
385
|
+
#define DW_AT_HP_proc_per_section 0x2011 /* conflict: MIPS */
|
386
|
+
#define DW_AT_HP_raw_data_ptr 0x2012 /* HP */
|
387
|
+
#define DW_AT_HP_pass_by_reference 0x2013 /* HP */
|
388
|
+
#define DW_AT_HP_opt_level 0x2014 /* HP */
|
389
|
+
#define DW_AT_HP_prof_version_id 0x2015 /* HP */
|
390
|
+
#define DW_AT_HP_opt_flags 0x2016 /* HP */
|
391
|
+
#define DW_AT_HP_cold_region_low_pc 0x2017 /* HP */
|
392
|
+
#define DW_AT_HP_cold_region_high_pc 0x2018 /* HP */
|
393
|
+
#define DW_AT_HP_all_variables_modifiable 0x2019 /* HP */
|
394
|
+
#define DW_AT_HP_linkage_name 0x201a /* HP */
|
395
|
+
#define DW_AT_HP_prof_flags 0x201b /* HP */
|
396
|
+
|
397
|
+
#define DW_AT_CPQ_discontig_ranges 0x2001 /* COMPAQ/HP */
|
398
|
+
#define DW_AT_CPQ_semantic_events 0x2002 /* COMPAQ/HP */
|
399
|
+
#define DW_AT_CPQ_split_lifetimes_var 0x2003 /* COMPAQ/HP */
|
400
|
+
#define DW_AT_CPQ_split_lifetimes_rtn 0x2004 /* COMPAQ/HP */
|
401
|
+
#define DW_AT_CPQ_prologue_length 0x2005 /* COMPAQ/HP */
|
402
|
+
|
403
|
+
#define DW_AT_INTEL_other_endian 0x2026 /* Intel, 1 if byte swapped. */
|
404
|
+
|
405
|
+
/* GNU extensions. */
|
406
|
+
#define DW_AT_sf_names 0x2101 /* GNU */
|
407
|
+
#define DW_AT_src_info 0x2102 /* GNU */
|
408
|
+
#define DW_AT_mac_info 0x2103 /* GNU */
|
409
|
+
#define DW_AT_src_coords 0x2104 /* GNU */
|
410
|
+
#define DW_AT_body_begin 0x2105 /* GNU */
|
411
|
+
#define DW_AT_body_end 0x2106 /* GNU */
|
412
|
+
#define DW_AT_GNU_vector 0x2107 /* GNU */
|
413
|
+
|
414
|
+
/* Thread safety, see http://gcc.gnu.org/wiki/ThreadSafetyAnnotation . */
|
415
|
+
/* The values here are from gcc-4.6.2 include/dwarf2.h. The
|
416
|
+
values are not given on the web page at all, nor on web pages
|
417
|
+
it refers to. */
|
418
|
+
#define DW_AT_GNU_guarded_by 0x2108 /* GNU */
|
419
|
+
#define DW_AT_GNU_pt_guarded_by 0x2109 /* GNU */
|
420
|
+
#define DW_AT_GNU_guarded 0x210a /* GNU */
|
421
|
+
#define DW_AT_GNU_pt_guarded 0x210b /* GNU */
|
422
|
+
#define DW_AT_GNU_locks_excluded 0x210c /* GNU */
|
423
|
+
#define DW_AT_GNU_exclusive_locks_required 0x210d /* GNU */
|
424
|
+
#define DW_AT_GNU_shared_locks_required 0x210e /* GNU */
|
425
|
+
|
426
|
+
/* See http://gcc.gnu.org/wiki/DwarfSeparateTypeInfo */
|
427
|
+
#define DW_AT_GNU_odr_signature 0x210f /* GNU */
|
428
|
+
|
429
|
+
/* See See http://gcc.gnu.org/wiki/TemplateParmsDwarf */
|
430
|
+
/* The value here is from gcc-4.6.2 include/dwarf2.h. The value is
|
431
|
+
not consistent with the web page as of December 2011. */
|
432
|
+
#define DW_AT_GNU_template_name 0x2110 /* GNU */
|
433
|
+
/* The GNU call site extension.
|
434
|
+
See http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open . */
|
435
|
+
#define DW_AT_GNU_call_site_value 0x2111 /* GNU */
|
436
|
+
#define DW_AT_GNU_call_site_data_value 0x2112 /* GNU */
|
437
|
+
#define DW_AT_GNU_call_site_target 0x2113 /* GNU */
|
438
|
+
#define DW_AT_GNU_call_site_target_clobbered 0x2114 /* GNU */
|
439
|
+
#define DW_AT_GNU_tail_call 0x2115 /* GNU */
|
440
|
+
#define DW_AT_GNU_all_tail_call_sites 0x2116 /* GNU */
|
441
|
+
#define DW_AT_GNU_all_call_sites 0x2117 /* GNU */
|
442
|
+
#define DW_AT_GNU_all_source_call_sites 0x2118 /* GNU */
|
443
|
+
/* Section offset to .debug_macro section. */
|
444
|
+
#define DW_AT_GNU_macros 0x2119 /* GNU */
|
445
|
+
/* The GNU DebugFission project: http://gcc.gnu.org/wiki/DebugFission */
|
446
|
+
#define DW_AT_GNU_dwo_name 0x2130 /* GNU */
|
447
|
+
#define DW_AT_GNU_dwo_id 0x2131 /* GNU */
|
448
|
+
|
449
|
+
#define DW_AT_GNU_ranges_base 0x2132 /* GNU */
|
450
|
+
#define DW_AT_GNU_addr_base 0x2133 /* GNU */
|
451
|
+
#define DW_AT_GNU_pubnames 0x2134 /* GNU */
|
452
|
+
#define DW_AT_GNU_pubtypes 0x2135 /* GNU */
|
453
|
+
|
454
|
+
/* To distinguish distinct basic blocks in a single source line. */
|
455
|
+
#define DW_AT_GNU_discriminator 0x2136 /* GNU */
|
456
|
+
|
457
|
+
|
458
|
+
|
459
|
+
/* ALTIUM extension: ALTIUM Compliant location lists (flag) */
|
460
|
+
#define DW_AT_ALTIUM_loclist 0x2300 /* ALTIUM */
|
461
|
+
|
462
|
+
/* Sun extensions */
|
463
|
+
#define DW_AT_SUN_template 0x2201 /* SUN */
|
464
|
+
#define DW_AT_VMS_rtnbeg_pd_address 0x2201 /* VMS */
|
465
|
+
#define DW_AT_SUN_alignment 0x2202 /* SUN */
|
466
|
+
#define DW_AT_SUN_vtable 0x2203 /* SUN */
|
467
|
+
#define DW_AT_SUN_count_guarantee 0x2204 /* SUN */
|
468
|
+
#define DW_AT_SUN_command_line 0x2205 /* SUN */
|
469
|
+
#define DW_AT_SUN_vbase 0x2206 /* SUN */
|
470
|
+
#define DW_AT_SUN_compile_options 0x2207 /* SUN */
|
471
|
+
#define DW_AT_SUN_language 0x2208 /* SUN */
|
472
|
+
#define DW_AT_SUN_browser_file 0x2209 /* SUN */
|
473
|
+
#define DW_AT_SUN_vtable_abi 0x2210 /* SUN */
|
474
|
+
#define DW_AT_SUN_func_offsets 0x2211 /* SUN */
|
475
|
+
#define DW_AT_SUN_cf_kind 0x2212 /* SUN */
|
476
|
+
#define DW_AT_SUN_vtable_index 0x2213 /* SUN */
|
477
|
+
#define DW_AT_SUN_omp_tpriv_addr 0x2214 /* SUN */
|
478
|
+
#define DW_AT_SUN_omp_child_func 0x2215 /* SUN */
|
479
|
+
#define DW_AT_SUN_func_offset 0x2216 /* SUN */
|
480
|
+
#define DW_AT_SUN_memop_type_ref 0x2217 /* SUN */
|
481
|
+
#define DW_AT_SUN_profile_id 0x2218 /* SUN */
|
482
|
+
#define DW_AT_SUN_memop_signature 0x2219 /* SUN */
|
483
|
+
#define DW_AT_SUN_obj_dir 0x2220 /* SUN */
|
484
|
+
#define DW_AT_SUN_obj_file 0x2221 /* SUN */
|
485
|
+
#define DW_AT_SUN_original_name 0x2222 /* SUN */
|
486
|
+
#define DW_AT_SUN_hwcprof_signature 0x2223 /* SUN */
|
487
|
+
#define DW_AT_SUN_amd64_parmdump 0x2224 /* SUN */
|
488
|
+
#define DW_AT_SUN_part_link_name 0x2225 /* SUN */
|
489
|
+
#define DW_AT_SUN_link_name 0x2226 /* SUN */
|
490
|
+
#define DW_AT_SUN_pass_with_const 0x2227 /* SUN */
|
491
|
+
#define DW_AT_SUN_return_with_const 0x2228 /* SUN */
|
492
|
+
#define DW_AT_SUN_import_by_name 0x2229 /* SUN */
|
493
|
+
#define DW_AT_SUN_f90_pointer 0x222a /* SUN */
|
494
|
+
#define DW_AT_SUN_pass_by_ref 0x222b /* SUN */
|
495
|
+
#define DW_AT_SUN_f90_allocatable 0x222c /* SUN */
|
496
|
+
#define DW_AT_SUN_f90_assumed_shape_array 0x222d /* SUN */
|
497
|
+
#define DW_AT_SUN_c_vla 0x222e /* SUN */
|
498
|
+
#define DW_AT_SUN_return_value_ptr 0x2230 /* SUN */
|
499
|
+
#define DW_AT_SUN_dtor_start 0x2231 /* SUN */
|
500
|
+
#define DW_AT_SUN_dtor_length 0x2232 /* SUN */
|
501
|
+
#define DW_AT_SUN_dtor_state_initial 0x2233 /* SUN */
|
502
|
+
#define DW_AT_SUN_dtor_state_final 0x2234 /* SUN */
|
503
|
+
#define DW_AT_SUN_dtor_state_deltas 0x2235 /* SUN */
|
504
|
+
#define DW_AT_SUN_import_by_lname 0x2236 /* SUN */
|
505
|
+
#define DW_AT_SUN_f90_use_only 0x2237 /* SUN */
|
506
|
+
#define DW_AT_SUN_namelist_spec 0x2238 /* SUN */
|
507
|
+
#define DW_AT_SUN_is_omp_child_func 0x2239 /* SUN */
|
508
|
+
#define DW_AT_SUN_fortran_main_alias 0x223a /* SUN */
|
509
|
+
#define DW_AT_SUN_fortran_based 0x223b /* SUN */
|
510
|
+
|
511
|
+
/* See http://gcc.gnu.org/wiki/DW_AT_GNAT_descriptive_type . */
|
512
|
+
#define DW_AT_use_GNAT_descriptive_type 0x2301 /* GNAT */
|
513
|
+
#define DW_AT_GNAT_descriptive_type 0x2302 /* GNAT */
|
514
|
+
|
515
|
+
/* UPC extension */
|
516
|
+
#define DW_AT_upc_threads_scaled 0x3210 /* UPC */
|
517
|
+
|
518
|
+
/* PGI (STMicroelectronics) extensions. */
|
519
|
+
#define DW_AT_PGI_lbase 0x3a00 /* PGI. Block, constant, reference. This attribute is an ASTPLAB extension used to describe the array local base. */
|
520
|
+
#define DW_AT_PGI_soffset 0x3a01 /* PGI. Block, constant, reference. ASTPLAB adds this attribute to describe the section offset, or the offset to the first element in the dimension. */
|
521
|
+
#define DW_AT_PGI_lstride 0x3a02 /* PGI. Block, constant, reference. ASTPLAB adds this attribute to describe the linear stride or the distance between elements in the dimension. */
|
522
|
+
|
523
|
+
/* There are two groups of Apple extensions here, it is
|
524
|
+
unclear what exactly is correct. */
|
525
|
+
#define DW_AT_APPLE_optimized 0x3fe1 /* Apple */
|
526
|
+
#define DW_AT_APPLE_flags 0x3fe2 /* Apple */
|
527
|
+
#define DW_AT_APPLE_isa 0x3fe3 /* Apple */
|
528
|
+
#define DW_AT_APPLE_block 0x3fe4 /* Apple */
|
529
|
+
#define DW_AT_APPLE_major_runtime_vers 0x3fe5 /* Apple */
|
530
|
+
#define DW_AT_APPLE_runtime_class 0x3fe6 /* Apple */
|
531
|
+
#define DW_AT_APPLE_omit_frame_ptr 0x3fe7 /* Apple */
|
532
|
+
|
533
|
+
/* Apple Extensions for closures */
|
534
|
+
#define DW_AT_APPLE_closure 0x3fe4 /* Apple */
|
535
|
+
/* Apple Extensions for Objective-C runtime info */
|
536
|
+
#define DW_AT_APPLE_major_runtime_vers 0x3fe5 /* Apple */
|
537
|
+
#define DW_AT_APPLE_runtime_class 0x3fe6 /* Apple */
|
538
|
+
|
539
|
+
|
540
|
+
#define DW_AT_hi_user 0x3fff
|
541
|
+
|
542
|
+
#define DW_OP_addr 0x03
|
543
|
+
#define DW_OP_deref 0x06
|
544
|
+
#define DW_OP_const1u 0x08
|
545
|
+
#define DW_OP_const1s 0x09
|
546
|
+
#define DW_OP_const2u 0x0a
|
547
|
+
#define DW_OP_const2s 0x0b
|
548
|
+
#define DW_OP_const4u 0x0c
|
549
|
+
#define DW_OP_const4s 0x0d
|
550
|
+
#define DW_OP_const8u 0x0e
|
551
|
+
#define DW_OP_const8s 0x0f
|
552
|
+
#define DW_OP_constu 0x10
|
553
|
+
#define DW_OP_consts 0x11
|
554
|
+
#define DW_OP_dup 0x12
|
555
|
+
#define DW_OP_drop 0x13
|
556
|
+
#define DW_OP_over 0x14
|
557
|
+
#define DW_OP_pick 0x15
|
558
|
+
#define DW_OP_swap 0x16
|
559
|
+
#define DW_OP_rot 0x17
|
560
|
+
#define DW_OP_xderef 0x18
|
561
|
+
#define DW_OP_abs 0x19
|
562
|
+
#define DW_OP_and 0x1a
|
563
|
+
#define DW_OP_div 0x1b
|
564
|
+
#define DW_OP_minus 0x1c
|
565
|
+
#define DW_OP_mod 0x1d
|
566
|
+
#define DW_OP_mul 0x1e
|
567
|
+
#define DW_OP_neg 0x1f
|
568
|
+
#define DW_OP_not 0x20
|
569
|
+
#define DW_OP_or 0x21
|
570
|
+
#define DW_OP_plus 0x22
|
571
|
+
#define DW_OP_plus_uconst 0x23
|
572
|
+
#define DW_OP_shl 0x24
|
573
|
+
#define DW_OP_shr 0x25
|
574
|
+
#define DW_OP_shra 0x26
|
575
|
+
#define DW_OP_xor 0x27
|
576
|
+
#define DW_OP_bra 0x28
|
577
|
+
#define DW_OP_eq 0x29
|
578
|
+
#define DW_OP_ge 0x2a
|
579
|
+
#define DW_OP_gt 0x2b
|
580
|
+
#define DW_OP_le 0x2c
|
581
|
+
#define DW_OP_lt 0x2d
|
582
|
+
#define DW_OP_ne 0x2e
|
583
|
+
#define DW_OP_skip 0x2f
|
584
|
+
#define DW_OP_lit0 0x30
|
585
|
+
#define DW_OP_lit1 0x31
|
586
|
+
#define DW_OP_lit2 0x32
|
587
|
+
#define DW_OP_lit3 0x33
|
588
|
+
#define DW_OP_lit4 0x34
|
589
|
+
#define DW_OP_lit5 0x35
|
590
|
+
#define DW_OP_lit6 0x36
|
591
|
+
#define DW_OP_lit7 0x37
|
592
|
+
#define DW_OP_lit8 0x38
|
593
|
+
#define DW_OP_lit9 0x39
|
594
|
+
#define DW_OP_lit10 0x3a
|
595
|
+
#define DW_OP_lit11 0x3b
|
596
|
+
#define DW_OP_lit12 0x3c
|
597
|
+
#define DW_OP_lit13 0x3d
|
598
|
+
#define DW_OP_lit14 0x3e
|
599
|
+
#define DW_OP_lit15 0x3f
|
600
|
+
#define DW_OP_lit16 0x40
|
601
|
+
#define DW_OP_lit17 0x41
|
602
|
+
#define DW_OP_lit18 0x42
|
603
|
+
#define DW_OP_lit19 0x43
|
604
|
+
#define DW_OP_lit20 0x44
|
605
|
+
#define DW_OP_lit21 0x45
|
606
|
+
#define DW_OP_lit22 0x46
|
607
|
+
#define DW_OP_lit23 0x47
|
608
|
+
#define DW_OP_lit24 0x48
|
609
|
+
#define DW_OP_lit25 0x49
|
610
|
+
#define DW_OP_lit26 0x4a
|
611
|
+
#define DW_OP_lit27 0x4b
|
612
|
+
#define DW_OP_lit28 0x4c
|
613
|
+
#define DW_OP_lit29 0x4d
|
614
|
+
#define DW_OP_lit30 0x4e
|
615
|
+
#define DW_OP_lit31 0x4f
|
616
|
+
#define DW_OP_reg0 0x50
|
617
|
+
#define DW_OP_reg1 0x51
|
618
|
+
#define DW_OP_reg2 0x52
|
619
|
+
#define DW_OP_reg3 0x53
|
620
|
+
#define DW_OP_reg4 0x54
|
621
|
+
#define DW_OP_reg5 0x55
|
622
|
+
#define DW_OP_reg6 0x56
|
623
|
+
#define DW_OP_reg7 0x57
|
624
|
+
#define DW_OP_reg8 0x58
|
625
|
+
#define DW_OP_reg9 0x59
|
626
|
+
#define DW_OP_reg10 0x5a
|
627
|
+
#define DW_OP_reg11 0x5b
|
628
|
+
#define DW_OP_reg12 0x5c
|
629
|
+
#define DW_OP_reg13 0x5d
|
630
|
+
#define DW_OP_reg14 0x5e
|
631
|
+
#define DW_OP_reg15 0x5f
|
632
|
+
#define DW_OP_reg16 0x60
|
633
|
+
#define DW_OP_reg17 0x61
|
634
|
+
#define DW_OP_reg18 0x62
|
635
|
+
#define DW_OP_reg19 0x63
|
636
|
+
#define DW_OP_reg20 0x64
|
637
|
+
#define DW_OP_reg21 0x65
|
638
|
+
#define DW_OP_reg22 0x66
|
639
|
+
#define DW_OP_reg23 0x67
|
640
|
+
#define DW_OP_reg24 0x68
|
641
|
+
#define DW_OP_reg25 0x69
|
642
|
+
#define DW_OP_reg26 0x6a
|
643
|
+
#define DW_OP_reg27 0x6b
|
644
|
+
#define DW_OP_reg28 0x6c
|
645
|
+
#define DW_OP_reg29 0x6d
|
646
|
+
#define DW_OP_reg30 0x6e
|
647
|
+
#define DW_OP_reg31 0x6f
|
648
|
+
#define DW_OP_breg0 0x70
|
649
|
+
#define DW_OP_breg1 0x71
|
650
|
+
#define DW_OP_breg2 0x72
|
651
|
+
#define DW_OP_breg3 0x73
|
652
|
+
#define DW_OP_breg4 0x74
|
653
|
+
#define DW_OP_breg5 0x75
|
654
|
+
#define DW_OP_breg6 0x76
|
655
|
+
#define DW_OP_breg7 0x77
|
656
|
+
#define DW_OP_breg8 0x78
|
657
|
+
#define DW_OP_breg9 0x79
|
658
|
+
#define DW_OP_breg10 0x7a
|
659
|
+
#define DW_OP_breg11 0x7b
|
660
|
+
#define DW_OP_breg12 0x7c
|
661
|
+
#define DW_OP_breg13 0x7d
|
662
|
+
#define DW_OP_breg14 0x7e
|
663
|
+
#define DW_OP_breg15 0x7f
|
664
|
+
#define DW_OP_breg16 0x80
|
665
|
+
#define DW_OP_breg17 0x81
|
666
|
+
#define DW_OP_breg18 0x82
|
667
|
+
#define DW_OP_breg19 0x83
|
668
|
+
#define DW_OP_breg20 0x84
|
669
|
+
#define DW_OP_breg21 0x85
|
670
|
+
#define DW_OP_breg22 0x86
|
671
|
+
#define DW_OP_breg23 0x87
|
672
|
+
#define DW_OP_breg24 0x88
|
673
|
+
#define DW_OP_breg25 0x89
|
674
|
+
#define DW_OP_breg26 0x8a
|
675
|
+
#define DW_OP_breg27 0x8b
|
676
|
+
#define DW_OP_breg28 0x8c
|
677
|
+
#define DW_OP_breg29 0x8d
|
678
|
+
#define DW_OP_breg30 0x8e
|
679
|
+
#define DW_OP_breg31 0x8f
|
680
|
+
#define DW_OP_regx 0x90
|
681
|
+
#define DW_OP_fbreg 0x91
|
682
|
+
#define DW_OP_bregx 0x92
|
683
|
+
#define DW_OP_piece 0x93
|
684
|
+
#define DW_OP_deref_size 0x94
|
685
|
+
#define DW_OP_xderef_size 0x95
|
686
|
+
#define DW_OP_nop 0x96
|
687
|
+
#define DW_OP_push_object_address 0x97 /* DWARF3 */
|
688
|
+
#define DW_OP_call2 0x98 /* DWARF3 */
|
689
|
+
#define DW_OP_call4 0x99 /* DWARF3 */
|
690
|
+
#define DW_OP_call_ref 0x9a /* DWARF3 */
|
691
|
+
#define DW_OP_form_tls_address 0x9b /* DWARF3f */
|
692
|
+
#define DW_OP_call_frame_cfa 0x9c /* DWARF3f */
|
693
|
+
#define DW_OP_bit_piece 0x9d /* DWARF3f */
|
694
|
+
#define DW_OP_implicit_value 0x9e /* DWARF4 */
|
695
|
+
#define DW_OP_stack_value 0x9f /* DWARF4 */
|
696
|
+
#define DW_OP_implicit_pointer 0xa0 /* DWARF5 */
|
697
|
+
#define DW_OP_addrx 0xa1 /* DWARF5 */
|
698
|
+
#define DW_OP_constx 0xa2 /* DWARF5 */
|
699
|
+
#define DW_OP_entry_value 0xa3 /* DWARF5 */
|
700
|
+
#define DW_OP_const_type 0xa4 /* DWARF5 */
|
701
|
+
#define DW_OP_regval_type 0xa5 /* DWARF5 */
|
702
|
+
#define DW_OP_deref_type 0xa6 /* DWARF5 */
|
703
|
+
#define DW_OP_xderef_type 0xa7 /* DWARF5 */
|
704
|
+
#define DW_OP_convert 0xa8 /* DWARF5 */
|
705
|
+
#define DW_OP_reinterpret 0xa9 /* DWARF5 */
|
706
|
+
|
707
|
+
|
708
|
+
/* GNU extensions. */
|
709
|
+
#define DW_OP_GNU_push_tls_address 0xe0 /* GNU */
|
710
|
+
|
711
|
+
/* Follows extension so dwarfdump prints the most-likely-useful name. */
|
712
|
+
#define DW_OP_lo_user 0xe0
|
713
|
+
|
714
|
+
|
715
|
+
#define DW_OP_GNU_uninit 0xf0 /* GNU */
|
716
|
+
#define DW_OP_GNU_encoded_addr 0xf1 /* GNU */
|
717
|
+
#define DW_OP_GNU_implicit_pointer 0xf2 /* GNU */
|
718
|
+
#define DW_OP_GNU_entry_value 0xf3 /* GNU */
|
719
|
+
#define DW_OP_GNU_const_type 0xf4 /* GNU */
|
720
|
+
#define DW_OP_GNU_regval_type 0xf5 /* GNU */
|
721
|
+
#define DW_OP_GNU_deref_type 0xf6 /* GNU */
|
722
|
+
#define DW_OP_GNU_convert 0xf7 /* GNU */
|
723
|
+
#define DW_OP_GNU_reinterpret 0xf9 /* GNU */
|
724
|
+
#define DW_OP_GNU_parameter_ref 0xfa /* GNU */
|
725
|
+
#define DW_OP_GNU_addr_index 0xfb /* GNU DebugFission */
|
726
|
+
#define DW_OP_GNU_const_index 0xfc /* GNU DebugFission */
|
727
|
+
|
728
|
+
/* HP extensions. */
|
729
|
+
#define DW_OP_HP_unknown 0xe0 /* HP conflict: GNU */
|
730
|
+
#define DW_OP_HP_is_value 0xe1 /* HP */
|
731
|
+
#define DW_OP_HP_fltconst4 0xe2 /* HP */
|
732
|
+
#define DW_OP_HP_fltconst8 0xe3 /* HP */
|
733
|
+
#define DW_OP_HP_mod_range 0xe4 /* HP */
|
734
|
+
#define DW_OP_HP_unmod_range 0xe5 /* HP */
|
735
|
+
#define DW_OP_HP_tls 0xe6 /* HP */
|
736
|
+
|
737
|
+
#define DW_OP_INTEL_bit_piece 0xe8 /* Intel: made obsolete by DW_OP_bit_piece above. */
|
738
|
+
|
739
|
+
/* Apple extension. */
|
740
|
+
#define DW_OP_APPLE_uninit 0xf0 /* Apple */
|
741
|
+
#define DW_OP_PGI_omp_thread_num 0xf8 /* PGI (STMicroelectronics) */
|
742
|
+
|
743
|
+
#define DW_OP_hi_user 0xff
|
744
|
+
|
745
|
+
#define DW_ATE_address 0x01
|
746
|
+
#define DW_ATE_boolean 0x02
|
747
|
+
#define DW_ATE_complex_float 0x03
|
748
|
+
#define DW_ATE_float 0x04
|
749
|
+
#define DW_ATE_signed 0x05
|
750
|
+
#define DW_ATE_signed_char 0x06
|
751
|
+
#define DW_ATE_unsigned 0x07
|
752
|
+
#define DW_ATE_unsigned_char 0x08
|
753
|
+
#define DW_ATE_imaginary_float 0x09 /* DWARF3 */
|
754
|
+
#define DW_ATE_packed_decimal 0x0a /* DWARF3f */
|
755
|
+
#define DW_ATE_numeric_string 0x0b /* DWARF3f */
|
756
|
+
#define DW_ATE_edited 0x0c /* DWARF3f */
|
757
|
+
#define DW_ATE_signed_fixed 0x0d /* DWARF3f */
|
758
|
+
#define DW_ATE_unsigned_fixed 0x0e /* DWARF3f */
|
759
|
+
#define DW_ATE_decimal_float 0x0f /* DWARF3f */
|
760
|
+
#define DW_ATE_UTF 0x10 /* DWARF4 */
|
761
|
+
#define DW_ATE_UCS 0x11 /* DWARF5 */
|
762
|
+
#define DW_ATE_ASCII 0x12 /* DWARF5 */
|
763
|
+
|
764
|
+
|
765
|
+
/* ALTIUM extensions. x80, x81 */
|
766
|
+
#define DW_ATE_ALTIUM_fract 0x80 /* ALTIUM __fract type */
|
767
|
+
|
768
|
+
/* Follows extension so dwarfdump prints the most-likely-useful name. */
|
769
|
+
#define DW_ATE_lo_user 0x80
|
770
|
+
|
771
|
+
/* Shown here to help dwarfdump build script. */
|
772
|
+
#define DW_ATE_ALTIUM_accum 0x81 /* ALTIUM __accum type */
|
773
|
+
|
774
|
+
/* HP Floating point extensions. */
|
775
|
+
#define DW_ATE_HP_float80 0x80 /* (80 bit). HP */
|
776
|
+
|
777
|
+
|
778
|
+
#define DW_ATE_HP_complex_float80 0x81 /* Complex (80 bit). HP */
|
779
|
+
#define DW_ATE_HP_float128 0x82 /* (128 bit). HP */
|
780
|
+
#define DW_ATE_HP_complex_float128 0x83 /* Complex (128 bit). HP */
|
781
|
+
#define DW_ATE_HP_floathpintel 0x84 /* (82 bit IA64). HP */
|
782
|
+
#define DW_ATE_HP_imaginary_float80 0x85 /* HP */
|
783
|
+
#define DW_ATE_HP_imaginary_float128 0x86 /* HP */
|
784
|
+
|
785
|
+
/* Sun extensions */
|
786
|
+
#define DW_ATE_SUN_interval_float 0x91
|
787
|
+
#define DW_ATE_SUN_imaginary_float 0x92 /* Obsolete: See DW_ATE_imaginary_float */
|
788
|
+
|
789
|
+
#define DW_ATE_hi_user 0xff
|
790
|
+
|
791
|
+
|
792
|
+
#define DW_DEFAULTED_no 0x0 /* DWARF5 */
|
793
|
+
#define DW_DEFAULTED_in_class 0x1 /* DWARF5 */
|
794
|
+
#define DW_DEFAULTED_out_of_class 0x2 /* DWARF5 */
|
795
|
+
|
796
|
+
|
797
|
+
#define DW_IDX_compile_unit 0x1 /* DWARF5 */
|
798
|
+
#define DW_IDX_type_unit 0x2 /* DWARF4 only */
|
799
|
+
#define DW_IDX_die_offset 0x3 /* DWARF5 */
|
800
|
+
#define DW_IDX_parent 0x4 /* DWARF5 */
|
801
|
+
#define DW_IDX_type_hash 0x5 /* DWARF5 */
|
802
|
+
#define DW_IDX_lo_user 0x2000 /* DWARF5 */
|
803
|
+
#define DW_IDX_hi_user 0x0fff /* DWARF5 */
|
804
|
+
|
805
|
+
|
806
|
+
/* DWARF5 Location List Entries in Split Objects */
|
807
|
+
#define DW_LLE_end_of_list_entry 0x0 /* DWARF5 */
|
808
|
+
#define DW_LLE_base_address_selection_entry 0x01 /* DWARF5 */
|
809
|
+
#define DW_LLE_start_end_entry 0x02 /* DWARF5 */
|
810
|
+
#define DW_LLE_start_length_entry 0x03 /* DWARF5 */
|
811
|
+
#define DW_LLE_offset_pair_entry 0x04 /* DWARF5 */
|
812
|
+
|
813
|
+
/* DWARF5 Unit header unit type encodings */
|
814
|
+
#define DW_UT_compile 0x01 /* DWARF5 */
|
815
|
+
#define DW_UT_type 0x02 /* DWARF5 */
|
816
|
+
#define DW_UT_partial 0x03 /* DWARF5 */
|
817
|
+
|
818
|
+
|
819
|
+
/* DWARF5 DebugFission object section id values
|
820
|
+
for .dwp object section offsets hash table.
|
821
|
+
0 is reserved, not used.
|
822
|
+
2 is actually reserved, not used in DWARF5.
|
823
|
+
But 2 may be seen in some DWARF4 objects.
|
824
|
+
*/
|
825
|
+
#define DW_SECT_INFO 1 /* .debug_info.dwo DWARF5 */
|
826
|
+
#define DW_SECT_TYPES 2 /* .debug_types.dwo pre-DWARF5 */
|
827
|
+
#define DW_SECT_ABBREV 3 /* .debug_abbrev.dwo DWARF5 */
|
828
|
+
#define DW_SECT_LINE 4 /* .debug_line.dwo DWARF5 */
|
829
|
+
#define DW_SECT_LOC 5 /* .debug_loc.dwo DWARF5 */
|
830
|
+
#define DW_SECT_STR_OFFSETS 6 /* .debug_str_offsets.dwo DWARF5 */
|
831
|
+
#define DW_SECT_MACINFO 7 /* .debug_macinfo.dwo DWARF5 */
|
832
|
+
#define DW_SECT_MACRO 8 /* .debug_macro.dwo DWARF5 */
|
833
|
+
|
834
|
+
|
835
|
+
/* Decimal Sign codes. */
|
836
|
+
#define DW_DS_unsigned 0x01 /* DWARF3f */
|
837
|
+
#define DW_DS_leading_overpunch 0x02 /* DWARF3f */
|
838
|
+
#define DW_DS_trailing_overpunch 0x03 /* DWARF3f */
|
839
|
+
#define DW_DS_leading_separate 0x04 /* DWARF3f */
|
840
|
+
|
841
|
+
#define DW_DS_trailing_separate 0x05 /* DWARF3f */
|
842
|
+
|
843
|
+
/* Endian code name. */
|
844
|
+
#define DW_END_default 0x00 /* DWARF3f */
|
845
|
+
#define DW_END_big 0x01 /* DWARF3f */
|
846
|
+
#define DW_END_little 0x02 /* DWARF3f */
|
847
|
+
|
848
|
+
#define DW_END_lo_user 0x40 /* DWARF3f */
|
849
|
+
#define DW_END_hi_user 0xff /* DWARF3f */
|
850
|
+
|
851
|
+
/* For use with DW_TAG_SUN_codeflags
|
852
|
+
If DW_TAG_SUN_codeflags is accepted as a dwarf standard, then
|
853
|
+
standard dwarf ATCF entries start at 0x01 */
|
854
|
+
#define DW_ATCF_lo_user 0x40 /* SUN */
|
855
|
+
#define DW_ATCF_SUN_mop_bitfield 0x41 /* SUN */
|
856
|
+
#define DW_ATCF_SUN_mop_spill 0x42 /* SUN */
|
857
|
+
#define DW_ATCF_SUN_mop_scopy 0x43 /* SUN */
|
858
|
+
#define DW_ATCF_SUN_func_start 0x44 /* SUN */
|
859
|
+
#define DW_ATCF_SUN_end_ctors 0x45 /* SUN */
|
860
|
+
#define DW_ATCF_SUN_branch_target 0x46 /* SUN */
|
861
|
+
#define DW_ATCF_SUN_mop_stack_probe 0x47 /* SUN */
|
862
|
+
#define DW_ATCF_SUN_func_epilog 0x48 /* SUN */
|
863
|
+
#define DW_ATCF_hi_user 0xff /* SUN */
|
864
|
+
|
865
|
+
/* Accessibility code name. */
|
866
|
+
#define DW_ACCESS_public 0x01
|
867
|
+
#define DW_ACCESS_protected 0x02
|
868
|
+
#define DW_ACCESS_private 0x03
|
869
|
+
|
870
|
+
/* Visibility code name. */
|
871
|
+
#define DW_VIS_local 0x01
|
872
|
+
#define DW_VIS_exported 0x02
|
873
|
+
#define DW_VIS_qualified 0x03
|
874
|
+
|
875
|
+
/* Virtuality code name. */
|
876
|
+
#define DW_VIRTUALITY_none 0x00
|
877
|
+
#define DW_VIRTUALITY_virtual 0x01
|
878
|
+
#define DW_VIRTUALITY_pure_virtual 0x02
|
879
|
+
|
880
|
+
#define DW_LANG_C89 0x0001
|
881
|
+
#define DW_LANG_C 0x0002
|
882
|
+
#define DW_LANG_Ada83 0x0003
|
883
|
+
#define DW_LANG_C_plus_plus 0x0004
|
884
|
+
#define DW_LANG_Cobol74 0x0005
|
885
|
+
#define DW_LANG_Cobol85 0x0006
|
886
|
+
#define DW_LANG_Fortran77 0x0007
|
887
|
+
#define DW_LANG_Fortran90 0x0008
|
888
|
+
#define DW_LANG_Pascal83 0x0009
|
889
|
+
#define DW_LANG_Modula2 0x000a
|
890
|
+
#define DW_LANG_Java 0x000b /* DWARF3 */
|
891
|
+
#define DW_LANG_C99 0x000c /* DWARF3 */
|
892
|
+
#define DW_LANG_Ada95 0x000d /* DWARF3 */
|
893
|
+
#define DW_LANG_Fortran95 0x000e /* DWARF3 */
|
894
|
+
#define DW_LANG_PLI 0x000f /* DWARF3 */
|
895
|
+
#define DW_LANG_ObjC 0x0010 /* DWARF3f */
|
896
|
+
#define DW_LANG_ObjC_plus_plus 0x0011 /* DWARF3f */
|
897
|
+
#define DW_LANG_UPC 0x0012 /* DWARF3f */
|
898
|
+
#define DW_LANG_D 0x0013 /* DWARF3f */
|
899
|
+
#define DW_LANG_Python 0x0014 /* DWARF4 */
|
900
|
+
/* The following 2 are not yet formally approved October 2010, but
|
901
|
+
it seems extremely likely they will be approved as the committee
|
902
|
+
chair agrees these should be ok and no one on the committee
|
903
|
+
has objected. */
|
904
|
+
#define DW_LANG_OpenCL 0x0015 /* DWARF5 */
|
905
|
+
#define DW_LANG_Go 0x0016 /* DWARF5 */
|
906
|
+
#define DW_LANG_Modula3 0x0017 /* DWARF5 */
|
907
|
+
#define DW_LANG_Haskel 0x0018 /* DWARF5 */
|
908
|
+
#define DW_LANG_C_plus_plus_03 0x0019 /* DWARF5 */
|
909
|
+
#define DW_LANG_C_plus_plus_11 0x001a /* DWARF5 */
|
910
|
+
#define DW_LANG_OCaml 0x001b /* DWARF5 */
|
911
|
+
#define DW_LANG_Rust 0x001c /* DWARF5 */
|
912
|
+
#define DW_LANG_C11 0x001d /* DWARF5 */
|
913
|
+
#define DW_LANG_Swift 0x001e /* DWARF5 */
|
914
|
+
#define DW_LANG_Julia 0x001f /* DWARF5 */
|
915
|
+
#define DW_LANG_Dylan 0x0020 /* DWARF5 */
|
916
|
+
#define DW_LANG_C_plus_plus_14 0x0021 /* DWARF5 */
|
917
|
+
#define DW_LANG_Fortran03 0x0022 /* DWARF5 */
|
918
|
+
#define DW_LANG_Fortran08 0x0023 /* DWARF5 */
|
919
|
+
#define DW_LANG_lo_user 0x8000
|
920
|
+
#define DW_LANG_Mips_Assembler 0x8001 /* MIPS */
|
921
|
+
#define DW_LANG_Upc 0x8765 /* UPC, use
|
922
|
+
DW_LANG_UPC instead. */
|
923
|
+
/* ALTIUM extension */
|
924
|
+
#define DW_LANG_ALTIUM_Assembler 0x9101 /* ALTIUM */
|
925
|
+
|
926
|
+
/* Sun extensions */
|
927
|
+
#define DW_LANG_SUN_Assembler 0x9001 /* SUN */
|
928
|
+
|
929
|
+
#define DW_LANG_hi_user 0xffff
|
930
|
+
|
931
|
+
/* Identifier case name. */
|
932
|
+
#define DW_ID_case_sensitive 0x00
|
933
|
+
#define DW_ID_up_case 0x01
|
934
|
+
#define DW_ID_down_case 0x02
|
935
|
+
#define DW_ID_case_insensitive 0x03
|
936
|
+
|
937
|
+
/* Calling Convention Name. */
|
938
|
+
#define DW_CC_normal 0x01
|
939
|
+
#define DW_CC_program 0x02
|
940
|
+
#define DW_CC_nocall 0x03
|
941
|
+
#define DW_CC_lo_user 0x40
|
942
|
+
|
943
|
+
#define DW_CC_GNU_renesas_sh 0x40 /* GNU */
|
944
|
+
#define DW_CC_GNU_borland_fastcall_i386 0x41 /* GNU */
|
945
|
+
|
946
|
+
|
947
|
+
|
948
|
+
/* ALTIUM extensions. */
|
949
|
+
/* Function is an interrupt handler, return address on system stack. */
|
950
|
+
#define DW_CC_ALTIUM_interrupt 0x65 /* ALTIUM*/
|
951
|
+
|
952
|
+
/* Near function model, return address on system stack. */
|
953
|
+
#define DW_CC_ALTIUM_near_system_stack 0x66 /*ALTIUM */
|
954
|
+
|
955
|
+
/* Near function model, return address on user stack. */
|
956
|
+
#define DW_CC_ALTIUM_near_user_stack 0x67 /* ALTIUM */
|
957
|
+
|
958
|
+
/* Huge function model, return address on user stack. */
|
959
|
+
#define DW_CC_ALTIUM_huge_user_stack 0x68 /* ALTIUM */
|
960
|
+
|
961
|
+
|
962
|
+
#define DW_CC_hi_user 0xff
|
963
|
+
|
964
|
+
/* Inline Code Name. */
|
965
|
+
#define DW_INL_not_inlined 0x00
|
966
|
+
#define DW_INL_inlined 0x01
|
967
|
+
#define DW_INL_declared_not_inlined 0x02
|
968
|
+
#define DW_INL_declared_inlined 0x03
|
969
|
+
|
970
|
+
/* Ordering Name. */
|
971
|
+
#define DW_ORD_row_major 0x00
|
972
|
+
#define DW_ORD_col_major 0x01
|
973
|
+
|
974
|
+
/* Discriminant Descriptor Name. */
|
975
|
+
#define DW_DSC_label 0x00
|
976
|
+
#define DW_DSC_range 0x01
|
977
|
+
|
978
|
+
/* Line number standard opcode name. */
|
979
|
+
#define DW_LNS_copy 0x01
|
980
|
+
#define DW_LNS_advance_pc 0x02
|
981
|
+
#define DW_LNS_advance_line 0x03
|
982
|
+
#define DW_LNS_set_file 0x04
|
983
|
+
#define DW_LNS_set_column 0x05
|
984
|
+
#define DW_LNS_negate_stmt 0x06
|
985
|
+
#define DW_LNS_set_basic_block 0x07
|
986
|
+
#define DW_LNS_const_add_pc 0x08
|
987
|
+
#define DW_LNS_fixed_advance_pc 0x09
|
988
|
+
#define DW_LNS_set_prologue_end 0x0a /* DWARF3 */
|
989
|
+
#define DW_LNS_set_epilogue_begin 0x0b /* DWARF3 */
|
990
|
+
#define DW_LNS_set_isa 0x0c /* DWARF3 */
|
991
|
+
|
992
|
+
/* Experimental two-level line tables. NOT STD DWARF5 */
|
993
|
+
/* Not saying GNU or anything. There are no
|
994
|
+
DW_LNS_lo_user or DW_LNS_hi_user values though.
|
995
|
+
DW_LNS_set_address_from_logical and
|
996
|
+
DW_LNS_set_subprogram being both 0xd
|
997
|
+
to avoid using up more space in the special opcode table.
|
998
|
+
EXPERIMENTAL DW_LNS follow.
|
999
|
+
*/
|
1000
|
+
#define DW_LNS_set_address_from_logical 0x0d /* Actuals table only */
|
1001
|
+
#define DW_LNS_set_subprogram 0x0d /* Logicals table only */
|
1002
|
+
#define DW_LNS_inlined_call 0x0e /* Logicals table only */
|
1003
|
+
#define DW_LNS_pop_context 0x0f /* Logicals table only */
|
1004
|
+
|
1005
|
+
/* Line number extended opcode name. */
|
1006
|
+
#define DW_LNE_end_sequence 0x01
|
1007
|
+
#define DW_LNE_set_address 0x02
|
1008
|
+
#define DW_LNE_define_file 0x03
|
1009
|
+
#define DW_LNE_set_discriminator 0x04 /* DWARF4 */
|
1010
|
+
#define DW_LNE_define_file_MD5 0x05 /* DWARF5 */
|
1011
|
+
|
1012
|
+
/* HP extensions. */
|
1013
|
+
#define DW_LNE_HP_negate_is_UV_update 0x11 /* 17 HP */
|
1014
|
+
#define DW_LNE_HP_push_context 0x12 /* 18 HP */
|
1015
|
+
#define DW_LNE_HP_pop_context 0x13 /* 19 HP */
|
1016
|
+
#define DW_LNE_HP_set_file_line_column 0x14 /* 20 HP */
|
1017
|
+
#define DW_LNE_HP_set_routine_name 0x15 /* 21 HP */
|
1018
|
+
#define DW_LNE_HP_set_sequence 0x16 /* 22 HP */
|
1019
|
+
#define DW_LNE_HP_negate_post_semantics 0x17 /* 23 HP */
|
1020
|
+
#define DW_LNE_HP_negate_function_exit 0x18 /* 24 HP */
|
1021
|
+
#define DW_LNE_HP_negate_front_end_logical 0x19 /* 25 HP */
|
1022
|
+
#define DW_LNE_HP_define_proc 0x20 /* 32 HP */
|
1023
|
+
|
1024
|
+
#define DW_LNE_HP_source_file_correlation 0x80 /* HP */
|
1025
|
+
#define DW_LNE_lo_user 0x80 /* DWARF3 */
|
1026
|
+
#define DW_LNE_hi_user 0xff /* DWARF3 */
|
1027
|
+
|
1028
|
+
/* Type codes for line number program content descriptors (DWARF 5). */
|
1029
|
+
#define DW_LNCT_path 0x1
|
1030
|
+
#define DW_LNCT_directory_index 0x2
|
1031
|
+
#define DW_LNCT_timestamp 0x3
|
1032
|
+
#define DW_LNCT_size 0x4
|
1033
|
+
#define DW_LNCT_MD5 0x5
|
1034
|
+
/* Experimental two-level line tables. */
|
1035
|
+
#define DW_LNCT_subprogram_name 0x6
|
1036
|
+
#define DW_LNCT_decl_file 0x7
|
1037
|
+
#define DW_LNCT_decl_line 0x8
|
1038
|
+
|
1039
|
+
/* These are known values for DW_LNS_set_isa. */
|
1040
|
+
#define DW_ISA_UNKNOWN 0
|
1041
|
+
/* The following two are ARM specific. */
|
1042
|
+
#define DW_ISA_ARM_thumb 1 /* ARM ISA */
|
1043
|
+
#define DW_ISA_ARM_arm 2 /* ARM ISA */
|
1044
|
+
|
1045
|
+
|
1046
|
+
/* Macro information, DWARF5 */
|
1047
|
+
#define DW_MACRO_define 0x01 /* DWARF5 */
|
1048
|
+
#define DW_MACRO_undef 0x02 /* DWARF5 */
|
1049
|
+
#define DW_MACRO_start_file 0x03 /* DWARF5 */
|
1050
|
+
#define DW_MACRO_end_file 0x04 /* DWARF5 */
|
1051
|
+
#define DW_MACRO_define_indirect 0x05 /* DWARF5 */
|
1052
|
+
#define DW_MACRO_undef_indirect 0x06 /* DWARF5 */
|
1053
|
+
#define DW_MACRO_transparent_include 0x07 /* DWARF5 */
|
1054
|
+
#define DW_MACRO_define_indirect_sup 0x08 /* DWARF5 */
|
1055
|
+
#define DW_MACRO_undef_indirect_sup 0x09 /* DWARF5 */
|
1056
|
+
#define DW_MACRO_transparent_include_sup 0x0a /* DWARF5 */
|
1057
|
+
#define DW_MACRO_define_indirectx 0x0b /* DWARF5 */
|
1058
|
+
#define DW_MACRO_undef_indirectx 0x0c /* DWARF5 */
|
1059
|
+
#define DW_MACRO_lo_user 0xe0
|
1060
|
+
#define DW_MACRO_hi_user 0xff
|
1061
|
+
|
1062
|
+
/* Macro information, DWARF2-DWARF4. */
|
1063
|
+
#define DW_MACINFO_define 0x01
|
1064
|
+
#define DW_MACINFO_undef 0x02
|
1065
|
+
#define DW_MACINFO_start_file 0x03
|
1066
|
+
#define DW_MACINFO_end_file 0x04
|
1067
|
+
#define DW_MACINFO_vendor_ext 0xff
|
1068
|
+
|
1069
|
+
/* CFA operator compaction (a space saving measure, see
|
1070
|
+
the DWARF standard) means DW_CFA_extended and DW_CFA_nop
|
1071
|
+
have the same value here. */
|
1072
|
+
#define DW_CFA_advance_loc 0x40
|
1073
|
+
#define DW_CFA_offset 0x80
|
1074
|
+
#define DW_CFA_restore 0xc0
|
1075
|
+
#define DW_CFA_extended 0
|
1076
|
+
|
1077
|
+
#define DW_CFA_nop 0x00
|
1078
|
+
#define DW_CFA_set_loc 0x01
|
1079
|
+
#define DW_CFA_advance_loc1 0x02
|
1080
|
+
#define DW_CFA_advance_loc2 0x03
|
1081
|
+
#define DW_CFA_advance_loc4 0x04
|
1082
|
+
#define DW_CFA_offset_extended 0x05
|
1083
|
+
#define DW_CFA_restore_extended 0x06
|
1084
|
+
#define DW_CFA_undefined 0x07
|
1085
|
+
#define DW_CFA_same_value 0x08
|
1086
|
+
#define DW_CFA_register 0x09
|
1087
|
+
#define DW_CFA_remember_state 0x0a
|
1088
|
+
#define DW_CFA_restore_state 0x0b
|
1089
|
+
#define DW_CFA_def_cfa 0x0c
|
1090
|
+
#define DW_CFA_def_cfa_register 0x0d
|
1091
|
+
#define DW_CFA_def_cfa_offset 0x0e
|
1092
|
+
#define DW_CFA_def_cfa_expression 0x0f /* DWARF3 */
|
1093
|
+
#define DW_CFA_expression 0x10 /* DWARF3 */
|
1094
|
+
#define DW_CFA_offset_extended_sf 0x11 /* DWARF3 */
|
1095
|
+
#define DW_CFA_def_cfa_sf 0x12 /* DWARF3 */
|
1096
|
+
#define DW_CFA_def_cfa_offset_sf 0x13 /* DWARF3 */
|
1097
|
+
#define DW_CFA_val_offset 0x14 /* DWARF3f */
|
1098
|
+
#define DW_CFA_val_offset_sf 0x15 /* DWARF3f */
|
1099
|
+
#define DW_CFA_val_expression 0x16 /* DWARF3f */
|
1100
|
+
#define DW_CFA_lo_user 0x1c
|
1101
|
+
#define DW_CFA_low_user 0x1c /* Incorrect spelling, do not use. */
|
1102
|
+
|
1103
|
+
/* SGI/MIPS extension. */
|
1104
|
+
#define DW_CFA_MIPS_advance_loc8 0x1d /* MIPS */
|
1105
|
+
|
1106
|
+
/* GNU extensions. */
|
1107
|
+
#define DW_CFA_GNU_window_save 0x2d /* GNU */
|
1108
|
+
#define DW_CFA_GNU_args_size 0x2e /* GNU */
|
1109
|
+
#define DW_CFA_GNU_negative_offset_extended 0x2f /* GNU */
|
1110
|
+
|
1111
|
+
#define DW_CFA_high_user 0x3f
|
1112
|
+
|
1113
|
+
/* GNU exception header encoding. See the Generic
|
1114
|
+
Elf Specification of the Linux Standard Base (LSB).
|
1115
|
+
http://refspecs.freestandards.org/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/dwarfext.html
|
1116
|
+
The upper 4 bits indicate how the value is to be applied.
|
1117
|
+
The lower 4 bits indicate the format of the data.
|
1118
|
+
*/
|
1119
|
+
#define DW_EH_PE_absptr 0x00 /* GNU */
|
1120
|
+
#define DW_EH_PE_uleb128 0x01 /* GNU */
|
1121
|
+
#define DW_EH_PE_udata2 0x02 /* GNU */
|
1122
|
+
#define DW_EH_PE_udata4 0x03 /* GNU */
|
1123
|
+
#define DW_EH_PE_udata8 0x04 /* GNU */
|
1124
|
+
#define DW_EH_PE_sleb128 0x09 /* GNU */
|
1125
|
+
#define DW_EH_PE_sdata2 0x0A /* GNU */
|
1126
|
+
#define DW_EH_PE_sdata4 0x0B /* GNU */
|
1127
|
+
#define DW_EH_PE_sdata8 0x0C /* GNU */
|
1128
|
+
|
1129
|
+
#define DW_EH_PE_pcrel 0x10 /* GNU */
|
1130
|
+
#define DW_EH_PE_textrel 0x20 /* GNU */
|
1131
|
+
#define DW_EH_PE_datarel 0x30 /* GNU */
|
1132
|
+
#define DW_EH_PE_funcrel 0x40 /* GNU */
|
1133
|
+
#define DW_EH_PE_aligned 0x50 /* GNU */
|
1134
|
+
|
1135
|
+
#define DW_EH_PE_omit 0xff /* GNU. Means no value present. */
|
1136
|
+
|
1137
|
+
|
1138
|
+
/* Mapping from machine registers and pseudo-regs into the
|
1139
|
+
.debug_frame table. DW_FRAME entries are machine specific.
|
1140
|
+
These describe MIPS/SGI R3000, R4K, R4400 and all later
|
1141
|
+
MIPS/SGI IRIX machines. They describe a mapping from
|
1142
|
+
hardware register number to the number used in the table
|
1143
|
+
to identify that register.
|
1144
|
+
|
1145
|
+
The CFA (Canonical Frame Address) described in DWARF is
|
1146
|
+
called the Virtual Frame Pointer on MIPS/SGI machines.
|
1147
|
+
|
1148
|
+
The DW_FRAME* names here are MIPS/SGI specific.
|
1149
|
+
Libdwarf interfaces defined in 2008 make the
|
1150
|
+
frame definitions here (and the fixed table sizes
|
1151
|
+
they imply) obsolete. They are left here for compatibility.
|
1152
|
+
*/
|
1153
|
+
/* Default column used for CFA in the libdwarf reader client.
|
1154
|
+
Assumes reg 0 never appears as
|
1155
|
+
a register in DWARF information. Usable for MIPS,
|
1156
|
+
but never a good idea, really. */
|
1157
|
+
#define DW_FRAME_CFA_COL 0
|
1158
|
+
|
1159
|
+
#define DW_FRAME_REG1 1 /* integer reg 1 */
|
1160
|
+
#define DW_FRAME_REG2 2 /* integer reg 2 */
|
1161
|
+
#define DW_FRAME_REG3 3 /* integer reg 3 */
|
1162
|
+
#define DW_FRAME_REG4 4 /* integer reg 4 */
|
1163
|
+
#define DW_FRAME_REG5 5 /* integer reg 5 */
|
1164
|
+
#define DW_FRAME_REG6 6 /* integer reg 6 */
|
1165
|
+
#define DW_FRAME_REG7 7 /* integer reg 7 */
|
1166
|
+
#define DW_FRAME_REG8 8 /* integer reg 8 */
|
1167
|
+
#define DW_FRAME_REG9 9 /* integer reg 9 */
|
1168
|
+
#define DW_FRAME_REG10 10 /* integer reg 10 */
|
1169
|
+
#define DW_FRAME_REG11 11 /* integer reg 11 */
|
1170
|
+
#define DW_FRAME_REG12 12 /* integer reg 12 */
|
1171
|
+
#define DW_FRAME_REG13 13 /* integer reg 13 */
|
1172
|
+
#define DW_FRAME_REG14 14 /* integer reg 14 */
|
1173
|
+
#define DW_FRAME_REG15 15 /* integer reg 15 */
|
1174
|
+
#define DW_FRAME_REG16 16 /* integer reg 16 */
|
1175
|
+
#define DW_FRAME_REG17 17 /* integer reg 17 */
|
1176
|
+
#define DW_FRAME_REG18 18 /* integer reg 18 */
|
1177
|
+
#define DW_FRAME_REG19 19 /* integer reg 19 */
|
1178
|
+
#define DW_FRAME_REG20 20 /* integer reg 20 */
|
1179
|
+
#define DW_FRAME_REG21 21 /* integer reg 21 */
|
1180
|
+
#define DW_FRAME_REG22 22 /* integer reg 22 */
|
1181
|
+
#define DW_FRAME_REG23 23 /* integer reg 23 */
|
1182
|
+
#define DW_FRAME_REG24 24 /* integer reg 24 */
|
1183
|
+
#define DW_FRAME_REG25 25 /* integer reg 25 */
|
1184
|
+
#define DW_FRAME_REG26 26 /* integer reg 26 */
|
1185
|
+
#define DW_FRAME_REG27 27 /* integer reg 27 */
|
1186
|
+
#define DW_FRAME_REG28 28 /* integer reg 28 */
|
1187
|
+
#define DW_FRAME_REG29 29 /* integer reg 29 */
|
1188
|
+
#define DW_FRAME_REG30 30 /* integer reg 30 */
|
1189
|
+
#define DW_FRAME_REG31 31 /* integer reg 31, aka ra */
|
1190
|
+
|
1191
|
+
/* MIPS1, 2 have only some of these 64-bit registers.
|
1192
|
+
** MIPS1 save/restore takes 2 instructions per 64-bit reg, and
|
1193
|
+
** in that case, the register is considered stored after the second
|
1194
|
+
** swc1.
|
1195
|
+
*/
|
1196
|
+
#define DW_FRAME_FREG0 32 /* 64-bit floating point reg 0 */
|
1197
|
+
#define DW_FRAME_FREG1 33 /* 64-bit floating point reg 1 */
|
1198
|
+
#define DW_FRAME_FREG2 34 /* 64-bit floating point reg 2 */
|
1199
|
+
#define DW_FRAME_FREG3 35 /* 64-bit floating point reg 3 */
|
1200
|
+
#define DW_FRAME_FREG4 36 /* 64-bit floating point reg 4 */
|
1201
|
+
#define DW_FRAME_FREG5 37 /* 64-bit floating point reg 5 */
|
1202
|
+
#define DW_FRAME_FREG6 38 /* 64-bit floating point reg 6 */
|
1203
|
+
#define DW_FRAME_FREG7 39 /* 64-bit floating point reg 7 */
|
1204
|
+
#define DW_FRAME_FREG8 40 /* 64-bit floating point reg 8 */
|
1205
|
+
#define DW_FRAME_FREG9 41 /* 64-bit floating point reg 9 */
|
1206
|
+
#define DW_FRAME_FREG10 42 /* 64-bit floating point reg 10 */
|
1207
|
+
#define DW_FRAME_FREG11 43 /* 64-bit floating point reg 11 */
|
1208
|
+
#define DW_FRAME_FREG12 44 /* 64-bit floating point reg 12 */
|
1209
|
+
#define DW_FRAME_FREG13 45 /* 64-bit floating point reg 13 */
|
1210
|
+
#define DW_FRAME_FREG14 46 /* 64-bit floating point reg 14 */
|
1211
|
+
#define DW_FRAME_FREG15 47 /* 64-bit floating point reg 15 */
|
1212
|
+
#define DW_FRAME_FREG16 48 /* 64-bit floating point reg 16 */
|
1213
|
+
#define DW_FRAME_FREG17 49 /* 64-bit floating point reg 17 */
|
1214
|
+
#define DW_FRAME_FREG18 50 /* 64-bit floating point reg 18 */
|
1215
|
+
#define DW_FRAME_FREG19 51 /* 64-bit floating point reg 19 */
|
1216
|
+
#define DW_FRAME_FREG20 52 /* 64-bit floating point reg 20 */
|
1217
|
+
#define DW_FRAME_FREG21 53 /* 64-bit floating point reg 21 */
|
1218
|
+
#define DW_FRAME_FREG22 54 /* 64-bit floating point reg 22 */
|
1219
|
+
#define DW_FRAME_FREG23 55 /* 64-bit floating point reg 23 */
|
1220
|
+
#define DW_FRAME_FREG24 56 /* 64-bit floating point reg 24 */
|
1221
|
+
#define DW_FRAME_FREG25 57 /* 64-bit floating point reg 25 */
|
1222
|
+
#define DW_FRAME_FREG26 58 /* 64-bit floating point reg 26 */
|
1223
|
+
#define DW_FRAME_FREG27 59 /* 64-bit floating point reg 27 */
|
1224
|
+
#define DW_FRAME_FREG28 60 /* 64-bit floating point reg 28 */
|
1225
|
+
#define DW_FRAME_FREG29 61 /* 64-bit floating point reg 29 */
|
1226
|
+
#define DW_FRAME_FREG30 62 /* 64-bit floating point reg 30 */
|
1227
|
+
#define DW_FRAME_FREG31 63 /* 64-bit floating point reg 31 */
|
1228
|
+
|
1229
|
+
#define DW_FRAME_FREG32 64 /* 64-bit floating point reg 32 */
|
1230
|
+
#define DW_FRAME_FREG33 65 /* 64-bit floating point reg 33 */
|
1231
|
+
#define DW_FRAME_FREG34 66 /* 64-bit floating point reg 34 */
|
1232
|
+
#define DW_FRAME_FREG35 67 /* 64-bit floating point reg 35 */
|
1233
|
+
#define DW_FRAME_FREG36 68 /* 64-bit floating point reg 36 */
|
1234
|
+
#define DW_FRAME_FREG37 69 /* 64-bit floating point reg 37 */
|
1235
|
+
#define DW_FRAME_FREG38 70 /* 64-bit floating point reg 38 */
|
1236
|
+
#define DW_FRAME_FREG39 71 /* 64-bit floating point reg 39 */
|
1237
|
+
#define DW_FRAME_FREG40 72 /* 64-bit floating point reg 40 */
|
1238
|
+
#define DW_FRAME_FREG41 73 /* 64-bit floating point reg 41 */
|
1239
|
+
#define DW_FRAME_FREG42 74 /* 64-bit floating point reg 42 */
|
1240
|
+
#define DW_FRAME_FREG43 75 /* 64-bit floating point reg 43 */
|
1241
|
+
#define DW_FRAME_FREG44 76 /* 64-bit floating point reg 44 */
|
1242
|
+
#define DW_FRAME_FREG45 77 /* 64-bit floating point reg 45 */
|
1243
|
+
#define DW_FRAME_FREG46 78 /* 64-bit floating point reg 46 */
|
1244
|
+
#define DW_FRAME_FREG47 79 /* 64-bit floating point reg 47 */
|
1245
|
+
#define DW_FRAME_FREG48 80 /* 64-bit floating point reg 48 */
|
1246
|
+
#define DW_FRAME_FREG49 81 /* 64-bit floating point reg 49 */
|
1247
|
+
#define DW_FRAME_FREG50 82 /* 64-bit floating point reg 50 */
|
1248
|
+
#define DW_FRAME_FREG51 83 /* 64-bit floating point reg 51 */
|
1249
|
+
#define DW_FRAME_FREG52 84 /* 64-bit floating point reg 52 */
|
1250
|
+
#define DW_FRAME_FREG53 85 /* 64-bit floating point reg 53 */
|
1251
|
+
#define DW_FRAME_FREG54 86 /* 64-bit floating point reg 54 */
|
1252
|
+
#define DW_FRAME_FREG55 87 /* 64-bit floating point reg 55 */
|
1253
|
+
#define DW_FRAME_FREG56 88 /* 64-bit floating point reg 56 */
|
1254
|
+
#define DW_FRAME_FREG57 89 /* 64-bit floating point reg 57 */
|
1255
|
+
#define DW_FRAME_FREG58 90 /* 64-bit floating point reg 58 */
|
1256
|
+
#define DW_FRAME_FREG59 91 /* 64-bit floating point reg 59 */
|
1257
|
+
#define DW_FRAME_FREG60 92 /* 64-bit floating point reg 60 */
|
1258
|
+
#define DW_FRAME_FREG61 93 /* 64-bit floating point reg 61 */
|
1259
|
+
#define DW_FRAME_FREG62 94 /* 64-bit floating point reg 62 */
|
1260
|
+
#define DW_FRAME_FREG63 95 /* 64-bit floating point reg 63 */
|
1261
|
+
#define DW_FRAME_FREG64 96 /* 64-bit floating point reg 64 */
|
1262
|
+
#define DW_FRAME_FREG65 97 /* 64-bit floating point reg 65 */
|
1263
|
+
#define DW_FRAME_FREG66 98 /* 64-bit floating point reg 66 */
|
1264
|
+
#define DW_FRAME_FREG67 99 /* 64-bit floating point reg 67 */
|
1265
|
+
#define DW_FRAME_FREG68 100 /* 64-bit floating point reg 68 */
|
1266
|
+
#define DW_FRAME_FREG69 101 /* 64-bit floating point reg 69 */
|
1267
|
+
#define DW_FRAME_FREG70 102 /* 64-bit floating point reg 70 */
|
1268
|
+
#define DW_FRAME_FREG71 103 /* 64-bit floating point reg 71 */
|
1269
|
+
#define DW_FRAME_FREG72 104 /* 64-bit floating point reg 72 */
|
1270
|
+
#define DW_FRAME_FREG73 105 /* 64-bit floating point reg 73 */
|
1271
|
+
#define DW_FRAME_FREG74 106 /* 64-bit floating point reg 74 */
|
1272
|
+
#define DW_FRAME_FREG75 107 /* 64-bit floating point reg 75 */
|
1273
|
+
#define DW_FRAME_FREG76 108 /* 64-bit floating point reg 76 */
|
1274
|
+
|
1275
|
+
/* ***IMPORTANT NOTE, TARGET DEPENDENCY ****
|
1276
|
+
The following 4 #defines are dependent on
|
1277
|
+
the target cpu(s) that you apply libdwarf to.
|
1278
|
+
Ensure that DW_FRAME_UNDEFINED_VAL and DW_FRAME_SAME_VAL
|
1279
|
+
do not conflict with the range [0-DW_FRAME_STATIC_LINK].
|
1280
|
+
The value 63 works for MIPS cpus at least up to the R16000.
|
1281
|
+
|
1282
|
+
For a cpu with more than 63 real registers
|
1283
|
+
DW_FRAME_HIGHEST_NORMAL_REGISTER
|
1284
|
+
must be increased for things to work properly!
|
1285
|
+
Also ensure that DW_FRAME_UNDEFINED_VAL DW_FRAME_SAME_VAL
|
1286
|
+
are not in the range [0-DW_FRAME_STATIC_LINK]
|
1287
|
+
|
1288
|
+
Having DW_FRAME_HIGHEST_NORMAL_REGISTER be higher than
|
1289
|
+
is strictly needed is safe.
|
1290
|
+
|
1291
|
+
*/
|
1292
|
+
|
1293
|
+
#ifndef DW_FRAME_HIGHEST_NORMAL_REGISTER
|
1294
|
+
#define DW_FRAME_HIGHEST_NORMAL_REGISTER 188
|
1295
|
+
#endif
|
1296
|
+
/* This is the number of columns in the Frame Table.
|
1297
|
+
This constant should
|
1298
|
+
be kept in sync with DW_REG_TABLE_SIZE defined in libdwarf.h
|
1299
|
+
It must also be large enough to be beyond the highest
|
1300
|
+
compiler-defined-register (meaning DW_FRAME_RA_COL DW_FRAME_STATIC_LINK
|
1301
|
+
in the MIPS/IRIX case */
|
1302
|
+
#ifndef DW_FRAME_LAST_REG_NUM
|
1303
|
+
#define DW_FRAME_LAST_REG_NUM (DW_FRAME_HIGHEST_NORMAL_REGISTER + 3)
|
1304
|
+
#endif
|
1305
|
+
|
1306
|
+
|
1307
|
+
/* Column recording ra (return address from a function call).
|
1308
|
+
This is common to many architectures, but as a 'simple register'
|
1309
|
+
is not necessarily adequate for all architectures.
|
1310
|
+
For MIPS/IRIX this register number is actually recorded on disk
|
1311
|
+
in the .debug_frame section.
|
1312
|
+
*/
|
1313
|
+
#define DW_FRAME_RA_COL (DW_FRAME_HIGHEST_NORMAL_REGISTER + 1)
|
1314
|
+
|
1315
|
+
/* Column recording static link applicable to up-level
|
1316
|
+
addressing, as in IRIX mp code, pascal, etc.
|
1317
|
+
This is common to many architectures but
|
1318
|
+
is not necessarily adequate for all architectures.
|
1319
|
+
For MIPS/IRIX this register number is actually recorded on disk
|
1320
|
+
in the .debug_frame section.
|
1321
|
+
*/
|
1322
|
+
#define DW_FRAME_STATIC_LINK (DW_FRAME_HIGHEST_NORMAL_REGISTER + 2)
|
1323
|
+
|
1324
|
+
|
1325
|
+
|
1326
|
+
/*
|
1327
|
+
DW_FRAME_UNDEFINED_VAL and DW_FRAME_SAME_VAL are
|
1328
|
+
never on disk, just generated by libdwarf. See libdwarf.h
|
1329
|
+
for their values.
|
1330
|
+
*/
|
1331
|
+
|
1332
|
+
|
1333
|
+
|
1334
|
+
#define DW_CHILDREN_no 0x00
|
1335
|
+
#define DW_CHILDREN_yes 0x01
|
1336
|
+
|
1337
|
+
#define DW_ADDR_none 0
|
1338
|
+
|
1339
|
+
#ifdef __cplusplus
|
1340
|
+
}
|
1341
|
+
#endif
|
1342
|
+
#endif /* __DWARF_H */
|