xref: /onnv-gate/usr/src/tools/ctf/dwarf/dwarf.h (revision 0:68f95e015346)
1*0Sstevel@tonic-gate /*
2*0Sstevel@tonic-gate  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3*0Sstevel@tonic-gate  * Use is subject to license terms.
4*0Sstevel@tonic-gate  */
5*0Sstevel@tonic-gate 
6*0Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
7*0Sstevel@tonic-gate 
8*0Sstevel@tonic-gate /*
9*0Sstevel@tonic-gate   Copyright (C) 2000, 2001 Silicon Graphics, Inc.  All Rights Reserved.
10*0Sstevel@tonic-gate 
11*0Sstevel@tonic-gate   This program is free software; you can redistribute it and/or modify it
12*0Sstevel@tonic-gate   under the terms of version 2.1 of the GNU Lesser General Public License
13*0Sstevel@tonic-gate   as published by the Free Software Foundation.
14*0Sstevel@tonic-gate 
15*0Sstevel@tonic-gate   This program is distributed in the hope that it would be useful, but
16*0Sstevel@tonic-gate   WITHOUT ANY WARRANTY; without even the implied warranty of
17*0Sstevel@tonic-gate   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18*0Sstevel@tonic-gate 
19*0Sstevel@tonic-gate   Further, this software is distributed without any warranty that it is
20*0Sstevel@tonic-gate   free of the rightful claim of any third person regarding infringement
21*0Sstevel@tonic-gate   or the like.  Any license provided herein, whether implied or
22*0Sstevel@tonic-gate   otherwise, applies only to this software file.  Patent licenses, if
23*0Sstevel@tonic-gate   any, provided herein do not apply to combinations of this program with
24*0Sstevel@tonic-gate   other software, or any other product whatsoever.
25*0Sstevel@tonic-gate 
26*0Sstevel@tonic-gate   You should have received a copy of the GNU Lesser General Public
27*0Sstevel@tonic-gate   License along with this program; if not, write the Free Software
28*0Sstevel@tonic-gate   Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307,
29*0Sstevel@tonic-gate   USA.
30*0Sstevel@tonic-gate 
31*0Sstevel@tonic-gate   Contact information:  Silicon Graphics, Inc., 1600 Amphitheatre Pky,
32*0Sstevel@tonic-gate   Mountain View, CA 94043, or:
33*0Sstevel@tonic-gate 
34*0Sstevel@tonic-gate   http://www.sgi.com
35*0Sstevel@tonic-gate 
36*0Sstevel@tonic-gate   For further information regarding this notice, see:
37*0Sstevel@tonic-gate 
38*0Sstevel@tonic-gate   http://oss.sgi.com/projects/GenInfo/NoticeExplan
39*0Sstevel@tonic-gate 
40*0Sstevel@tonic-gate */
41*0Sstevel@tonic-gate 
42*0Sstevel@tonic-gate 
43*0Sstevel@tonic-gate #ifndef __DWARF_H
44*0Sstevel@tonic-gate #define __DWARF_H
45*0Sstevel@tonic-gate #ifdef __cplusplus
46*0Sstevel@tonic-gate extern "C" {
47*0Sstevel@tonic-gate #endif
48*0Sstevel@tonic-gate 
49*0Sstevel@tonic-gate /*
50*0Sstevel@tonic-gate 	dwarf.h   DWARF  debugging information values
51*0Sstevel@tonic-gate 	$Revision: 1.24 $    $Date: 2001/05/23 23:34:51 $
52*0Sstevel@tonic-gate 
53*0Sstevel@tonic-gate */
54*0Sstevel@tonic-gate 
55*0Sstevel@tonic-gate 
56*0Sstevel@tonic-gate #define DW_TAG_array_type		0x01
57*0Sstevel@tonic-gate #define DW_TAG_class_type		0x02
58*0Sstevel@tonic-gate #define DW_TAG_entry_point		0x03
59*0Sstevel@tonic-gate #define DW_TAG_enumeration_type		0x04
60*0Sstevel@tonic-gate #define DW_TAG_formal_parameter		0x05
61*0Sstevel@tonic-gate #define DW_TAG_imported_declaration	0x08
62*0Sstevel@tonic-gate #define DW_TAG_label			0x0a
63*0Sstevel@tonic-gate #define DW_TAG_lexical_block		0x0b
64*0Sstevel@tonic-gate #define DW_TAG_member			0x0d
65*0Sstevel@tonic-gate #define DW_TAG_pointer_type		0x0f
66*0Sstevel@tonic-gate #define DW_TAG_reference_type		0x10
67*0Sstevel@tonic-gate #define DW_TAG_compile_unit		0x11
68*0Sstevel@tonic-gate #define DW_TAG_string_type		0x12
69*0Sstevel@tonic-gate #define DW_TAG_structure_type		0x13
70*0Sstevel@tonic-gate #define DW_TAG_subroutine_type		0x15
71*0Sstevel@tonic-gate #define DW_TAG_typedef			0x16
72*0Sstevel@tonic-gate #define DW_TAG_union_type		0x17
73*0Sstevel@tonic-gate #define DW_TAG_unspecified_parameters	0x18
74*0Sstevel@tonic-gate #define DW_TAG_variant			0x19
75*0Sstevel@tonic-gate #define DW_TAG_common_block		0x1a
76*0Sstevel@tonic-gate #define DW_TAG_common_inclusion		0x1b
77*0Sstevel@tonic-gate #define DW_TAG_inheritance		0x1c
78*0Sstevel@tonic-gate #define DW_TAG_inlined_subroutine	0x1d
79*0Sstevel@tonic-gate #define DW_TAG_module			0x1e
80*0Sstevel@tonic-gate #define DW_TAG_ptr_to_member_type	0x1f
81*0Sstevel@tonic-gate #define DW_TAG_set_type			0x20
82*0Sstevel@tonic-gate #define DW_TAG_subrange_type		0x21
83*0Sstevel@tonic-gate #define DW_TAG_with_stmt		0x22
84*0Sstevel@tonic-gate #define DW_TAG_access_declaration	0x23
85*0Sstevel@tonic-gate #define DW_TAG_base_type		0x24
86*0Sstevel@tonic-gate #define DW_TAG_catch_block		0x25
87*0Sstevel@tonic-gate #define DW_TAG_const_type		0x26
88*0Sstevel@tonic-gate #define DW_TAG_constant			0x27
89*0Sstevel@tonic-gate #define DW_TAG_enumerator		0x28
90*0Sstevel@tonic-gate #define DW_TAG_file_type		0x29
91*0Sstevel@tonic-gate #define DW_TAG_friend			0x2a
92*0Sstevel@tonic-gate #define DW_TAG_namelist			0x2b
93*0Sstevel@tonic-gate #define DW_TAG_namelist_item		0x2c
94*0Sstevel@tonic-gate #define DW_TAG_packed_type		0x2d
95*0Sstevel@tonic-gate #define DW_TAG_subprogram		0x2e
96*0Sstevel@tonic-gate #define DW_TAG_template_type_param	0x2f
97*0Sstevel@tonic-gate #define DW_TAG_template_value_param	0x30
98*0Sstevel@tonic-gate #define DW_TAG_thrown_type		0x31
99*0Sstevel@tonic-gate #define DW_TAG_try_block		0x32
100*0Sstevel@tonic-gate #define DW_TAG_variant_part		0x33
101*0Sstevel@tonic-gate #define DW_TAG_variable			0x34
102*0Sstevel@tonic-gate #define DW_TAG_volatile_type		0x35
103*0Sstevel@tonic-gate #define DW_TAG_dwarf_procedure		0x36
104*0Sstevel@tonic-gate #define DW_TAG_restrict_type		0x37
105*0Sstevel@tonic-gate #define DW_TAG_interface_type		0x38
106*0Sstevel@tonic-gate #define DW_TAG_namespace		0x39
107*0Sstevel@tonic-gate #define DW_TAG_imported_module		0x3a
108*0Sstevel@tonic-gate #define DW_TAG_unspecified_type		0x3b
109*0Sstevel@tonic-gate #define DW_TAG_partial_unit		0x3c
110*0Sstevel@tonic-gate #define DW_TAG_imported_unit		0x3d
111*0Sstevel@tonic-gate #define DW_TAG_mutable_type		0x3e
112*0Sstevel@tonic-gate #define DW_TAG_lo_user			0x4080
113*0Sstevel@tonic-gate #define DW_TAG_MIPS_loop		0x4081
114*0Sstevel@tonic-gate #define DW_TAG_hi_user			0xffff
115*0Sstevel@tonic-gate 
116*0Sstevel@tonic-gate /* The following 3 are GNU extensions
117*0Sstevel@tonic-gate    The TAG names are as if the extensions were dwarf standard,
118*0Sstevel@tonic-gate    not extensions.
119*0Sstevel@tonic-gate */
120*0Sstevel@tonic-gate #define DW_TAG_format_label             0x4101 /* for FORTRAN 77, Fortran 90 */
121*0Sstevel@tonic-gate #define DW_TAG_function_template        0x4102 /* for C++ */
122*0Sstevel@tonic-gate #define DW_TAG_class_template           0x4103 /* for C++ */
123*0Sstevel@tonic-gate 
124*0Sstevel@tonic-gate /* The following are SUN extensions */
125*0Sstevel@tonic-gate #define DW_TAG_SUN_function_template	0x4201
126*0Sstevel@tonic-gate #define DW_TAG_SUN_class_template	0x4202
127*0Sstevel@tonic-gate #define DW_TAG_SUN_struct_template	0x4203
128*0Sstevel@tonic-gate #define DW_TAG_SUN_union_template	0x4204
129*0Sstevel@tonic-gate #define DW_TAG_SUN_virtual_inheritance	0x4205
130*0Sstevel@tonic-gate #define DW_TAG_SUN_codeflags            0x4206
131*0Sstevel@tonic-gate #define DW_TAG_SUN_memop_info           0x4207
132*0Sstevel@tonic-gate #define DW_TAG_SUN_omp_child_func       0x4208
133*0Sstevel@tonic-gate 
134*0Sstevel@tonic-gate 
135*0Sstevel@tonic-gate #define DW_children_no			0
136*0Sstevel@tonic-gate #define DW_children_yes			1
137*0Sstevel@tonic-gate 
138*0Sstevel@tonic-gate 
139*0Sstevel@tonic-gate 
140*0Sstevel@tonic-gate #define DW_FORM_addr			0x01
141*0Sstevel@tonic-gate #define DW_FORM_block2			0x03
142*0Sstevel@tonic-gate #define DW_FORM_block4			0x04
143*0Sstevel@tonic-gate #define DW_FORM_data2			0x05
144*0Sstevel@tonic-gate #define DW_FORM_data4			0x06
145*0Sstevel@tonic-gate #define DW_FORM_data8			0x07
146*0Sstevel@tonic-gate #define DW_FORM_string			0x08
147*0Sstevel@tonic-gate #define DW_FORM_block			0x09
148*0Sstevel@tonic-gate #define DW_FORM_block1			0x0a
149*0Sstevel@tonic-gate #define DW_FORM_data1			0x0b
150*0Sstevel@tonic-gate #define DW_FORM_flag			0x0c
151*0Sstevel@tonic-gate #define DW_FORM_sdata			0x0d
152*0Sstevel@tonic-gate #define DW_FORM_strp			0x0e
153*0Sstevel@tonic-gate #define DW_FORM_udata			0x0f
154*0Sstevel@tonic-gate #define DW_FORM_ref_addr		0x10
155*0Sstevel@tonic-gate #define DW_FORM_ref1			0x11
156*0Sstevel@tonic-gate #define DW_FORM_ref2			0x12
157*0Sstevel@tonic-gate #define DW_FORM_ref4			0x13
158*0Sstevel@tonic-gate #define DW_FORM_ref8 			0x14
159*0Sstevel@tonic-gate #define DW_FORM_ref_udata		0x15
160*0Sstevel@tonic-gate #define DW_FORM_indirect		0x16
161*0Sstevel@tonic-gate 
162*0Sstevel@tonic-gate #define DW_AT_sibling				0x01
163*0Sstevel@tonic-gate #define DW_AT_location				0x02
164*0Sstevel@tonic-gate #define DW_AT_name				0x03
165*0Sstevel@tonic-gate #define DW_AT_ordering				0x09
166*0Sstevel@tonic-gate #define DW_AT_subscr_data			0x0a
167*0Sstevel@tonic-gate #define DW_AT_byte_size				0x0b
168*0Sstevel@tonic-gate #define DW_AT_bit_offset			0x0c
169*0Sstevel@tonic-gate #define DW_AT_bit_size				0x0d
170*0Sstevel@tonic-gate #define DW_AT_element_list			0x0f
171*0Sstevel@tonic-gate #define DW_AT_stmt_list				0x10
172*0Sstevel@tonic-gate #define DW_AT_low_pc				0x11
173*0Sstevel@tonic-gate #define DW_AT_high_pc				0x12
174*0Sstevel@tonic-gate #define DW_AT_language				0x13
175*0Sstevel@tonic-gate #define DW_AT_member				0x14
176*0Sstevel@tonic-gate #define DW_AT_discr				0x15
177*0Sstevel@tonic-gate #define DW_AT_discr_value			0x16
178*0Sstevel@tonic-gate #define DW_AT_visibility			0x17
179*0Sstevel@tonic-gate #define DW_AT_import				0x18
180*0Sstevel@tonic-gate #define DW_AT_string_length			0x19
181*0Sstevel@tonic-gate #define DW_AT_common_reference			0x1a
182*0Sstevel@tonic-gate #define DW_AT_comp_dir				0x1b
183*0Sstevel@tonic-gate #define DW_AT_const_value			0x1c
184*0Sstevel@tonic-gate #define DW_AT_containing_type			0x1d
185*0Sstevel@tonic-gate #define DW_AT_default_value			0x1e
186*0Sstevel@tonic-gate #define DW_AT_inline				0x20
187*0Sstevel@tonic-gate #define DW_AT_is_optional			0x21
188*0Sstevel@tonic-gate #define DW_AT_lower_bound			0x22
189*0Sstevel@tonic-gate #define DW_AT_producer				0x25
190*0Sstevel@tonic-gate #define DW_AT_prototyped			0x27
191*0Sstevel@tonic-gate #define DW_AT_return_addr			0x2a
192*0Sstevel@tonic-gate #define DW_AT_start_scope			0x2c
193*0Sstevel@tonic-gate #define DW_AT_stride_size			0x2e
194*0Sstevel@tonic-gate #define DW_AT_upper_bound			0x2f
195*0Sstevel@tonic-gate #define DW_AT_abstract_origin			0x31
196*0Sstevel@tonic-gate #define DW_AT_accessibility			0x32
197*0Sstevel@tonic-gate #define DW_AT_address_class			0x33
198*0Sstevel@tonic-gate #define DW_AT_artificial			0x34
199*0Sstevel@tonic-gate #define DW_AT_base_types			0x35
200*0Sstevel@tonic-gate #define DW_AT_calling_convention		0x36
201*0Sstevel@tonic-gate #define DW_AT_count				0x37
202*0Sstevel@tonic-gate #define DW_AT_data_member_location		0x38
203*0Sstevel@tonic-gate #define DW_AT_decl_column			0x39
204*0Sstevel@tonic-gate #define DW_AT_decl_file				0x3a
205*0Sstevel@tonic-gate #define DW_AT_decl_line				0x3b
206*0Sstevel@tonic-gate #define DW_AT_declaration			0x3c
207*0Sstevel@tonic-gate #define DW_AT_discr_list			0x3d
208*0Sstevel@tonic-gate #define DW_AT_encoding				0x3e
209*0Sstevel@tonic-gate #define DW_AT_external				0x3f
210*0Sstevel@tonic-gate #define DW_AT_frame_base			0x40
211*0Sstevel@tonic-gate #define DW_AT_friend				0x41
212*0Sstevel@tonic-gate #define DW_AT_identifier_case			0x42
213*0Sstevel@tonic-gate #define DW_AT_macro_info			0x43
214*0Sstevel@tonic-gate #define DW_AT_namelist_item			0x44
215*0Sstevel@tonic-gate #define DW_AT_priority				0x45
216*0Sstevel@tonic-gate #define DW_AT_segment				0x46
217*0Sstevel@tonic-gate #define DW_AT_specification			0x47
218*0Sstevel@tonic-gate #define DW_AT_static_link			0x48
219*0Sstevel@tonic-gate #define DW_AT_type				0x49
220*0Sstevel@tonic-gate #define DW_AT_use_location			0x4a
221*0Sstevel@tonic-gate #define DW_AT_variable_parameter		0x4b
222*0Sstevel@tonic-gate #define DW_AT_virtuality			0x4c
223*0Sstevel@tonic-gate #define DW_AT_vtable_elem_location		0x4d
224*0Sstevel@tonic-gate #define DW_AT_allocated				0x4e
225*0Sstevel@tonic-gate #define DW_AT_associated			0x4f
226*0Sstevel@tonic-gate #define DW_AT_data_location			0x50
227*0Sstevel@tonic-gate #define DW_AT_stride				0x51
228*0Sstevel@tonic-gate #define DW_AT_entry_pc				0x52
229*0Sstevel@tonic-gate #define DW_AT_use_UTF8				0x53
230*0Sstevel@tonic-gate #define DW_AT_extension				0x54
231*0Sstevel@tonic-gate #define DW_AT_ranges				0x55
232*0Sstevel@tonic-gate #define DW_AT_trampoline			0x56
233*0Sstevel@tonic-gate #define DW_AT_call_column			0x57
234*0Sstevel@tonic-gate #define DW_AT_call_file				0x58
235*0Sstevel@tonic-gate #define DW_AT_call_line				0x59
236*0Sstevel@tonic-gate #define DW_AT_description			0x5a
237*0Sstevel@tonic-gate #define DW_AT_lo_user				0x2000
238*0Sstevel@tonic-gate #define DW_AT_MIPS_fde				0x2001
239*0Sstevel@tonic-gate #define DW_AT_MIPS_loop_begin			0x2002
240*0Sstevel@tonic-gate #define DW_AT_MIPS_tail_loop_begin		0x2003
241*0Sstevel@tonic-gate #define DW_AT_MIPS_epilog_begin			0x2004
242*0Sstevel@tonic-gate #define DW_AT_MIPS_loop_unroll_factor		0x2005
243*0Sstevel@tonic-gate #define DW_AT_MIPS_software_pipeline_depth	0x2006
244*0Sstevel@tonic-gate #define DW_AT_MIPS_linkage_name			0x2007
245*0Sstevel@tonic-gate #define DW_AT_MIPS_stride		        0x2008
246*0Sstevel@tonic-gate #define DW_AT_MIPS_abstract_name	        0x2009
247*0Sstevel@tonic-gate #define DW_AT_MIPS_clone_origin		        0x200a
248*0Sstevel@tonic-gate #define DW_AT_MIPS_has_inlines		        0x200b
249*0Sstevel@tonic-gate #define DW_AT_MIPS_stride_byte		        0x200c
250*0Sstevel@tonic-gate #define DW_AT_MIPS_stride_elem		        0x200d
251*0Sstevel@tonic-gate #define DW_AT_MIPS_ptr_dopetype			0x200e
252*0Sstevel@tonic-gate #define DW_AT_MIPS_allocatable_dopetype		0x200f
253*0Sstevel@tonic-gate #define DW_AT_MIPS_assumed_shape_dopetype	0x2010
254*0Sstevel@tonic-gate #define DW_AT_MIPS_assumed_size			0x2011
255*0Sstevel@tonic-gate 
256*0Sstevel@tonic-gate 
257*0Sstevel@tonic-gate /* GNU extensions, currently not used in dwarf2 by egcs
258*0Sstevel@tonic-gate    Mostly dwarf1 extensions not needed in dwarf2?
259*0Sstevel@tonic-gate */
260*0Sstevel@tonic-gate #define DW_AT_sf_names                          0x2101
261*0Sstevel@tonic-gate #define DW_AT_src_info                          0x2102
262*0Sstevel@tonic-gate #define DW_AT_mac_info                          0x2103
263*0Sstevel@tonic-gate #define DW_AT_src_coords                        0x2104
264*0Sstevel@tonic-gate #define DW_AT_body_begin                        0x2105
265*0Sstevel@tonic-gate #define DW_AT_body_end                          0x2106
266*0Sstevel@tonic-gate 
267*0Sstevel@tonic-gate /* Sun extensions */
268*0Sstevel@tonic-gate #define DW_AT_SUN_template			0x2201
269*0Sstevel@tonic-gate #define DW_AT_SUN_alignment			0x2202
270*0Sstevel@tonic-gate #define DW_AT_SUN_vtable			0x2203
271*0Sstevel@tonic-gate #define DW_AT_SUN_count_guarantee		0x2204
272*0Sstevel@tonic-gate #define DW_AT_SUN_command_line			0x2205
273*0Sstevel@tonic-gate #define DW_AT_SUN_vbase				0x2206
274*0Sstevel@tonic-gate #define DW_AT_SUN_compile_options		0x2207
275*0Sstevel@tonic-gate #define DW_AT_SUN_language			0x2208
276*0Sstevel@tonic-gate #define DW_AT_SUN_browser_file			0x2209
277*0Sstevel@tonic-gate #define DW_AT_SUN_vtable_abi                    0x2210
278*0Sstevel@tonic-gate #define DW_AT_SUN_func_offsets                  0x2211
279*0Sstevel@tonic-gate #define DW_AT_SUN_cf_kind                       0x2212
280*0Sstevel@tonic-gate #define DW_AT_SUN_vtable_index                  0x2213
281*0Sstevel@tonic-gate #define DW_AT_SUN_omp_tpriv_addr                0x2214
282*0Sstevel@tonic-gate #define DW_AT_SUN_omp_child_func                0x2215
283*0Sstevel@tonic-gate #define DW_AT_SUN_func_offset                   0x2216
284*0Sstevel@tonic-gate #define DW_AT_SUN_memop_type_ref                0x2217
285*0Sstevel@tonic-gate #define DW_AT_SUN_profile_id                    0x2218
286*0Sstevel@tonic-gate #define DW_AT_SUN_memop_signature               0x2219
287*0Sstevel@tonic-gate #define DW_AT_SUN_obj_dir                       0x2220
288*0Sstevel@tonic-gate #define DW_AT_SUN_obj_file                      0x2221
289*0Sstevel@tonic-gate #define DW_AT_SUN_original_name                 0x2222
290*0Sstevel@tonic-gate 
291*0Sstevel@tonic-gate 
292*0Sstevel@tonic-gate #define DW_AT_hi_user				0x3fff
293*0Sstevel@tonic-gate 
294*0Sstevel@tonic-gate #define DW_OP_addr			0x03
295*0Sstevel@tonic-gate #define DW_OP_deref			0x06
296*0Sstevel@tonic-gate #define DW_OP_const1u			0x08
297*0Sstevel@tonic-gate #define DW_OP_const1s			0x09
298*0Sstevel@tonic-gate #define DW_OP_const2u			0x0a
299*0Sstevel@tonic-gate #define DW_OP_const2s			0x0b
300*0Sstevel@tonic-gate #define DW_OP_const4u			0x0c
301*0Sstevel@tonic-gate #define DW_OP_const4s			0x0d
302*0Sstevel@tonic-gate #define DW_OP_const8u			0x0e
303*0Sstevel@tonic-gate #define DW_OP_const8s			0x0f
304*0Sstevel@tonic-gate #define DW_OP_constu			0x10
305*0Sstevel@tonic-gate #define DW_OP_consts			0x11
306*0Sstevel@tonic-gate #define DW_OP_dup			0x12
307*0Sstevel@tonic-gate #define DW_OP_drop			0x13
308*0Sstevel@tonic-gate #define DW_OP_over			0x14
309*0Sstevel@tonic-gate #define DW_OP_pick			0x15
310*0Sstevel@tonic-gate #define DW_OP_swap			0x16
311*0Sstevel@tonic-gate #define DW_OP_rot			0x17
312*0Sstevel@tonic-gate #define DW_OP_xderef			0x18
313*0Sstevel@tonic-gate #define DW_OP_abs			0x19
314*0Sstevel@tonic-gate #define DW_OP_and			0x1a
315*0Sstevel@tonic-gate #define DW_OP_div			0x1b
316*0Sstevel@tonic-gate #define DW_OP_minus			0x1c
317*0Sstevel@tonic-gate #define DW_OP_mod			0x1d
318*0Sstevel@tonic-gate #define DW_OP_mul			0x1e
319*0Sstevel@tonic-gate #define DW_OP_neg			0x1f
320*0Sstevel@tonic-gate #define DW_OP_not			0x20
321*0Sstevel@tonic-gate #define DW_OP_or			0x21
322*0Sstevel@tonic-gate #define DW_OP_plus			0x22
323*0Sstevel@tonic-gate #define DW_OP_plus_uconst		0x23
324*0Sstevel@tonic-gate #define DW_OP_shl			0x24
325*0Sstevel@tonic-gate #define DW_OP_shr			0x25
326*0Sstevel@tonic-gate #define DW_OP_shra			0x26
327*0Sstevel@tonic-gate #define DW_OP_xor			0x27
328*0Sstevel@tonic-gate #define DW_OP_bra			0x28
329*0Sstevel@tonic-gate #define DW_OP_eq			0x29
330*0Sstevel@tonic-gate #define DW_OP_ge			0x2a
331*0Sstevel@tonic-gate #define DW_OP_gt			0x2b
332*0Sstevel@tonic-gate #define DW_OP_le			0x2c
333*0Sstevel@tonic-gate #define DW_OP_lt			0x2d
334*0Sstevel@tonic-gate #define DW_OP_ne			0x2e
335*0Sstevel@tonic-gate #define DW_OP_skip			0x2f
336*0Sstevel@tonic-gate #define DW_OP_lit0			0x30
337*0Sstevel@tonic-gate #define DW_OP_lit1			0x31
338*0Sstevel@tonic-gate #define DW_OP_lit2			0x32
339*0Sstevel@tonic-gate #define DW_OP_lit3			0x33
340*0Sstevel@tonic-gate #define DW_OP_lit4			0x34
341*0Sstevel@tonic-gate #define DW_OP_lit5			0x35
342*0Sstevel@tonic-gate #define DW_OP_lit6			0x36
343*0Sstevel@tonic-gate #define DW_OP_lit7			0x37
344*0Sstevel@tonic-gate #define DW_OP_lit8			0x38
345*0Sstevel@tonic-gate #define DW_OP_lit9			0x39
346*0Sstevel@tonic-gate #define DW_OP_lit10			0x3a
347*0Sstevel@tonic-gate #define DW_OP_lit11			0x3b
348*0Sstevel@tonic-gate #define DW_OP_lit12			0x3c
349*0Sstevel@tonic-gate #define DW_OP_lit13			0x3d
350*0Sstevel@tonic-gate #define DW_OP_lit14			0x3e
351*0Sstevel@tonic-gate #define DW_OP_lit15			0x3f
352*0Sstevel@tonic-gate #define DW_OP_lit16			0x40
353*0Sstevel@tonic-gate #define DW_OP_lit17			0x41
354*0Sstevel@tonic-gate #define DW_OP_lit18			0x42
355*0Sstevel@tonic-gate #define DW_OP_lit19			0x43
356*0Sstevel@tonic-gate #define DW_OP_lit20			0x44
357*0Sstevel@tonic-gate #define DW_OP_lit21			0x45
358*0Sstevel@tonic-gate #define DW_OP_lit22			0x46
359*0Sstevel@tonic-gate #define DW_OP_lit23			0x47
360*0Sstevel@tonic-gate #define DW_OP_lit24			0x48
361*0Sstevel@tonic-gate #define DW_OP_lit25			0x49
362*0Sstevel@tonic-gate #define DW_OP_lit26			0x4a
363*0Sstevel@tonic-gate #define DW_OP_lit27			0x4b
364*0Sstevel@tonic-gate #define DW_OP_lit28			0x4c
365*0Sstevel@tonic-gate #define DW_OP_lit29			0x4d
366*0Sstevel@tonic-gate #define DW_OP_lit30			0x4e
367*0Sstevel@tonic-gate #define DW_OP_lit31			0x4f
368*0Sstevel@tonic-gate #define DW_OP_reg0			0x50
369*0Sstevel@tonic-gate #define DW_OP_reg1			0x51
370*0Sstevel@tonic-gate #define DW_OP_reg2			0x52
371*0Sstevel@tonic-gate #define DW_OP_reg3			0x53
372*0Sstevel@tonic-gate #define DW_OP_reg4			0x54
373*0Sstevel@tonic-gate #define DW_OP_reg5			0x55
374*0Sstevel@tonic-gate #define DW_OP_reg6			0x56
375*0Sstevel@tonic-gate #define DW_OP_reg7			0x57
376*0Sstevel@tonic-gate #define DW_OP_reg8			0x58
377*0Sstevel@tonic-gate #define DW_OP_reg9			0x59
378*0Sstevel@tonic-gate #define DW_OP_reg10			0x5a
379*0Sstevel@tonic-gate #define DW_OP_reg11			0x5b
380*0Sstevel@tonic-gate #define DW_OP_reg12			0x5c
381*0Sstevel@tonic-gate #define DW_OP_reg13			0x5d
382*0Sstevel@tonic-gate #define DW_OP_reg14			0x5e
383*0Sstevel@tonic-gate #define DW_OP_reg15			0x5f
384*0Sstevel@tonic-gate #define DW_OP_reg16			0x60
385*0Sstevel@tonic-gate #define DW_OP_reg17			0x61
386*0Sstevel@tonic-gate #define DW_OP_reg18			0x62
387*0Sstevel@tonic-gate #define DW_OP_reg19			0x63
388*0Sstevel@tonic-gate #define DW_OP_reg20			0x64
389*0Sstevel@tonic-gate #define DW_OP_reg21			0x65
390*0Sstevel@tonic-gate #define DW_OP_reg22			0x66
391*0Sstevel@tonic-gate #define DW_OP_reg23			0x67
392*0Sstevel@tonic-gate #define DW_OP_reg24			0x68
393*0Sstevel@tonic-gate #define DW_OP_reg25			0x69
394*0Sstevel@tonic-gate #define DW_OP_reg26			0x6a
395*0Sstevel@tonic-gate #define DW_OP_reg27			0x6b
396*0Sstevel@tonic-gate #define DW_OP_reg28			0x6c
397*0Sstevel@tonic-gate #define DW_OP_reg29			0x6d
398*0Sstevel@tonic-gate #define DW_OP_reg30			0x6e
399*0Sstevel@tonic-gate #define DW_OP_reg31			0x6f
400*0Sstevel@tonic-gate #define DW_OP_breg0			0x70
401*0Sstevel@tonic-gate #define DW_OP_breg1			0x71
402*0Sstevel@tonic-gate #define DW_OP_breg2			0x72
403*0Sstevel@tonic-gate #define DW_OP_breg3			0x73
404*0Sstevel@tonic-gate #define DW_OP_breg4			0x74
405*0Sstevel@tonic-gate #define DW_OP_breg5			0x75
406*0Sstevel@tonic-gate #define DW_OP_breg6			0x76
407*0Sstevel@tonic-gate #define DW_OP_breg7			0x77
408*0Sstevel@tonic-gate #define DW_OP_breg8			0x78
409*0Sstevel@tonic-gate #define DW_OP_breg9			0x79
410*0Sstevel@tonic-gate #define DW_OP_breg10			0x7a
411*0Sstevel@tonic-gate #define DW_OP_breg11			0x7b
412*0Sstevel@tonic-gate #define DW_OP_breg12			0x7c
413*0Sstevel@tonic-gate #define DW_OP_breg13			0x7d
414*0Sstevel@tonic-gate #define DW_OP_breg14			0x7e
415*0Sstevel@tonic-gate #define DW_OP_breg15			0x7f
416*0Sstevel@tonic-gate #define DW_OP_breg16			0x80
417*0Sstevel@tonic-gate #define DW_OP_breg17			0x81
418*0Sstevel@tonic-gate #define DW_OP_breg18			0x82
419*0Sstevel@tonic-gate #define DW_OP_breg19			0x83
420*0Sstevel@tonic-gate #define DW_OP_breg20			0x84
421*0Sstevel@tonic-gate #define DW_OP_breg21			0x85
422*0Sstevel@tonic-gate #define DW_OP_breg22			0x86
423*0Sstevel@tonic-gate #define DW_OP_breg23			0x87
424*0Sstevel@tonic-gate #define DW_OP_breg24			0x88
425*0Sstevel@tonic-gate #define DW_OP_breg25			0x89
426*0Sstevel@tonic-gate #define DW_OP_breg26			0x8a
427*0Sstevel@tonic-gate #define DW_OP_breg27			0x8b
428*0Sstevel@tonic-gate #define DW_OP_breg28			0x8c
429*0Sstevel@tonic-gate #define DW_OP_breg29			0x8d
430*0Sstevel@tonic-gate #define DW_OP_breg30			0x8e
431*0Sstevel@tonic-gate #define DW_OP_breg31			0x8f
432*0Sstevel@tonic-gate #define DW_OP_regx			0x90
433*0Sstevel@tonic-gate #define DW_OP_fbreg			0x91
434*0Sstevel@tonic-gate #define DW_OP_bregx			0x92
435*0Sstevel@tonic-gate #define DW_OP_piece			0x93
436*0Sstevel@tonic-gate #define DW_OP_deref_size		0x94
437*0Sstevel@tonic-gate #define DW_OP_xderef_size		0x95
438*0Sstevel@tonic-gate #define DW_OP_nop			0x96
439*0Sstevel@tonic-gate #define DW_OP_lo_user			0xe0
440*0Sstevel@tonic-gate #define DW_OP_hi_user			0xff
441*0Sstevel@tonic-gate 
442*0Sstevel@tonic-gate #define DW_ATE_address			0x1
443*0Sstevel@tonic-gate #define DW_ATE_boolean			0x2
444*0Sstevel@tonic-gate #define DW_ATE_complex_float		0x3
445*0Sstevel@tonic-gate #define DW_ATE_float			0x4
446*0Sstevel@tonic-gate #define DW_ATE_signed			0x5
447*0Sstevel@tonic-gate #define DW_ATE_signed_char		0x6
448*0Sstevel@tonic-gate #define DW_ATE_unsigned			0x7
449*0Sstevel@tonic-gate #define DW_ATE_unsigned_char		0x8
450*0Sstevel@tonic-gate #define DW_ATE_imaginary_float		0x9
451*0Sstevel@tonic-gate #define DW_ATE_lo_user			0x80
452*0Sstevel@tonic-gate 
453*0Sstevel@tonic-gate /* Sun extensions */
454*0Sstevel@tonic-gate #define DW_ATE_SUN_interval_float       0x91
455*0Sstevel@tonic-gate #define DW_ATE_SUN_imaginary_float      0x92 /* Obsolete: See DW_ATE_imaginary_float */
456*0Sstevel@tonic-gate 
457*0Sstevel@tonic-gate #define DW_ATE_hi_user			0xff
458*0Sstevel@tonic-gate 
459*0Sstevel@tonic-gate /* for use with DW_TAG_SUN_codeflags
460*0Sstevel@tonic-gate  * If DW_TAG_SUN_codeflags is accepted as a dwarf standard, then
461*0Sstevel@tonic-gate  * standard dwarf ATCF entries start at 0x01
462*0Sstevel@tonic-gate  */
463*0Sstevel@tonic-gate #define DW_ATCF_lo_user                 0x40
464*0Sstevel@tonic-gate #define DW_ATCF_SUN_mop_bitfield        0x41
465*0Sstevel@tonic-gate #define DW_ATCF_SUN_mop_spill           0x42
466*0Sstevel@tonic-gate #define DW_ATCF_SUN_mop_scopy           0x43
467*0Sstevel@tonic-gate #define DW_ATCF_SUN_func_start          0x44
468*0Sstevel@tonic-gate #define DW_ATCF_SUN_end_ctors           0x45
469*0Sstevel@tonic-gate #define DW_ATCF_SUN_branch_target       0x46
470*0Sstevel@tonic-gate #define DW_ATCF_SUN_mop_stack_probe     0x47
471*0Sstevel@tonic-gate #define DW_ATCF_hi_user                 0xff
472*0Sstevel@tonic-gate 
473*0Sstevel@tonic-gate #define DW_ACCESS_public		1
474*0Sstevel@tonic-gate #define DW_ACCESS_protected		2
475*0Sstevel@tonic-gate #define DW_ACCESS_private		3
476*0Sstevel@tonic-gate 
477*0Sstevel@tonic-gate #define DW_VIS_local			1
478*0Sstevel@tonic-gate #define DW_VIS_exported			2
479*0Sstevel@tonic-gate #define DW_VIS_qualified		3
480*0Sstevel@tonic-gate 
481*0Sstevel@tonic-gate #define DW_VIRTUALITY_none		0
482*0Sstevel@tonic-gate #define DW_VIRTUALITY_virtual 		1
483*0Sstevel@tonic-gate #define DW_VIRTUALITY_pure_virtual 	2
484*0Sstevel@tonic-gate 
485*0Sstevel@tonic-gate #define DW_LANG_C89			0x0001
486*0Sstevel@tonic-gate #define DW_LANG_C			0x0002
487*0Sstevel@tonic-gate #define DW_LANG_Ada83			0x0003
488*0Sstevel@tonic-gate #define DW_LANG_C_plus_plus		0x0004
489*0Sstevel@tonic-gate #define DW_LANG_Cobol74			0x0005
490*0Sstevel@tonic-gate #define DW_LANG_Cobol85			0x0006
491*0Sstevel@tonic-gate #define DW_LANG_Fortran77		0x0007
492*0Sstevel@tonic-gate #define DW_LANG_Fortran90		0x0008
493*0Sstevel@tonic-gate #define DW_LANG_Pascal83		0x0009
494*0Sstevel@tonic-gate #define DW_LANG_Modula2			0x000a
495*0Sstevel@tonic-gate #define DW_LANG_Java			0x000b
496*0Sstevel@tonic-gate #define DW_LANG_C99			0x000c
497*0Sstevel@tonic-gate #define DW_LANG_Ada95			0x000d
498*0Sstevel@tonic-gate #define DW_LANG_Fortran95		0x000e
499*0Sstevel@tonic-gate #define DW_LANG_lo_user			0x8000
500*0Sstevel@tonic-gate #define DW_LANG_Mips_Assembler		0x8001
501*0Sstevel@tonic-gate 
502*0Sstevel@tonic-gate /* Sun extensions */
503*0Sstevel@tonic-gate #define DW_LANG_SUN_Assembler           0x9001
504*0Sstevel@tonic-gate 
505*0Sstevel@tonic-gate #define DW_LANG_hi_user			0xffff
506*0Sstevel@tonic-gate 
507*0Sstevel@tonic-gate 
508*0Sstevel@tonic-gate #define DW_ID_case_sensitive		0
509*0Sstevel@tonic-gate #define DW_ID_up_case			1
510*0Sstevel@tonic-gate #define DW_ID_down_case			2
511*0Sstevel@tonic-gate #define DW_ID_case_insensitive		3
512*0Sstevel@tonic-gate 
513*0Sstevel@tonic-gate #define DW_CC_normal			0x1
514*0Sstevel@tonic-gate #define DW_CC_program			0x2
515*0Sstevel@tonic-gate #define DW_CC_nocall			0x3
516*0Sstevel@tonic-gate #define DW_CC_lo_user			0x40
517*0Sstevel@tonic-gate #define DW_CC_hi_user			0xff
518*0Sstevel@tonic-gate 
519*0Sstevel@tonic-gate #define DW_INL_not_inlined		0
520*0Sstevel@tonic-gate #define DW_INL_inlined			1
521*0Sstevel@tonic-gate #define DW_INL_declared_not_inlined	2
522*0Sstevel@tonic-gate #define DW_INL_declared_inlined		3
523*0Sstevel@tonic-gate 
524*0Sstevel@tonic-gate #define DW_ORD_row_major		0
525*0Sstevel@tonic-gate #define DW_ORD_col_major		1
526*0Sstevel@tonic-gate 
527*0Sstevel@tonic-gate #define DW_DSC_label			0
528*0Sstevel@tonic-gate #define DW_DSC_range			1
529*0Sstevel@tonic-gate 
530*0Sstevel@tonic-gate #define DW_LNS_copy			1
531*0Sstevel@tonic-gate #define DW_LNS_advance_pc		2
532*0Sstevel@tonic-gate #define DW_LNS_advance_line		3
533*0Sstevel@tonic-gate #define DW_LNS_set_file			4
534*0Sstevel@tonic-gate #define DW_LNS_set_column		5
535*0Sstevel@tonic-gate #define DW_LNS_negate_stmt		6
536*0Sstevel@tonic-gate #define DW_LNS_set_basic_block		7
537*0Sstevel@tonic-gate #define DW_LNS_const_add_pc		8
538*0Sstevel@tonic-gate #define DW_LNS_fixed_advance_pc		9
539*0Sstevel@tonic-gate 
540*0Sstevel@tonic-gate #define DW_LNE_end_sequence		1
541*0Sstevel@tonic-gate #define DW_LNE_set_address		2
542*0Sstevel@tonic-gate #define DW_LNE_define_file		3
543*0Sstevel@tonic-gate 
544*0Sstevel@tonic-gate #define DW_LNE_lo_user			128
545*0Sstevel@tonic-gate #define DW_LNE_hi_user			255
546*0Sstevel@tonic-gate 
547*0Sstevel@tonic-gate #define DW_MACINFO_define		1
548*0Sstevel@tonic-gate #define DW_MACINFO_undef		2
549*0Sstevel@tonic-gate #define DW_MACINFO_start_file		3
550*0Sstevel@tonic-gate #define DW_MACINFO_end_file		4
551*0Sstevel@tonic-gate #define DW_MACINFO_vendor_ext		255
552*0Sstevel@tonic-gate 
553*0Sstevel@tonic-gate #define DW_CFA_advance_loc        0x40
554*0Sstevel@tonic-gate #define DW_CFA_offset             0x80
555*0Sstevel@tonic-gate #define DW_CFA_restore            0xc0
556*0Sstevel@tonic-gate #define DW_CFA_extended           0
557*0Sstevel@tonic-gate 
558*0Sstevel@tonic-gate #define DW_CFA_nop              0x00
559*0Sstevel@tonic-gate #define DW_CFA_set_loc          0x01
560*0Sstevel@tonic-gate #define DW_CFA_advance_loc1     0x02
561*0Sstevel@tonic-gate #define DW_CFA_advance_loc2     0x03
562*0Sstevel@tonic-gate #define DW_CFA_advance_loc4     0x04
563*0Sstevel@tonic-gate #define DW_CFA_offset_extended  0x05
564*0Sstevel@tonic-gate #define DW_CFA_restore_extended 0x06
565*0Sstevel@tonic-gate #define DW_CFA_undefined        0x07
566*0Sstevel@tonic-gate #define DW_CFA_same_value       0x08
567*0Sstevel@tonic-gate #define DW_CFA_register         0x09
568*0Sstevel@tonic-gate #define DW_CFA_remember_state   0x0a
569*0Sstevel@tonic-gate #define DW_CFA_restore_state    0x0b
570*0Sstevel@tonic-gate #define DW_CFA_def_cfa          0x0c
571*0Sstevel@tonic-gate #define DW_CFA_def_cfa_register 0x0d
572*0Sstevel@tonic-gate #define DW_CFA_def_cfa_offset   0x0e
573*0Sstevel@tonic-gate #define DW_CFA_def_cfa_expression 0x0f     /* dwarf 2.1 */
574*0Sstevel@tonic-gate #define DW_CFA_expression       0x10       /* dwarf 2.1 */
575*0Sstevel@tonic-gate #define DW_CFA_cfa_offset_extended_sf 0x11 /* dwarf 2.1 */
576*0Sstevel@tonic-gate #define DW_CFA_def_cfa_sf       0x12       /* dwarf 2.1 */
577*0Sstevel@tonic-gate #define DW_CFA_def_cfa_offset_sf 0x13      /* dwarf 2.1 */
578*0Sstevel@tonic-gate 
579*0Sstevel@tonic-gate #define DW_CFA_low_user          0x1c
580*0Sstevel@tonic-gate #define DW_CFA_MIPS_advance_loc8 0x1d
581*0Sstevel@tonic-gate 
582*0Sstevel@tonic-gate /* the following two from egcs-1.1.2 */
583*0Sstevel@tonic-gate #define DW_CFA_GNU_window_save   0x2d
584*0Sstevel@tonic-gate #define DW_CFA_GNU_args_size     0x2e
585*0Sstevel@tonic-gate 
586*0Sstevel@tonic-gate #define DW_CFA_high_user         0x3f
587*0Sstevel@tonic-gate 
588*0Sstevel@tonic-gate 
589*0Sstevel@tonic-gate /* Mapping from machine registers and pseudo-regs into the .debug_frame table.
590*0Sstevel@tonic-gate    DW_FRAME entries are machine specific. These describe
591*0Sstevel@tonic-gate    MIPS/SGI R3000, R4K, R4400.
592*0Sstevel@tonic-gate    And (simultaneously) a mapping from hardware register number to
593*0Sstevel@tonic-gate    the number used in the table to identify that register.
594*0Sstevel@tonic-gate 
595*0Sstevel@tonic-gate    The CFA (Canonical Frame Address) described in DWARF is called
596*0Sstevel@tonic-gate    the Virtual Frame Pointer on MIPS/SGI machines.
597*0Sstevel@tonic-gate 
598*0Sstevel@tonic-gate 	                     Rule describes:
599*0Sstevel@tonic-gate */
600*0Sstevel@tonic-gate #define DW_FRAME_CFA_COL 0  /* column used for CFA */
601*0Sstevel@tonic-gate #define DW_FRAME_REG1	1  /* integer reg 1 */
602*0Sstevel@tonic-gate #define DW_FRAME_REG2	2  /* integer reg 2 */
603*0Sstevel@tonic-gate #define DW_FRAME_REG3	3  /* integer reg 3 */
604*0Sstevel@tonic-gate #define DW_FRAME_REG4	4  /* integer reg 4 */
605*0Sstevel@tonic-gate #define DW_FRAME_REG5	5  /* integer reg 5 */
606*0Sstevel@tonic-gate #define DW_FRAME_REG6	6  /* integer reg 6 */
607*0Sstevel@tonic-gate #define DW_FRAME_REG7	7  /* integer reg 7 */
608*0Sstevel@tonic-gate #define DW_FRAME_REG8	8  /* integer reg 8 */
609*0Sstevel@tonic-gate #define DW_FRAME_REG9	9  /* integer reg 9 */
610*0Sstevel@tonic-gate #define DW_FRAME_REG10	10 /* integer reg 10 */
611*0Sstevel@tonic-gate #define DW_FRAME_REG11	11 /* integer reg 11 */
612*0Sstevel@tonic-gate #define DW_FRAME_REG12	12 /* integer reg 12 */
613*0Sstevel@tonic-gate #define DW_FRAME_REG13	13 /* integer reg 13 */
614*0Sstevel@tonic-gate #define DW_FRAME_REG14	14 /* integer reg 14 */
615*0Sstevel@tonic-gate #define DW_FRAME_REG15	15 /* integer reg 15 */
616*0Sstevel@tonic-gate #define DW_FRAME_REG16	16 /* integer reg 16 */
617*0Sstevel@tonic-gate #define DW_FRAME_REG17	17 /* integer reg 17 */
618*0Sstevel@tonic-gate #define DW_FRAME_REG18	18 /* integer reg 18 */
619*0Sstevel@tonic-gate #define DW_FRAME_REG19	19 /* integer reg 19 */
620*0Sstevel@tonic-gate #define DW_FRAME_REG20	20 /* integer reg 20 */
621*0Sstevel@tonic-gate #define DW_FRAME_REG21	21 /* integer reg 21 */
622*0Sstevel@tonic-gate #define DW_FRAME_REG22	22 /* integer reg 22 */
623*0Sstevel@tonic-gate #define DW_FRAME_REG23	23 /* integer reg 23 */
624*0Sstevel@tonic-gate #define DW_FRAME_REG24	24 /* integer reg 24 */
625*0Sstevel@tonic-gate #define DW_FRAME_REG25	25 /* integer reg 25 */
626*0Sstevel@tonic-gate #define DW_FRAME_REG26	26 /* integer reg 26 */
627*0Sstevel@tonic-gate #define DW_FRAME_REG27	27 /* integer reg 27 */
628*0Sstevel@tonic-gate #define DW_FRAME_REG28	28 /* integer reg 28 */
629*0Sstevel@tonic-gate #define DW_FRAME_REG29	29 /* integer reg 29 */
630*0Sstevel@tonic-gate #define DW_FRAME_REG30	30 /* integer reg 30 */
631*0Sstevel@tonic-gate #define DW_FRAME_REG31	31 /* integer reg 31, aka ra */
632*0Sstevel@tonic-gate 
633*0Sstevel@tonic-gate 	/* MIPS1, 2 have only some of these 64-bit registers.
634*0Sstevel@tonic-gate 	** MIPS1  save/restore takes 2 instructions per 64-bit reg, and
635*0Sstevel@tonic-gate 	** in that case, the register is considered stored after the second
636*0Sstevel@tonic-gate 	** swc1.
637*0Sstevel@tonic-gate 	*/
638*0Sstevel@tonic-gate #define DW_FRAME_FREG0  32 /* 64-bit floating point reg 0 */
639*0Sstevel@tonic-gate #define DW_FRAME_FREG1  33 /* 64-bit floating point reg 1 */
640*0Sstevel@tonic-gate #define DW_FRAME_FREG2  34 /* 64-bit floating point reg 2 */
641*0Sstevel@tonic-gate #define DW_FRAME_FREG3  35 /* 64-bit floating point reg 3 */
642*0Sstevel@tonic-gate #define DW_FRAME_FREG4  36 /* 64-bit floating point reg 4 */
643*0Sstevel@tonic-gate #define DW_FRAME_FREG5  37 /* 64-bit floating point reg 5 */
644*0Sstevel@tonic-gate #define DW_FRAME_FREG6  38 /* 64-bit floating point reg 6 */
645*0Sstevel@tonic-gate #define DW_FRAME_FREG7  39 /* 64-bit floating point reg 7 */
646*0Sstevel@tonic-gate #define DW_FRAME_FREG8  40 /* 64-bit floating point reg 8 */
647*0Sstevel@tonic-gate #define DW_FRAME_FREG9  41 /* 64-bit floating point reg 9 */
648*0Sstevel@tonic-gate #define DW_FRAME_FREG10 42 /* 64-bit floating point reg 10 */
649*0Sstevel@tonic-gate #define DW_FRAME_FREG11 43 /* 64-bit floating point reg 11 */
650*0Sstevel@tonic-gate #define DW_FRAME_FREG12 44 /* 64-bit floating point reg 12 */
651*0Sstevel@tonic-gate #define DW_FRAME_FREG13 45 /* 64-bit floating point reg 13 */
652*0Sstevel@tonic-gate #define DW_FRAME_FREG14 46 /* 64-bit floating point reg 14 */
653*0Sstevel@tonic-gate #define DW_FRAME_FREG15 47 /* 64-bit floating point reg 15 */
654*0Sstevel@tonic-gate #define DW_FRAME_FREG16 48 /* 64-bit floating point reg 16 */
655*0Sstevel@tonic-gate #define DW_FRAME_FREG17 49 /* 64-bit floating point reg 17 */
656*0Sstevel@tonic-gate #define DW_FRAME_FREG18 50 /* 64-bit floating point reg 18 */
657*0Sstevel@tonic-gate #define DW_FRAME_FREG19 51 /* 64-bit floating point reg 19 */
658*0Sstevel@tonic-gate #define DW_FRAME_FREG20 52 /* 64-bit floating point reg 20 */
659*0Sstevel@tonic-gate #define DW_FRAME_FREG21 53 /* 64-bit floating point reg 21 */
660*0Sstevel@tonic-gate #define DW_FRAME_FREG22 54 /* 64-bit floating point reg 22 */
661*0Sstevel@tonic-gate #define DW_FRAME_FREG23 55 /* 64-bit floating point reg 23 */
662*0Sstevel@tonic-gate #define DW_FRAME_FREG24 56 /* 64-bit floating point reg 24 */
663*0Sstevel@tonic-gate #define DW_FRAME_FREG25 57 /* 64-bit floating point reg 25 */
664*0Sstevel@tonic-gate #define DW_FRAME_FREG26 58 /* 64-bit floating point reg 26 */
665*0Sstevel@tonic-gate #define DW_FRAME_FREG27 59 /* 64-bit floating point reg 27 */
666*0Sstevel@tonic-gate #define DW_FRAME_FREG28 60 /* 64-bit floating point reg 28 */
667*0Sstevel@tonic-gate #define DW_FRAME_FREG29 61 /* 64-bit floating point reg 29 */
668*0Sstevel@tonic-gate #define DW_FRAME_FREG30 62 /* 64-bit floating point reg 30 */
669*0Sstevel@tonic-gate #define DW_FRAME_FREG31 63 /* 64-bit floating point reg 31 */
670*0Sstevel@tonic-gate 
671*0Sstevel@tonic-gate #define DW_FRAME_RA_COL	64 /* column recording ra */
672*0Sstevel@tonic-gate 
673*0Sstevel@tonic-gate #define DW_FRAME_STATIC_LINK 65 /* column recording static link*/
674*0Sstevel@tonic-gate 				/* applicable to up-level      */
675*0Sstevel@tonic-gate 				/* addressing, as in mp code,  */
676*0Sstevel@tonic-gate 				/* pascal, etc */
677*0Sstevel@tonic-gate 
678*0Sstevel@tonic-gate /* This is the number of columns in the Frame Table. This constant should
679*0Sstevel@tonic-gate    be kept in sync with DW_REG_TABLE_SIZE defined in libdwarf.h */
680*0Sstevel@tonic-gate #define DW_FRAME_LAST_REG_NUM   (DW_FRAME_STATIC_LINK + 1)
681*0Sstevel@tonic-gate 
682*0Sstevel@tonic-gate 
683*0Sstevel@tonic-gate /*
684*0Sstevel@tonic-gate   DW_FRAME_UNDEFINED_VAL and  DW_FRAME_SAME_VAL  are
685*0Sstevel@tonic-gate   never on disk, just generated by libdwarf. See libdwarf.h
686*0Sstevel@tonic-gate   for their values.
687*0Sstevel@tonic-gate */
688*0Sstevel@tonic-gate 
689*0Sstevel@tonic-gate 
690*0Sstevel@tonic-gate 
691*0Sstevel@tonic-gate #define DW_CHILDREN_no		     0x00
692*0Sstevel@tonic-gate #define DW_CHILDREN_yes		     0x01
693*0Sstevel@tonic-gate 
694*0Sstevel@tonic-gate #define DW_ADDR_none		0
695*0Sstevel@tonic-gate 
696*0Sstevel@tonic-gate #ifdef __cplusplus
697*0Sstevel@tonic-gate }
698*0Sstevel@tonic-gate #endif
699*0Sstevel@tonic-gate #endif /* __DWARF_H */
700