Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
00001 /* 00002 00003 Copyright (C) 2000, 2001 Silicon Graphics, Inc. All Rights Reserved. 00004 00005 This program is free software; you can redistribute it and/or modify it 00006 under the terms of version 2 of the GNU General Public License as 00007 published by the Free Software Foundation. 00008 00009 This program is distributed in the hope that it would be useful, but 00010 WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00012 00013 Further, this software is distributed without any warranty that it is 00014 free of the rightful claim of any third person regarding infringement 00015 or the like. Any license provided herein, whether implied or 00016 otherwise, applies only to this software file. Patent licenses, if 00017 any, provided herein do not apply to combinations of this program with 00018 other software, or any other product whatsoever. 00019 00020 You should have received a copy of the GNU General Public License along 00021 with this program; if not, write the Free Software Foundation, Inc., 59 00022 Temple Place - Suite 330, Boston MA 02111-1307, USA. 00023 00024 Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pky, 00025 Mountain View, CA 94043, or: 00026 00027 http://www.sgi.com 00028 00029 For further information regarding this notice, see: 00030 00031 http://oss.sgi.com/projects/GenInfo/NoticeExplan 00032 00033 */ 00034 00035 00036 #ifndef __DWARF_H 00037 #define __DWARF_H 00038 #ifdef __cplusplus 00039 extern "C" { 00040 #endif 00041 00042 /* 00043 dwarf.h DWARF debugging information values 00044 00045 */ 00046 00047 00048 #define DW_TAG_array_type 0x01 00049 #define DW_TAG_class_type 0x02 00050 #define DW_TAG_entry_point 0x03 00051 #define DW_TAG_enumeration_type 0x04 00052 #define DW_TAG_formal_parameter 0x05 00053 #define DW_TAG_imported_declaration 0x08 00054 #define DW_TAG_label 0x0a 00055 #define DW_TAG_lexical_block 0x0b 00056 #define DW_TAG_member 0x0d 00057 #define DW_TAG_pointer_type 0x0f 00058 #define DW_TAG_reference_type 0x10 00059 #define DW_TAG_compile_unit 0x11 00060 #define DW_TAG_string_type 0x12 00061 #define DW_TAG_structure_type 0x13 00062 #define DW_TAG_subroutine_type 0x15 00063 #define DW_TAG_typedef 0x16 00064 #define DW_TAG_union_type 0x17 00065 #define DW_TAG_unspecified_parameters 0x18 00066 #define DW_TAG_variant 0x19 00067 #define DW_TAG_common_block 0x1a 00068 #define DW_TAG_common_inclusion 0x1b 00069 #define DW_TAG_inheritance 0x1c 00070 #define DW_TAG_inlined_subroutine 0x1d 00071 #define DW_TAG_module 0x1e 00072 #define DW_TAG_ptr_to_member_type 0x1f 00073 #define DW_TAG_set_type 0x20 00074 #define DW_TAG_subrange_type 0x21 00075 #define DW_TAG_with_stmt 0x22 00076 #define DW_TAG_access_declaration 0x23 00077 #define DW_TAG_base_type 0x24 00078 #define DW_TAG_catch_block 0x25 00079 #define DW_TAG_const_type 0x26 00080 #define DW_TAG_constant 0x27 00081 #define DW_TAG_enumerator 0x28 00082 #define DW_TAG_file_type 0x29 00083 #define DW_TAG_friend 0x2a 00084 #define DW_TAG_namelist 0x2b 00085 #define DW_TAG_namelist_item 0x2c 00086 #define DW_TAG_packed_type 0x2d 00087 #define DW_TAG_subprogram 0x2e 00088 #define DW_TAG_template_type_param 0x2f 00089 #define DW_TAG_template_value_param 0x30 00090 #define DW_TAG_thrown_type 0x31 00091 #define DW_TAG_try_block 0x32 00092 #define DW_TAG_variant_part 0x33 00093 #define DW_TAG_variable 0x34 00094 #define DW_TAG_volatile_type 0x35 00095 #define DW_TAG_lo_user 0x4080 00096 #define DW_TAG_MIPS_loop 0x4081 00097 #define DW_TAG_hi_user 0xffff 00098 00099 /* The following 3 are GNU extensions 00100 The TAG names are as if the extensions were dwarf standard, 00101 not extensions. 00102 */ 00103 #define DW_TAG_format_label 0x4101 /* for FORTRAN 77, Fortran 90 */ 00104 #define DW_TAG_function_template 0x4102 /* for C++ */ 00105 #define DW_TAG_class_template 0x4103 /* for C++ */ 00106 00107 00108 #define DW_children_no 0 00109 #define DW_children_yes 1 00110 00111 00112 00113 #define DW_FORM_addr 0x01 00114 #define DW_FORM_block2 0x03 00115 #define DW_FORM_block4 0x04 00116 #define DW_FORM_data2 0x05 00117 #define DW_FORM_data4 0x06 00118 #define DW_FORM_data8 0x07 00119 #define DW_FORM_string 0x08 00120 #define DW_FORM_block 0x09 00121 #define DW_FORM_block1 0x0a 00122 #define DW_FORM_data1 0x0b 00123 #define DW_FORM_flag 0x0c 00124 #define DW_FORM_sdata 0x0d 00125 #define DW_FORM_strp 0x0e 00126 #define DW_FORM_udata 0x0f 00127 #define DW_FORM_ref_addr 0x10 00128 #define DW_FORM_ref1 0x11 00129 #define DW_FORM_ref2 0x12 00130 #define DW_FORM_ref4 0x13 00131 #define DW_FORM_ref8 0x14 00132 #define DW_FORM_ref_udata 0x15 00133 #define DW_FORM_indirect 0x16 00134 00135 #define DW_AT_sibling 0x01 00136 #define DW_AT_location 0x02 00137 #define DW_AT_name 0x03 00138 #define DW_AT_ordering 0x09 00139 #define DW_AT_subscr_data 0x0a 00140 #define DW_AT_byte_size 0x0b 00141 #define DW_AT_bit_offset 0x0c 00142 #define DW_AT_bit_size 0x0d 00143 #define DW_AT_element_list 0x0f 00144 #define DW_AT_stmt_list 0x10 00145 #define DW_AT_low_pc 0x11 00146 #define DW_AT_high_pc 0x12 00147 #define DW_AT_language 0x13 00148 #define DW_AT_member 0x14 00149 #define DW_AT_discr 0x15 00150 #define DW_AT_discr_value 0x16 00151 #define DW_AT_visibility 0x17 00152 #define DW_AT_import 0x18 00153 #define DW_AT_string_length 0x19 00154 #define DW_AT_common_reference 0x1a 00155 #define DW_AT_comp_dir 0x1b 00156 #define DW_AT_const_value 0x1c 00157 #define DW_AT_containing_type 0x1d 00158 #define DW_AT_default_value 0x1e 00159 #define DW_AT_inline 0x20 00160 #define DW_AT_is_optional 0x21 00161 #define DW_AT_lower_bound 0x22 00162 #define DW_AT_producer 0x25 00163 #define DW_AT_prototyped 0x27 00164 #define DW_AT_return_addr 0x2a 00165 #define DW_AT_start_scope 0x2c 00166 #define DW_AT_stride_size 0x2e 00167 #define DW_AT_upper_bound 0x2f 00168 #define DW_AT_abstract_origin 0x31 00169 #define DW_AT_accessibility 0x32 00170 #define DW_AT_address_class 0x33 00171 #define DW_AT_artificial 0x34 00172 #define DW_AT_base_types 0x35 00173 #define DW_AT_calling_convention 0x36 00174 #define DW_AT_count 0x37 00175 #define DW_AT_data_member_location 0x38 00176 #define DW_AT_decl_column 0x39 00177 #define DW_AT_decl_file 0x3a 00178 #define DW_AT_decl_line 0x3b 00179 #define DW_AT_declaration 0x3c 00180 #define DW_AT_discr_list 0x3d 00181 #define DW_AT_encoding 0x3e 00182 #define DW_AT_external 0x3f 00183 #define DW_AT_frame_base 0x40 00184 #define DW_AT_friend 0x41 00185 #define DW_AT_identifier_case 0x42 00186 #define DW_AT_macro_info 0x43 00187 #define DW_AT_namelist_items 0x44 00188 #define DW_AT_priority 0x45 00189 #define DW_AT_segment 0x46 00190 #define DW_AT_specification 0x47 00191 #define DW_AT_static_link 0x48 00192 #define DW_AT_type 0x49 00193 #define DW_AT_use_location 0x4a 00194 #define DW_AT_variable_parameter 0x4b 00195 #define DW_AT_virtuality 0x4c 00196 #define DW_AT_vtable_elem_location 0x4d 00197 #define DW_AT_lo_user 0x2000 00198 #define DW_AT_MIPS_fde 0x2001 00199 #define DW_AT_MIPS_loop_begin 0x2002 00200 #define DW_AT_MIPS_tail_loop_begin 0x2003 00201 #define DW_AT_MIPS_epilog_begin 0x2004 00202 #define DW_AT_MIPS_loop_unroll_factor 0x2005 00203 #define DW_AT_MIPS_software_pipeline_depth 0x2006 00204 #define DW_AT_MIPS_linkage_name 0x2007 00205 #define DW_AT_MIPS_stride 0x2008 00206 #define DW_AT_MIPS_abstract_name 0x2009 00207 #define DW_AT_MIPS_clone_origin 0x200a 00208 #define DW_AT_MIPS_has_inlines 0x200b 00209 #define DW_AT_MIPS_stride_byte 0x200c 00210 #define DW_AT_MIPS_stride_elem 0x200d 00211 #define DW_AT_MIPS_ptr_dopetype 0x200e 00212 #define DW_AT_MIPS_allocatable_dopetype 0x200f 00213 #define DW_AT_MIPS_assumed_shape_dopetype 0x2010 00214 #define DW_AT_MIPS_assumed_size 0x2011 00215 00216 00217 /* GNU extensions, currently not used in dwarf2 by egcs 00218 Mostly dwarf1 extensions not needed in dwarf2? 00219 */ 00220 #define DW_AT_sf_names 0x2101 00221 #define DW_AT_src_info 0x2102 00222 #define DW_AT_mac_info 0x2103 00223 #define DW_AT_src_coords 0x2104 00224 #define DW_AT_body_begin 0x2105 00225 #define DW_AT_body_end 0x2106 00226 00227 00228 #define DW_AT_hi_user 0x3fff 00229 00230 #define DW_OP_addr 0x03 00231 #define DW_OP_deref 0x06 00232 #define DW_OP_const1u 0x08 00233 #define DW_OP_const1s 0x09 00234 #define DW_OP_const2u 0x0a 00235 #define DW_OP_const2s 0x0b 00236 #define DW_OP_const4u 0x0c 00237 #define DW_OP_const4s 0x0d 00238 #define DW_OP_const8u 0x0e 00239 #define DW_OP_const8s 0x0f 00240 #define DW_OP_constu 0x10 00241 #define DW_OP_consts 0x11 00242 #define DW_OP_dup 0x12 00243 #define DW_OP_drop 0x13 00244 #define DW_OP_over 0x14 00245 #define DW_OP_pick 0x15 00246 #define DW_OP_swap 0x16 00247 #define DW_OP_rot 0x17 00248 #define DW_OP_xderef 0x18 00249 #define DW_OP_abs 0x19 00250 #define DW_OP_and 0x1a 00251 #define DW_OP_div 0x1b 00252 #define DW_OP_minus 0x1c 00253 #define DW_OP_mod 0x1d 00254 #define DW_OP_mul 0x1e 00255 #define DW_OP_neg 0x1f 00256 #define DW_OP_not 0x20 00257 #define DW_OP_or 0x21 00258 #define DW_OP_plus 0x22 00259 #define DW_OP_plus_uconst 0x23 00260 #define DW_OP_shl 0x24 00261 #define DW_OP_shr 0x25 00262 #define DW_OP_shra 0x26 00263 #define DW_OP_xor 0x27 00264 #define DW_OP_bra 0x28 00265 #define DW_OP_eq 0x29 00266 #define DW_OP_ge 0x2a 00267 #define DW_OP_gt 0x2b 00268 #define DW_OP_le 0x2c 00269 #define DW_OP_lt 0x2d 00270 #define DW_OP_ne 0x2e 00271 #define DW_OP_skip 0x2f 00272 #define DW_OP_lit0 0x30 00273 #define DW_OP_lit1 0x31 00274 #define DW_OP_lit2 0x32 00275 #define DW_OP_lit3 0x33 00276 #define DW_OP_lit4 0x34 00277 #define DW_OP_lit5 0x35 00278 #define DW_OP_lit6 0x36 00279 #define DW_OP_lit7 0x37 00280 #define DW_OP_lit8 0x38 00281 #define DW_OP_lit9 0x39 00282 #define DW_OP_lit10 0x3a 00283 #define DW_OP_lit11 0x3b 00284 #define DW_OP_lit12 0x3c 00285 #define DW_OP_lit13 0x3d 00286 #define DW_OP_lit14 0x3e 00287 #define DW_OP_lit15 0x3f 00288 #define DW_OP_lit16 0x40 00289 #define DW_OP_lit17 0x41 00290 #define DW_OP_lit18 0x42 00291 #define DW_OP_lit19 0x43 00292 #define DW_OP_lit20 0x44 00293 #define DW_OP_lit21 0x45 00294 #define DW_OP_lit22 0x46 00295 #define DW_OP_lit23 0x47 00296 #define DW_OP_lit24 0x48 00297 #define DW_OP_lit25 0x49 00298 #define DW_OP_lit26 0x4a 00299 #define DW_OP_lit27 0x4b 00300 #define DW_OP_lit28 0x4c 00301 #define DW_OP_lit29 0x4d 00302 #define DW_OP_lit30 0x4e 00303 #define DW_OP_lit31 0x4f 00304 #define DW_OP_reg0 0x50 00305 #define DW_OP_reg1 0x51 00306 #define DW_OP_reg2 0x52 00307 #define DW_OP_reg3 0x53 00308 #define DW_OP_reg4 0x54 00309 #define DW_OP_reg5 0x55 00310 #define DW_OP_reg6 0x56 00311 #define DW_OP_reg7 0x57 00312 #define DW_OP_reg8 0x58 00313 #define DW_OP_reg9 0x59 00314 #define DW_OP_reg10 0x5a 00315 #define DW_OP_reg11 0x5b 00316 #define DW_OP_reg12 0x5c 00317 #define DW_OP_reg13 0x5d 00318 #define DW_OP_reg14 0x5e 00319 #define DW_OP_reg15 0x5f 00320 #define DW_OP_reg16 0x60 00321 #define DW_OP_reg17 0x61 00322 #define DW_OP_reg18 0x62 00323 #define DW_OP_reg19 0x63 00324 #define DW_OP_reg20 0x64 00325 #define DW_OP_reg21 0x65 00326 #define DW_OP_reg22 0x66 00327 #define DW_OP_reg23 0x67 00328 #define DW_OP_reg24 0x68 00329 #define DW_OP_reg25 0x69 00330 #define DW_OP_reg26 0x6a 00331 #define DW_OP_reg27 0x6b 00332 #define DW_OP_reg28 0x6c 00333 #define DW_OP_reg29 0x6d 00334 #define DW_OP_reg30 0x6e 00335 #define DW_OP_reg31 0x6f 00336 #define DW_OP_breg0 0x70 00337 #define DW_OP_breg1 0x71 00338 #define DW_OP_breg2 0x72 00339 #define DW_OP_breg3 0x73 00340 #define DW_OP_breg4 0x74 00341 #define DW_OP_breg5 0x75 00342 #define DW_OP_breg6 0x76 00343 #define DW_OP_breg7 0x77 00344 #define DW_OP_breg8 0x78 00345 #define DW_OP_breg9 0x79 00346 #define DW_OP_breg10 0x7a 00347 #define DW_OP_breg11 0x7b 00348 #define DW_OP_breg12 0x7c 00349 #define DW_OP_breg13 0x7d 00350 #define DW_OP_breg14 0x7e 00351 #define DW_OP_breg15 0x7f 00352 #define DW_OP_breg16 0x80 00353 #define DW_OP_breg17 0x81 00354 #define DW_OP_breg18 0x82 00355 #define DW_OP_breg19 0x83 00356 #define DW_OP_breg20 0x84 00357 #define DW_OP_breg21 0x85 00358 #define DW_OP_breg22 0x86 00359 #define DW_OP_breg23 0x87 00360 #define DW_OP_breg24 0x88 00361 #define DW_OP_breg25 0x89 00362 #define DW_OP_breg26 0x8a 00363 #define DW_OP_breg27 0x8b 00364 #define DW_OP_breg28 0x8c 00365 #define DW_OP_breg29 0x8d 00366 #define DW_OP_breg30 0x8e 00367 #define DW_OP_breg31 0x8f 00368 #define DW_OP_regx 0x90 00369 #define DW_OP_fbreg 0x91 00370 #define DW_OP_bregx 0x92 00371 #define DW_OP_piece 0x93 00372 #define DW_OP_deref_size 0x94 00373 #define DW_OP_xderef_size 0x95 00374 #define DW_OP_nop 0x96 00375 #define DW_OP_lo_user 0xe0 00376 #define DW_OP_hi_user 0xff 00377 00378 #define DW_ATE_address 0x1 00379 #define DW_ATE_boolean 0x2 00380 #define DW_ATE_complex_float 0x3 00381 #define DW_ATE_float 0x4 00382 #define DW_ATE_signed 0x5 00383 #define DW_ATE_signed_char 0x6 00384 #define DW_ATE_unsigned 0x7 00385 #define DW_ATE_unsigned_char 0x8 00386 #define DW_ATE_lo_user 0x80 00387 #define DW_ATE_hi_user 0xff 00388 00389 #define DW_ACCESS_public 1 00390 #define DW_ACCESS_protected 2 00391 #define DW_ACCESS_private 3 00392 00393 #define DW_VIS_local 1 00394 #define DW_VIS_exported 2 00395 #define DW_VIS_qualified 3 00396 00397 #define DW_VIRTUALITY_none 0 00398 #define DW_VIRTUALITY_virtual 1 00399 #define DW_VIRTUALITY_pure_virtual 2 00400 00401 #define DW_LANG_C89 0x0001 00402 #define DW_LANG_C 0x0002 00403 #define DW_LANG_Ada83 0x0003 00404 #define DW_LANG_C_plus_plus 0x0004 00405 #define DW_LANG_Cobol74 0x0005 00406 #define DW_LANG_Cobol85 0x0006 00407 #define DW_LANG_Fortran77 0x0007 00408 #define DW_LANG_Fortran90 0x0008 00409 #define DW_LANG_Pascal83 0x0009 00410 #define DW_LANG_Modula2 0x000a 00411 #define DW_LANG_lo_user 0x8000 00412 #define DW_LANG_Mips_Assembler 0x8001 00413 #define DW_LANG_hi_user 0xffff 00414 00415 00416 #define DW_ID_case_sensitive 0 00417 #define DW_ID_up_case 1 00418 #define DW_ID_down_case 2 00419 #define DW_ID_case_insensitive 3 00420 00421 #define DW_CC_normal 0x1 00422 #define DW_CC_program 0x2 00423 #define DW_CC_nocall 0x3 00424 #define DW_CC_lo_user 0x40 00425 #define DW_CC_hi_user 0xff 00426 00427 #define DW_INL_not_inlined 0 00428 #define DW_INL_inlined 1 00429 #define DW_INL_declared_not_inlined 2 00430 #define DW_INL_declared_inlined 3 00431 00432 #define DW_ORD_row_major 0 00433 #define DW_ORD_col_major 1 00434 00435 #define DW_DSC_label 0 00436 #define DW_DSC_range 1 00437 00438 #define DW_LNS_copy 1 00439 #define DW_LNS_advance_pc 2 00440 #define DW_LNS_advance_line 3 00441 #define DW_LNS_set_file 4 00442 #define DW_LNS_set_column 5 00443 #define DW_LNS_negate_stmt 6 00444 #define DW_LNS_set_basic_block 7 00445 #define DW_LNS_const_add_pc 8 00446 #define DW_LNS_fixed_advance_pc 9 00447 00448 #define DW_LNE_end_sequence 1 00449 #define DW_LNE_set_address 2 00450 #define DW_LNE_define_file 3 00451 00452 #define DW_MACINFO_define 1 00453 #define DW_MACINFO_undef 2 00454 #define DW_MACINFO_start_file 3 00455 #define DW_MACINFO_end_file 4 00456 #define DW_MACINFO_vendor_ext 255 00457 00458 #define DW_CFA_advance_loc 0x40 00459 #define DW_CFA_offset 0x80 00460 #define DW_CFA_restore 0xc0 00461 #define DW_CFA_extended 0 00462 00463 #define DW_CFA_nop 0x00 00464 #define DW_CFA_set_loc 0x01 00465 #define DW_CFA_advance_loc1 0x02 00466 #define DW_CFA_advance_loc2 0x03 00467 #define DW_CFA_advance_loc4 0x04 00468 #define DW_CFA_offset_extended 0x05 00469 #define DW_CFA_restore_extended 0x06 00470 #define DW_CFA_undefined 0x07 00471 #define DW_CFA_same_value 0x08 00472 #define DW_CFA_register 0x09 00473 #define DW_CFA_remember_state 0x0a 00474 #define DW_CFA_restore_state 0x0b 00475 #define DW_CFA_def_cfa 0x0c 00476 #define DW_CFA_def_cfa_register 0x0d 00477 #define DW_CFA_def_cfa_offset 0x0e 00478 00479 #define DW_CFA_low_user 0x1c 00480 #define DW_CFA_MIPS_advance_loc8 0x1d 00481 00482 /* the following two from egcs-1.1.2 */ 00483 #define DW_CFA_GNU_window_save 0x2d 00484 #define DW_CFA_GNU_args_size 0x2e 00485 00486 #define DW_CFA_high_user 0x3f 00487 00488 00489 /* Mapping from machine registers and pseudo-regs into the .debug_frame table. 00490 DW_FRAME entries are machine specific. These describe 00491 MIPS/SGI R3000, R4K, R4400. 00492 And (simultaneously) a mapping from hardware register number to 00493 the number used in the table to identify that register. 00494 00495 The CFA (Canonical Frame Address) described in DWARF is called 00496 the Virtual Frame Pointer on MIPS/SGI machines. 00497 00498 Rule describes: 00499 */ 00500 #define DW_FRAME_CFA_COL 0 /* column used for CFA */ 00501 #define DW_FRAME_REG1 1 /* integer reg 1 */ 00502 #define DW_FRAME_REG2 2 /* integer reg 2 */ 00503 #define DW_FRAME_REG3 3 /* integer reg 3 */ 00504 #define DW_FRAME_REG4 4 /* integer reg 4 */ 00505 #define DW_FRAME_REG5 5 /* integer reg 5 */ 00506 #define DW_FRAME_REG6 6 /* integer reg 6 */ 00507 #define DW_FRAME_REG7 7 /* integer reg 7 */ 00508 #define DW_FRAME_REG8 8 /* integer reg 8 */ 00509 #define DW_FRAME_REG9 9 /* integer reg 9 */ 00510 #define DW_FRAME_REG10 10 /* integer reg 10 */ 00511 #define DW_FRAME_REG11 11 /* integer reg 11 */ 00512 #define DW_FRAME_REG12 12 /* integer reg 12 */ 00513 #define DW_FRAME_REG13 13 /* integer reg 13 */ 00514 #define DW_FRAME_REG14 14 /* integer reg 14 */ 00515 #define DW_FRAME_REG15 15 /* integer reg 15 */ 00516 #define DW_FRAME_REG16 16 /* integer reg 16 */ 00517 #define DW_FRAME_REG17 17 /* integer reg 17 */ 00518 #define DW_FRAME_REG18 18 /* integer reg 18 */ 00519 #define DW_FRAME_REG19 19 /* integer reg 19 */ 00520 #define DW_FRAME_REG20 20 /* integer reg 20 */ 00521 #define DW_FRAME_REG21 21 /* integer reg 21 */ 00522 #define DW_FRAME_REG22 22 /* integer reg 22 */ 00523 #define DW_FRAME_REG23 23 /* integer reg 23 */ 00524 #define DW_FRAME_REG24 24 /* integer reg 24 */ 00525 #define DW_FRAME_REG25 25 /* integer reg 25 */ 00526 #define DW_FRAME_REG26 26 /* integer reg 26 */ 00527 #define DW_FRAME_REG27 27 /* integer reg 27 */ 00528 #define DW_FRAME_REG28 28 /* integer reg 28 */ 00529 #define DW_FRAME_REG29 29 /* integer reg 29 */ 00530 #define DW_FRAME_REG30 30 /* integer reg 30 */ 00531 #define DW_FRAME_REG31 31 /* integer reg 31, aka ra */ 00532 00533 /* MIPS1, 2 have only some of these 64-bit registers. 00534 ** MIPS1 save/restore takes 2 instructions per 64-bit reg, and 00535 ** in that case, the register is considered stored after the second 00536 ** swc1. 00537 */ 00538 #define DW_FRAME_FREG0 32 /* 64-bit floating point reg 0 */ 00539 #define DW_FRAME_FREG1 33 /* 64-bit floating point reg 1 */ 00540 #define DW_FRAME_FREG2 34 /* 64-bit floating point reg 2 */ 00541 #define DW_FRAME_FREG3 35 /* 64-bit floating point reg 3 */ 00542 #define DW_FRAME_FREG4 36 /* 64-bit floating point reg 4 */ 00543 #define DW_FRAME_FREG5 37 /* 64-bit floating point reg 5 */ 00544 #define DW_FRAME_FREG6 38 /* 64-bit floating point reg 6 */ 00545 #define DW_FRAME_FREG7 39 /* 64-bit floating point reg 7 */ 00546 #define DW_FRAME_FREG8 40 /* 64-bit floating point reg 8 */ 00547 #define DW_FRAME_FREG9 41 /* 64-bit floating point reg 9 */ 00548 #define DW_FRAME_FREG10 42 /* 64-bit floating point reg 10 */ 00549 #define DW_FRAME_FREG11 43 /* 64-bit floating point reg 11 */ 00550 #define DW_FRAME_FREG12 44 /* 64-bit floating point reg 12 */ 00551 #define DW_FRAME_FREG13 45 /* 64-bit floating point reg 13 */ 00552 #define DW_FRAME_FREG14 46 /* 64-bit floating point reg 14 */ 00553 #define DW_FRAME_FREG15 47 /* 64-bit floating point reg 15 */ 00554 #define DW_FRAME_FREG16 48 /* 64-bit floating point reg 16 */ 00555 #define DW_FRAME_FREG17 49 /* 64-bit floating point reg 17 */ 00556 #define DW_FRAME_FREG18 50 /* 64-bit floating point reg 18 */ 00557 #define DW_FRAME_FREG19 51 /* 64-bit floating point reg 19 */ 00558 #define DW_FRAME_FREG20 52 /* 64-bit floating point reg 20 */ 00559 #define DW_FRAME_FREG21 53 /* 64-bit floating point reg 21 */ 00560 #define DW_FRAME_FREG22 54 /* 64-bit floating point reg 22 */ 00561 #define DW_FRAME_FREG23 55 /* 64-bit floating point reg 23 */ 00562 #define DW_FRAME_FREG24 56 /* 64-bit floating point reg 24 */ 00563 #define DW_FRAME_FREG25 57 /* 64-bit floating point reg 25 */ 00564 #define DW_FRAME_FREG26 58 /* 64-bit floating point reg 26 */ 00565 #define DW_FRAME_FREG27 59 /* 64-bit floating point reg 27 */ 00566 #define DW_FRAME_FREG28 60 /* 64-bit floating point reg 28 */ 00567 #define DW_FRAME_FREG29 61 /* 64-bit floating point reg 29 */ 00568 #define DW_FRAME_FREG30 62 /* 64-bit floating point reg 30 */ 00569 #define DW_FRAME_FREG31 63 /* 64-bit floating point reg 31 */ 00570 00571 #define DW_FRAME_RA_COL 64 /* column recording ra */ 00572 00573 #define DW_FRAME_STATIC_LINK 65 /* column recording static link*/ 00574 /* applicable to up-level */ 00575 /* addressing, as in mp code, */ 00576 /* pascal, etc */ 00577 00578 /* This is the number of columns in the Frame Table. This constant should 00579 be kept in sync with DW_REG_TABLE_SIZE defined in libdwarf.h */ 00580 #define DW_FRAME_LAST_REG_NUM (DW_FRAME_STATIC_LINK + 1) 00581 00582 00583 /* 00584 DW_FRAME_UNDEFINED_VAL and DW_FRAME_SAME_VAL are 00585 never on disk, just generated by libdwarf. See libdwarf.h 00586 for their values. 00587 */ 00588 00589 00590 00591 #define DW_CHILDREN_no 0x00 00592 #define DW_CHILDREN_yes 0x01 00593 00594 #define DW_ADDR_none 0 00595 00596 #ifdef __cplusplus 00597 } 00598 #endif 00599 #endif /* __DWARF_H */