| /******************************************************************************* |
| * Copyright (c) 1996 - 2007 Wind River Systems, Inc. and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Wind River Systems - initial API and implementation |
| *******************************************************************************/ |
| |
| /* |
| * DWARF Debugging Information Format. |
| */ |
| |
| #define TAG_padding 0x0000 |
| #define TAG_array_type 0x0001 |
| #define TAG_class_type 0x0002 |
| #define TAG_entry_point 0x0003 |
| #define TAG_enumeration_type 0x0004 |
| #define TAG_formal_parameter 0x0005 |
| #define TAG_global_subroutine 0x0006 |
| #define TAG_global_variable 0x0007 |
| #define TAG_imported_declaration 0x0008 |
| #define TAG_label 0x000a |
| #define TAG_lexical_block 0x000b |
| #define TAG_local_variable 0x000c |
| #define TAG_member 0x000d |
| #define TAG_pointer_type 0x000f |
| #define TAG_reference_type 0x0010 |
| #define TAG_compile_unit 0x0011 |
| #define TAG_source_file 0x0011 |
| #define TAG_string_type 0x0012 |
| #define TAG_structure_type 0x0013 |
| #define TAG_subroutine 0x0014 |
| #define TAG_subroutine_type 0x0015 |
| #define TAG_typedef 0x0016 |
| #define TAG_union_type 0x0017 |
| #define TAG_unspecified_parameters 0x0018 |
| #define TAG_variant 0x0019 |
| #define TAG_common_block 0x001a |
| #define TAG_common_inclusion 0x001b |
| #define TAG_inheritance 0x001c |
| #define TAG_inlined_subroutine 0x001d |
| #define TAG_module 0x001e |
| #define TAG_ptr_to_member_type 0x001f |
| #define TAG_set_type 0x0020 |
| #define TAG_subrange_type 0x0021 |
| #define TAG_with_stmt 0x0022 |
| #define TAG_access_declaration 0x0023 |
| #define TAG_base_type 0x0024 |
| #define TAG_catch_block 0x0025 |
| #define TAG_const_type 0x0026 |
| #define TAG_constant 0x0027 |
| #define TAG_enumerator 0x0028 |
| #define TAG_file_type 0x0029 |
| #define TAG_friend 0x002a |
| #define TAG_namelist 0x002b |
| #define TAG_namelist_item 0x002c |
| #define TAG_packed_type 0x002d |
| #define TAG_subprogram 0x002e |
| #define TAG_template_type_param 0x002f |
| #define TAG_template_value_param 0x0030 |
| #define TAG_thrown_type 0x0031 |
| #define TAG_try_block 0x0032 |
| #define TAG_variant_part 0x0033 |
| #define TAG_variable 0x0034 |
| #define TAG_volatile_type 0x0035 |
| #define TAG_dwarf_procedure 0x0036 |
| #define TAG_restrict_type 0x0037 |
| #define TAG_interface_type 0x0038 |
| #define TAG_namespace 0x0039 |
| #define TAG_imported_module 0x003a |
| #define TAG_unspecified_type 0x003b |
| #define TAG_partial_unit 0x003c |
| #define TAG_imported_unit 0x003d |
| #define TAG_mutable_type 0x003e |
| #define TAG_condition 0x003f |
| #define TAG_shared_type 0x0040 |
| #define TAG_lo_user 0x4080 |
| #define TAG_wrs_thrown_object 0x4080 |
| #define TAG_wrs_throw_breakpoint 0x4081 |
| #define TAG_wrs_catch_breakpoint 0x4082 |
| #define TAG_wrs_extern_subroutine 0x4083 |
| #define TAG_hi_user 0xffff |
| |
| #define CHILDREN_no 0x00 |
| #define CHILDREN_yes 0x01 |
| |
| #define FORM_ADDR 0x0001 |
| #define FORM_REF 0x0002 |
| #define FORM_BLOCK2 0x0003 |
| #define FORM_BLOCK4 0x0004 |
| #define FORM_DATA2 0x0005 |
| #define FORM_DATA4 0x0006 |
| #define FORM_DATA8 0x0007 |
| #define FORM_STRING 0x0008 |
| #define FORM_BLOCK 0x0009 |
| #define FORM_BLOCK1 0x000a |
| #define FORM_DATA1 0x000b |
| #define FORM_FLAG 0x000c |
| #define FORM_SDATA 0x000d |
| #define FORM_STRP 0x000e |
| #define FORM_UDATA 0x000f |
| #define FORM_REF_ADDR 0x0010 |
| #define FORM_REF1 0x0011 |
| #define FORM_REF2 0x0012 |
| #define FORM_REF4 0x0013 |
| #define FORM_REF8 0x0014 |
| #define FORM_REF_UDATA 0x0015 |
| #define FORM_INDIRECT 0x0016 |
| |
| #define AT_sibling 0x0001 |
| #define AT_location 0x0002 |
| #define AT_name 0x0003 |
| #define AT_fund_type 0x0005 |
| #define AT_mod_fund_type 0x0006 |
| #define AT_user_def_type 0x0007 |
| #define AT_mod_u_d_type 0x0008 |
| #define AT_ordering 0x0009 |
| #define AT_subscr_data 0x000a |
| #define AT_byte_size 0x000b |
| #define AT_bit_offset 0x000c |
| #define AT_bit_size 0x000d |
| #define AT_element_list 0x000f |
| #define AT_stmt_list 0x0010 |
| #define AT_low_pc 0x0011 |
| #define AT_high_pc 0x0012 |
| #define AT_language 0x0013 |
| #define AT_member 0x0014 |
| #define AT_discr 0x0015 |
| #define AT_discr_value 0x0016 |
| #define AT_visibility 0x0017 |
| #define AT_import 0x0018 |
| #define AT_string_length 0x0019 |
| #define AT_common_reference 0x001a |
| #define AT_comp_dir 0x001b |
| #define AT_const_value 0x001c |
| #define AT_constaining_type 0x001d |
| #define AT_default_value 0x001e |
| #define AT_friends 0x001f |
| #define AT_inline 0x0020 |
| #define AT_is_optional 0x0021 |
| #define AT_lower_bound 0x0022 |
| #define AT_program 0x0023 |
| #define AT_private 0x0024 |
| #define AT_producer 0x0025 |
| #define AT_protected 0x0026 |
| #define AT_prototyped 0x0027 |
| #define AT_public 0x0028 |
| #define AT_pure_virtual 0x0029 |
| #define AT_return_addr 0x002a |
| #define AT_specification_v1 0x002b |
| #define AT_start_scope 0x002c |
| #define AT_stride_size 0x002e |
| #define AT_upper_bound 0x002f |
| #define AT_virtual 0x0030 |
| #define AT_abstract_origin 0x0031 |
| #define AT_accessibility 0x0032 |
| #define AT_address_class 0x0033 |
| #define AT_artificial 0x0034 |
| #define AT_base_types 0x0035 |
| #define AT_calling_convention 0x0036 |
| #define AT_count 0x0037 |
| #define AT_data_member_location 0x0038 |
| #define AT_decl_column 0x0039 |
| #define AT_decl_file 0x003a |
| #define AT_decl_line 0x003b |
| #define AT_declaration 0x003c |
| #define AT_distr_list 0x003d |
| #define AT_encoding 0x003e |
| #define AT_external 0x003f |
| #define AT_frame_base 0x0040 |
| #define AT_friend 0x0041 |
| #define AT_identifier_case 0x0042 |
| #define AT_macro_info 0x0043 |
| #define AT_namelist_info 0x0044 /* typo? item */ |
| #define AT_priority 0x0045 |
| #define AT_segment 0x0046 |
| #define AT_specification_v2 0x0047 /* v2 */ |
| #define AT_static_link 0x0048 |
| #define AT_type 0x0049 |
| #define AT_use_location 0x004a |
| #define AT_variable_parameter 0x004b |
| #define AT_virtuality 0x004c |
| #define AT_vtable_elem_location 0x004d |
| #define AT_allocated 0x004e /* v3 */ |
| #define AT_associated 0x004f /* v3 */ |
| #define AT_mangled 0x0050 /* v1 */ |
| #define AT_data_location 0x0050 /* v2 */ |
| #define AT_stride 0x0051 /* v3 */ |
| #define AT_entry_pc 0x0052 /* v3 */ |
| #define AT_use_UTF8 0x0053 /* v3 */ |
| #define AT_extension 0x0054 /* v3 */ |
| #define AT_ranges 0x0055 /* v3 */ |
| #define AT_trampoline 0x0056 /* v3 */ |
| #define AT_call_column 0x0057 /* v3 */ |
| #define AT_call_file 0x0058 /* v3 */ |
| #define AT_call_line 0x0059 /* v3 */ |
| #define AT_description 0x005a /* v3 */ |
| #define AT_lo_user_v1 0x0200 |
| #define AT_hi_user_v1 0x03ff |
| #define AT_push_mask 0x0220 |
| #define AT_frame_size 0x0221 |
| #define AT_main_unit 0x0222 |
| #define AT_stack_use 0x0223 |
| #define AT_source_file_names 0x0800 |
| #define AT_source_info 0x0810 |
| #define AT_lo_user_v2 0x2000 |
| #define AT_wrs_options 0x2001 |
| #define AT_hi_user_v2 0x3fff |
| |
| |
| #define OP_reg 0x01 /* v1 */ |
| #define OP_basereg 0x02 /* v1 */ |
| #define OP_addr 0x03 |
| #define OP_const 0x04 /* v1 */ |
| #define OP_deref2 0x05 /* v1 */ |
| #define OP_deref 0x06 |
| #define OP_add 0x07 /* v1 */ |
| #define OP_const1u 0x08 |
| #define OP_const1s 0x09 |
| #define OP_const2u 0x0a |
| #define OP_const2s 0x0b |
| #define OP_const4u 0x0c |
| #define OP_const4s 0x0d |
| #define OP_const8u 0x0e |
| #define OP_const8s 0x0f |
| #define OP_constu 0x10 |
| #define OP_consts 0x11 |
| #define OP_dup 0x12 |
| #define OP_drop 0x13 |
| #define OP_over 0x14 |
| #define OP_pick 0x15 |
| #define OP_swap 0x16 |
| #define OP_rot 0x17 |
| #define OP_xderef 0x18 |
| #define OP_abs 0x19 |
| #define OP_and 0x1a |
| #define OP_div 0x1b |
| #define OP_minus 0x1c |
| #define OP_mod 0x1d |
| #define OP_mul 0x1e |
| #define OP_neg 0x1f |
| #define OP_not 0x20 |
| #define OP_or 0x21 |
| #define OP_plus 0x22 |
| #define OP_plus_uconst 0x23 |
| #define OP_shl 0x24 |
| #define OP_shr 0x25 |
| #define OP_shra 0x26 |
| #define OP_xor 0x27 |
| #define OP_bra 0x28 |
| #define OP_eq 0x29 |
| #define OP_ge 0x2a |
| #define OP_gt 0x2b |
| #define OP_le 0x2c |
| #define OP_lt 0x2d |
| #define OP_ne 0x2e |
| #define OP_skip 0x2f |
| #define OP_lit0 0x30 |
| #define OP_lit1 0x31 |
| #define OP_lit2 0x32 |
| #define OP_lit3 0x33 |
| #define OP_lit4 0x34 |
| #define OP_lit5 0x35 |
| #define OP_lit6 0x36 |
| #define OP_lit7 0x37 |
| #define OP_lit8 0x38 |
| #define OP_lit9 0x39 |
| #define OP_lit10 0x3a |
| #define OP_lit11 0x3b |
| #define OP_lit12 0x3c |
| #define OP_lit13 0x3d |
| #define OP_lit14 0x3e |
| #define OP_lit15 0x3f |
| #define OP_lit16 0x40 |
| #define OP_lit17 0x41 |
| #define OP_lit18 0x42 |
| #define OP_lit19 0x43 |
| #define OP_lit20 0x44 |
| #define OP_lit21 0x45 |
| #define OP_lit22 0x46 |
| #define OP_lit23 0x47 |
| #define OP_lit24 0x48 |
| #define OP_lit25 0x49 |
| #define OP_lit26 0x4a |
| #define OP_lit27 0x4b |
| #define OP_lit28 0x4c |
| #define OP_lit29 0x4d |
| #define OP_lit30 0x4e |
| #define OP_lit31 0x4f |
| #define OP_reg0 0x50 |
| #define OP_reg1 0x51 |
| #define OP_reg2 0x52 |
| #define OP_reg3 0x53 |
| #define OP_reg4 0x54 |
| #define OP_reg5 0x55 |
| #define OP_reg6 0x56 |
| #define OP_reg7 0x57 |
| #define OP_reg8 0x58 |
| #define OP_reg9 0x59 |
| #define OP_reg10 0x5a |
| #define OP_reg11 0x5b |
| #define OP_reg12 0x5c |
| #define OP_reg13 0x5d |
| #define OP_reg14 0x5e |
| #define OP_reg15 0x5f |
| #define OP_reg16 0x60 |
| #define OP_reg17 0x61 |
| #define OP_reg18 0x62 |
| #define OP_reg19 0x63 |
| #define OP_reg20 0x64 |
| #define OP_reg21 0x65 |
| #define OP_reg22 0x66 |
| #define OP_reg23 0x67 |
| #define OP_reg24 0x68 |
| #define OP_reg25 0x69 |
| #define OP_reg26 0x6a |
| #define OP_reg27 0x6b |
| #define OP_reg28 0x6c |
| #define OP_reg29 0x6d |
| #define OP_reg30 0x6e |
| #define OP_reg31 0x6f |
| #define OP_breg0 0x70 |
| #define OP_breg1 0x71 |
| #define OP_breg2 0x72 |
| #define OP_breg3 0x73 |
| #define OP_breg4 0x74 |
| #define OP_breg5 0x75 |
| #define OP_breg6 0x76 |
| #define OP_breg7 0x77 |
| #define OP_breg8 0x78 |
| #define OP_breg9 0x79 |
| #define OP_breg10 0x7a |
| #define OP_breg11 0x7b |
| #define OP_breg12 0x7c |
| #define OP_breg13 0x7d |
| #define OP_breg14 0x7e |
| #define OP_breg15 0x7f |
| #define OP_breg16 0x80 |
| #define OP_breg17 0x81 |
| #define OP_breg18 0x82 |
| #define OP_breg19 0x83 |
| #define OP_breg20 0x84 |
| #define OP_breg21 0x85 |
| #define OP_breg22 0x86 |
| #define OP_breg23 0x87 |
| #define OP_breg24 0x88 |
| #define OP_breg25 0x89 |
| #define OP_breg26 0x8a |
| #define OP_breg27 0x8b |
| #define OP_breg28 0x8c |
| #define OP_breg29 0x8d |
| #define OP_breg30 0x8e |
| #define OP_breg31 0x8f |
| #define OP_regx 0x90 |
| #define OP_fbreg 0x91 |
| #define OP_bregx 0x92 |
| #define OP_piece 0x93 |
| #define OP_deref_size 0x94 |
| #define OP_xderef_size 0x95 |
| #define OP_nop 0x96 |
| #define OP_push_object_address 0x97 |
| #define OP_call2 0x98 |
| #define OP_call4 0x99 |
| #define OP_calli 0x9a /* typo? */ |
| #define OP_ref 0x9a |
| #define OP_call_ref 0x9a |
| #define OP_bit_piece 0x9d |
| #define OP_lo_user 0xe0 |
| #define OP_hi_user 0xff |
| |
| #define FT_char 0x0001 |
| #define FT_signed_char 0x0002 |
| #define FT_unsigned_char 0x0003 |
| #define FT_short 0x0004 |
| #define FT_signed_short 0x0005 |
| #define FT_unsigned_short 0x0006 |
| #define FT_integer 0x0007 |
| #define FT_signed_integer 0x0008 |
| #define FT_unsigned_integer 0x0009 |
| #define FT_long 0x000a |
| #define FT_signed_long 0x000b |
| #define FT_unsigned_long 0x000c |
| #define FT_pointer 0x000d |
| #define FT_float 0x000e |
| #define FT_dbl_prec_float 0x000f |
| #define FT_ext_prec_float 0x0010 |
| #define FT_complex 0x0011 |
| #define FT_dbl_prec_complex 0x0012 |
| #define FT_void 0x0014 |
| #define FT_boolean 0x0015 |
| #define FT_ext_prec_complex 0x0016 |
| #define FT_label 0x0017 |
| #define FT_lo_user 0x8000 |
| #define FT_hi_user 0xffff |
| #define FT_longlong 0x8008 |
| #define FT_signed_longlong 0x8108 |
| #define FT_unsigned_longlong 0x8208 |
| #define FT_vector_signed_char 0xa002 |
| #define FT_vector_unsigned_char 0xa003 |
| #define FT_vector_signed_short 0xa005 |
| #define FT_vector_unsigned_short 0xa006 |
| #define FT_vector_signed_int 0xa008 |
| #define FT_vector_unsigned_int 0xa009 |
| #define FT_vector_float 0xa00e |
| #define FT_ev64_s16 0xb005 |
| #define FT_ev64_u16 0xb006 |
| #define FT_ev64_s32 0xb008 |
| #define FT_ev64_u32 0xb009 |
| #define FT_ev64_s64 0xb208 |
| #define FT_ev64_u64 0xb209 |
| #define FT_ev64_fs 0xb00e |
| #define FT_ev64_opaque 0xb020 |
| |
| #define MOD_pointer_to 0x01 |
| #define MOD_reference_to 0x02 |
| #define MOD_const 0x03 |
| #define MOD_volatile 0x04 |
| #define MOD_lo_user 0x80 |
| #define MOD_hi_user 0xff |
| |
| #define LANG_C89 0x00000001 |
| #define LANG_C 0x00000002 |
| #define LANG_ADA83 0x00000003 |
| #define LANG_C_PLUS_PLUS 0x00000004 |
| #define LANG_COBOL74 0x00000005 |
| #define LANG_COBOL85 0x00000006 |
| #define LANG_FORTRAN77 0x00000007 |
| #define LANG_FORTRAN90 0x00000008 |
| #define LANG_PASCAL83 0x00000009 |
| #define LANG_MODULA2 0x0000000a |
| #define LANG_JAVA 0x0000000b /* v3 */ |
| #define LANG_C99 0x0000000c /* v3 */ |
| #define LANG_ADA95 0x0000000d /* v3 */ |
| #define LANG_FORTRAN95 0x0000000e /* v3 */ |
| #define LANG_PLI 0x0000000f |
| #define LANG_lo_user 0x00008000 |
| #define LANG_hi_user 0x0000ffff |
| |
| #define ORD_row_major 0 |
| #define ORD_col_major 1 |
| |
| #define FMT_FT_C_C 0x0 |
| #define FMT_FT_C_X 0x1 |
| #define FMT_FT_X_C 0x2 |
| #define FMT_FT_X_X 0x3 |
| #define FMT_UT_C_C 0x4 |
| #define FMT_UT_C_X 0x5 |
| #define FMT_UT_X_C 0x6 |
| #define FMT_UT_X_X 0x7 |
| #define FMT_ET 0x8 |
| |
| #define DW_ATE_address 0x01 |
| #define DW_ATE_boolean 0x02 |
| #define DW_ATE_complex_float 0x03 |
| #define DW_ATE_float 0x04 |
| #define DW_ATE_signed 0x05 |
| #define DW_ATE_signed_char 0x06 |
| #define DW_ATE_unsigned 0x07 |
| #define DW_ATE_unsigned_char 0x08 |
| #define DW_ATE_imaginary_float 0x09 /* v3 */ |
| #define DW_ATE_lo_user 0x80 |
| #define DW_ATE_hi_user 0xff |
| |
| #define DW_LNS_copy 1 |
| #define DW_LNS_advance_pc 2 |
| #define DW_LNS_advance_line 3 |
| #define DW_LNS_set_file 4 |
| #define DW_LNS_set_column 5 |
| #define DW_LNS_negate_stmt 6 |
| #define DW_LNS_set_basic_block 7 |
| #define DW_LNS_const_add_pc 8 |
| #define DW_LNS_fixed_advance_pc 9 |
| #define DW_LNS_set_prologue_end 0xa /* v3 */ |
| #define DW_LNS_set_epilogue_begin 0xb /* v3 */ |
| #define DW_LNS_set_isa 0xc /* v3 */ |
| #define DW_LNS_expected_opcode_base 0xd /* highest standard opcode plus one */ |
| #define DW_LNS_vendor_extension 0x100 |
| #define DW_LNS_special_opcode 0x101 |
| |
| #define DW_LNE_end_sequence 1 |
| #define DW_LNE_set_address 2 |
| #define DW_LNE_define_file 3 |
| #define DW_LNE_lo_user 0x80 /* v3 */ |
| #define DW_LNE_hi_user 0xff /* v3 */ |
| |
| #define ACCESS_public 1 |
| #define ACCESS_protected 2 |
| #define ACCESS_private 3 |
| |
| #define VIS_local 1 |
| #define VIS_exported 2 |
| #define VIS_qualified 3 |
| |
| #define VIRTUALITY_none 0 |
| #define VIRTUALITY_virtual 1 |
| #define VIRTUALITY_pure_virtual 2 |
| |
| #define ID_case_sensitive 0 |
| #define ID_up_case 1 |
| #define ID_down_case 2 |
| #define ID_case_insensitive 3 |
| |
| #define CC_normal 0x01 |
| #define CC_program 0x02 |
| #define CC_nocall 0x03 |
| #define CC_lo_user 0x40 |
| #define CC_hi_user 0xff |
| |
| #define INL_not_inlined 0 |
| #define INL_inlined 1 |
| #define INL_declared_not_inlined 2 |
| #define INL_declared_inlined 3 |
| |
| #define DSC_label 0 |
| #define DSC_range 1 |
| |
| #define MACINFO_define 1 |
| #define MACINFO_undef 2 |
| #define MACINFO_start_file 3 |
| #define MACINFO_end_file 4 |
| #define MACINFO_vendor_ext 0xff |
| |
| /* The following three defines represent */ |
| /* the high 2 bits only. */ |
| #define CFA_advance_loc 0x01 |
| #define CFA_offset 0x02 |
| #define CFA_restore 0x03 |
| |
| #define CFA_nop 0x00 |
| #define CFA_set_loc 0x01 |
| #define CFA_advance_loc1 0x02 |
| #define CFA_advance_loc2 0x03 |
| #define CFA_advance_loc4 0x04 |
| #define CFA_offset_extended 0x05 |
| #define CFA_restore_extended 0x06 |
| #define CFA_undefined 0x07 |
| #define CFA_same_value 0x08 |
| #define CFA_register 0x09 |
| #define CFA_remember_state 0x0a |
| #define CFA_restore_state 0x0b |
| #define CFA_def_cfa 0x0c |
| #define CFA_def_cfa_register 0x0d |
| #define CFA_def_cfa_offset 0x0e |
| #define CFA_def_cfa_expression 0x0f |
| #define CFA_expression 0x10 /* v3 */ |
| #define CFA_offset_extended_sf 0x11 /* v3 */ |
| #define CFA_def_cfa_sf 0x12 /* v3 */ |
| #define CFA_def_cfa_offset_sf 0x13 /* v3 */ |
| #define CFA_lo_user 0x1c |
| #define CFA_hi_user 0x3f |
| |
| |
| #define ADDR_none 0 |
| #define ADDR_near16 1 |
| #define ADDR_far16 2 |
| #define ADDR_huge16 3 |
| #define ADDR_near32 4 |
| #define ADDR_far32 5 |
| |
| |