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