dwarf.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef __DWARF_H
00037 #define __DWARF_H
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041
00042
00043
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
00100
00101
00102
00103 #define DW_TAG_format_label 0x4101
00104 #define DW_TAG_function_template 0x4102
00105 #define DW_TAG_class_template 0x4103
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
00218
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
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
00490
00491
00492
00493
00494
00495
00496
00497
00498
00499
00500 #define DW_FRAME_CFA_COL 0
00501 #define DW_FRAME_REG1 1
00502 #define DW_FRAME_REG2 2
00503 #define DW_FRAME_REG3 3
00504 #define DW_FRAME_REG4 4
00505 #define DW_FRAME_REG5 5
00506 #define DW_FRAME_REG6 6
00507 #define DW_FRAME_REG7 7
00508 #define DW_FRAME_REG8 8
00509 #define DW_FRAME_REG9 9
00510 #define DW_FRAME_REG10 10
00511 #define DW_FRAME_REG11 11
00512 #define DW_FRAME_REG12 12
00513 #define DW_FRAME_REG13 13
00514 #define DW_FRAME_REG14 14
00515 #define DW_FRAME_REG15 15
00516 #define DW_FRAME_REG16 16
00517 #define DW_FRAME_REG17 17
00518 #define DW_FRAME_REG18 18
00519 #define DW_FRAME_REG19 19
00520 #define DW_FRAME_REG20 20
00521 #define DW_FRAME_REG21 21
00522 #define DW_FRAME_REG22 22
00523 #define DW_FRAME_REG23 23
00524 #define DW_FRAME_REG24 24
00525 #define DW_FRAME_REG25 25
00526 #define DW_FRAME_REG26 26
00527 #define DW_FRAME_REG27 27
00528 #define DW_FRAME_REG28 28
00529 #define DW_FRAME_REG29 29
00530 #define DW_FRAME_REG30 30
00531 #define DW_FRAME_REG31 31
00532
00533
00534
00535
00536
00537
00538 #define DW_FRAME_FREG0 32
00539 #define DW_FRAME_FREG1 33
00540 #define DW_FRAME_FREG2 34
00541 #define DW_FRAME_FREG3 35
00542 #define DW_FRAME_FREG4 36
00543 #define DW_FRAME_FREG5 37
00544 #define DW_FRAME_FREG6 38
00545 #define DW_FRAME_FREG7 39
00546 #define DW_FRAME_FREG8 40
00547 #define DW_FRAME_FREG9 41
00548 #define DW_FRAME_FREG10 42
00549 #define DW_FRAME_FREG11 43
00550 #define DW_FRAME_FREG12 44
00551 #define DW_FRAME_FREG13 45
00552 #define DW_FRAME_FREG14 46
00553 #define DW_FRAME_FREG15 47
00554 #define DW_FRAME_FREG16 48
00555 #define DW_FRAME_FREG17 49
00556 #define DW_FRAME_FREG18 50
00557 #define DW_FRAME_FREG19 51
00558 #define DW_FRAME_FREG20 52
00559 #define DW_FRAME_FREG21 53
00560 #define DW_FRAME_FREG22 54
00561 #define DW_FRAME_FREG23 55
00562 #define DW_FRAME_FREG24 56
00563 #define DW_FRAME_FREG25 57
00564 #define DW_FRAME_FREG26 58
00565 #define DW_FRAME_FREG27 59
00566 #define DW_FRAME_FREG28 60
00567 #define DW_FRAME_FREG29 61
00568 #define DW_FRAME_FREG30 62
00569 #define DW_FRAME_FREG31 63
00570
00571 #define DW_FRAME_RA_COL 64
00572
00573 #define DW_FRAME_STATIC_LINK 65
00574
00575
00576
00577
00578
00579
00580 #define DW_FRAME_LAST_REG_NUM (DW_FRAME_STATIC_LINK + 1)
00581
00582
00583
00584
00585
00586
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