Path: blob/main/contrib/elftoolchain/libdwarf/dwarf.h
39483 views
/*-1* Copyright (c) 2007 John Birrell ([email protected])2* All rights reserved.3*4* Redistribution and use in source and binary forms, with or without5* modification, are permitted provided that the following conditions6* are met:7* 1. Redistributions of source code must retain the above copyright8*notice, this list of conditions and the following disclaimer.9* 2. Redistributions in binary form must reproduce the above copyright10*notice, this list of conditions and the following disclaimer in the11*documentation and/or other materials provided with the distribution.12*13* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND14* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE15* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE16* ARE DISCLAIMED.IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE17* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL18* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS19* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)20* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT21* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY22* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF23* SUCH DAMAGE.24*25* $Id: dwarf.h 3749 2019-06-28 01:10:44Z emaste $26*/2728#ifndef _DWARF_H_29#define _DWARF_H_3031#define DW_TAG_array_type 0x0132#define DW_TAG_class_type 0x0233#define DW_TAG_entry_point 0x0334#define DW_TAG_enumeration_type 0x0435#define DW_TAG_formal_parameter 0x0536#define DW_TAG_imported_declaration 0x0837#define DW_TAG_label 0x0a38#define DW_TAG_lexical_block 0x0b39#define DW_TAG_member 0x0d40#define DW_TAG_pointer_type 0x0f41#define DW_TAG_reference_type 0x1042#define DW_TAG_compile_unit 0x1143#define DW_TAG_string_type 0x1244#define DW_TAG_structure_type 0x1345#define DW_TAG_subroutine_type 0x1546#define DW_TAG_typedef 0x1647#define DW_TAG_union_type 0x1748#define DW_TAG_unspecified_parameters 0x1849#define DW_TAG_variant 0x1950#define DW_TAG_common_block 0x1a51#define DW_TAG_common_inclusion 0x1b52#define DW_TAG_inheritance 0x1c53#define DW_TAG_inlined_subroutine 0x1d54#define DW_TAG_module 0x1e55#define DW_TAG_ptr_to_member_type 0x1f56#define DW_TAG_set_type 0x2057#define DW_TAG_subrange_type 0x2158#define DW_TAG_with_stmt 0x2259#define DW_TAG_access_declaration 0x2360#define DW_TAG_base_type 0x2461#define DW_TAG_catch_block 0x2562#define DW_TAG_const_type 0x2663#define DW_TAG_constant 0x2764#define DW_TAG_enumerator 0x2865#define DW_TAG_friend 0x2a66#define DW_TAG_namelist 0x2b67#define DW_TAG_namelist_item 0x2c68#define DW_TAG_packed_type 0x2d69#define DW_TAG_subprogram 0x2e70#define DW_TAG_template_type_parameter 0x2f71#define DW_TAG_template_type_param 0x2f72#define DW_TAG_template_value_parameter 0x3073#define DW_TAG_template_value_param 0x3074#define DW_TAG_thrown_type 0x3175#define DW_TAG_try_block 0x3276#define DW_TAG_variant_part 0x3377#define DW_TAG_variable 0x3478#define DW_TAG_volatile_type 0x3579#define DW_TAG_dwarf_procedure 0x3680#define DW_TAG_restrict_type 0x3781#define DW_TAG_interface_type 0x3882#define DW_TAG_namespace 0x3983#define DW_TAG_imported_module 0x3a84#define DW_TAG_unspecified_type 0x3b85#define DW_TAG_partial_unit 0x3c86#define DW_TAG_imported_unit 0x3d87#define DW_TAG_condition 0x3f88#define DW_TAG_shared_type 0x4089#define DW_TAG_type_unit 0x4190#define DW_TAG_rvalue_reference_type 0x4291#define DW_TAG_template_alias 0x4392#define DW_TAG_coarray_type 0x4493#define DW_TAG_generic_subrange 0x4594#define DW_TAG_dynamic_type 0x4695#define DW_TAG_atomic_type 0x4796#define DW_TAG_call_site 0x4897#define DW_TAG_call_site_parameter 0x4998#define DW_TAG_skeleton_unit 0x4a99#define DW_TAG_immutable_type 0x4b100#define DW_TAG_lo_user 0x4080101#define DW_TAG_hi_user 0xffff102103/* GNU extensions. */104#define DW_TAG_format_label 0x4101105#define DW_TAG_function_template 0x4102106#define DW_TAG_class_template 0x4103107#define DW_TAG_GNU_BINCL 0x4104108#define DW_TAG_GNU_EINCL 0x4105109#define DW_TAG_GNU_template_template_parameter 0x4106110#define DW_TAG_GNU_template_template_param 0x4106111#define DW_TAG_GNU_template_parameter_pack 0x4107112#define DW_TAG_GNU_formal_parameter_pack 0x4108113#define DW_TAG_GNU_call_site 0x4109114#define DW_TAG_GNU_call_site_parameter 0x410a115116#define DW_CHILDREN_no 0x00117#define DW_CHILDREN_yes 0x01118119#define DW_AT_sibling 0x01120#define DW_AT_location 0x02121#define DW_AT_name 0x03122#define DW_AT_ordering 0x09123#define DW_AT_subscr_data 0x0a124#define DW_AT_byte_size 0x0b125#define DW_AT_bit_offset 0x0c126#define DW_AT_bit_size 0x0d127#define DW_AT_element_list 0x0f128#define DW_AT_stmt_list 0x10129#define DW_AT_low_pc 0x11130#define DW_AT_high_pc 0x12131#define DW_AT_language 0x13132#define DW_AT_member 0x14133#define DW_AT_discr 0x15134#define DW_AT_discr_value 0x16135#define DW_AT_visibility 0x17136#define DW_AT_import 0x18137#define DW_AT_string_length 0x19138#define DW_AT_common_reference 0x1a139#define DW_AT_comp_dir 0x1b140#define DW_AT_const_value 0x1c141#define DW_AT_containing_type 0x1d142#define DW_AT_default_value 0x1e143#define DW_AT_inline 0x20144#define DW_AT_is_optional 0x21145#define DW_AT_lower_bound 0x22146#define DW_AT_producer 0x25147#define DW_AT_prototyped 0x27148#define DW_AT_return_addr 0x2a149#define DW_AT_start_scope 0x2c150#define DW_AT_bit_stride 0x2e151#define DW_AT_stride_size 0x2e152#define DW_AT_upper_bound 0x2f153#define DW_AT_abstract_origin 0x31154#define DW_AT_accessibility 0x32155#define DW_AT_address_class 0x33156#define DW_AT_artificial 0x34157#define DW_AT_base_types 0x35158#define DW_AT_calling_convention 0x36159#define DW_AT_count 0x37160#define DW_AT_data_member_location 0x38161#define DW_AT_decl_column 0x39162#define DW_AT_decl_file 0x3a163#define DW_AT_decl_line 0x3b164#define DW_AT_declaration 0x3c165#define DW_AT_discr_list 0x3d166#define DW_AT_encoding 0x3e167#define DW_AT_external 0x3f168#define DW_AT_frame_base 0x40169#define DW_AT_friend 0x41170#define DW_AT_identifier_case 0x42171#define DW_AT_macro_info 0x43172#define DW_AT_namelist_item 0x44173#define DW_AT_priority 0x45174#define DW_AT_segment 0x46175#define DW_AT_specification 0x47176#define DW_AT_static_link 0x48177#define DW_AT_type 0x49178#define DW_AT_use_location 0x4a179#define DW_AT_variable_parameter 0x4b180#define DW_AT_virtuality 0x4c181#define DW_AT_vtable_elem_location 0x4d182#define DW_AT_allocated 0x4e183#define DW_AT_associated 0x4f184#define DW_AT_data_location 0x50185#define DW_AT_byte_stride 0x51186#define DW_AT_entry_pc 0x52187#define DW_AT_use_UTF8 0x53188#define DW_AT_extension 0x54189#define DW_AT_ranges 0x55190#define DW_AT_trampoline 0x56191#define DW_AT_call_column 0x57192#define DW_AT_call_file 0x58193#define DW_AT_call_line 0x59194#define DW_AT_description 0x5a195#define DW_AT_binary_scale 0x5b196#define DW_AT_decimal_scale 0x5c197#define DW_AT_small 0x5d198#define DW_AT_decimal_sign 0x5e199#define DW_AT_digit_count 0x5f200#define DW_AT_picture_string 0x60201#define DW_AT_mutable 0x61202#define DW_AT_threads_scaled 0x62203#define DW_AT_explicit 0x63204#define DW_AT_object_pointer 0x64205#define DW_AT_endianity 0x65206#define DW_AT_elemental 0x66207#define DW_AT_pure 0x67208#define DW_AT_recursive 0x68209#define DW_AT_signature 0x69210#define DW_AT_main_subprogram 0x6a211#define DW_AT_data_bit_offset 0x6b212#define DW_AT_const_expr 0x6c213#define DW_AT_enum_class 0x6d214#define DW_AT_linkage_name 0x6e215#define DW_AT_string_length_bit_size 0x6f216#define DW_AT_string_length_byte_size 0x70217#define DW_AT_rank 0x71218#define DW_AT_str_offsets_base 0x72219#define DW_AT_addr_base 0x73220#define DW_AT_rnglists_base 0x74221#define DW_AT_dwo_name 0x76222#define DW_AT_reference 0x77223#define DW_AT_rvalue_reference 0x78224#define DW_AT_macros 0x79225#define DW_AT_call_all_calls 0x7a226#define DW_AT_call_all_source_calls 0x7b227#define DW_AT_call_all_tail_calls 0x7c228#define DW_AT_call_return_pc 0x7d229#define DW_AT_call_value 0x7e230#define DW_AT_call_origin 0x7f231#define DW_AT_call_parameter 0x80232#define DW_AT_call_pc 0x81233#define DW_AT_call_tail_call 0x82234#define DW_AT_call_target 0x83235#define DW_AT_call_target_clobbered 0x84236#define DW_AT_call_data_location 0x85237#define DW_AT_call_data_value 0x86238#define DW_AT_noreturn 0x87239#define DW_AT_alignment 0x88240#define DW_AT_export_symbols 0x89241#define DW_AT_deleted 0x8a242#define DW_AT_defaulted 0x8b243#define DW_AT_loclists_base 0x8c244#define DW_AT_lo_user 0x2000245#define DW_AT_hi_user 0x3fff246247/* SGI/MIPS extensions. */248#define DW_AT_MIPS_fde 0x2001249#define DW_AT_MIPS_loop_begin 0x2002250#define DW_AT_MIPS_tail_loop_begin 0x2003251#define DW_AT_MIPS_epilog_begin 0x2004252#define DW_AT_MIPS_loop_unroll_factor 0x2005253#define DW_AT_MIPS_software_pipeline_depth 0x2006254#define DW_AT_MIPS_linkage_name 0x2007255#define DW_AT_MIPS_stride 0x2008256#define DW_AT_MIPS_abstract_name 0x2009257#define DW_AT_MIPS_clone_origin 0x200a258#define DW_AT_MIPS_has_inlines 0x200b259#define DW_AT_MIPS_stride_byte 0x200c260#define DW_AT_MIPS_stride_elem 0x200d261#define DW_AT_MIPS_ptr_dopetype 0x200e262#define DW_AT_MIPS_allocatable_dopetype 0x200f263#define DW_AT_MIPS_assumed_shape_dopetype 0x2010264#define DW_AT_MIPS_assumed_size 0x2011265266/* GNU extensions. */267#define DW_AT_sf_names 0x2101268#define DW_AT_src_info 0x2102269#define DW_AT_mac_info 0x2103270#define DW_AT_src_coords 0x2104271#define DW_AT_body_begin 0x2105272#define DW_AT_body_end 0x2106273#define DW_AT_GNU_vector 0x2107274#define DW_AT_GNU_guarded_by 0x2108275#define DW_AT_GNU_pt_guarded_by 0x2109276#define DW_AT_GNU_guarded 0x210a277#define DW_AT_GNU_pt_guarded 0x210b278#define DW_AT_GNU_locks_excluded 0x210c279#define DW_AT_GNU_exclusive_locks_required 0x210d280#define DW_AT_GNU_shared_locks_required 0x210e281#define DW_AT_GNU_odr_signature 0x210f282#define DW_AT_GNU_template_name 0x2110283#define DW_AT_GNU_call_site_value 0x2111284#define DW_AT_GNU_call_site_data_value 0x2112285#define DW_AT_GNU_call_site_target 0x2113286#define DW_AT_GNU_call_site_target_clobbered 0x2114287#define DW_AT_GNU_tail_call 0x2115288#define DW_AT_GNU_all_tail_call_sites 0x2116289#define DW_AT_GNU_all_call_sites 0x2117290#define DW_AT_GNU_all_source_call_sites 0x2118291292/* Apple extensions. */293#define DW_AT_APPLE_optimized 0x3fe1294#define DW_AT_APPLE_flags 0x3fe2295#define DW_AT_APPLE_isa 0x3fe3296#define DW_AT_APPLE_block 0x3fe4297#define DW_AT_APPLE_major_runtime_vers 0x3fe5298#define DW_AT_APPLE_runtime_class 0x3fe6299#define DW_AT_APPLE_omit_frame_ptr 0x3fe7300#define DW_AT_APPLE_property_name 0x3fe8301#define DW_AT_APPLE_property_getter 0x3fe9302#define DW_AT_APPLE_property_setter 0x3fea303#define DW_AT_APPLE_property_attribute 0x3feb304#define DW_AT_APPLE_objc_complete_type 0x3fec305#define DW_AT_APPLE_property 0x3fed306307#define DW_FORM_addr 0x01308#define DW_FORM_block2 0x03309#define DW_FORM_block4 0x04310#define DW_FORM_data2 0x05311#define DW_FORM_data4 0x06312#define DW_FORM_data8 0x07313#define DW_FORM_string 0x08314#define DW_FORM_block 0x09315#define DW_FORM_block1 0x0a316#define DW_FORM_data1 0x0b317#define DW_FORM_flag 0x0c318#define DW_FORM_sdata 0x0d319#define DW_FORM_strp 0x0e320#define DW_FORM_udata 0x0f321#define DW_FORM_ref_addr 0x10322#define DW_FORM_ref1 0x11323#define DW_FORM_ref2 0x12324#define DW_FORM_ref4 0x13325#define DW_FORM_ref8 0x14326#define DW_FORM_ref_udata 0x15327#define DW_FORM_indirect 0x16328#define DW_FORM_sec_offset 0x17329#define DW_FORM_exprloc 0x18330#define DW_FORM_flag_present 0x19331#define DW_FORM_strx 0x1a332#define DW_FORM_addrx 0x1b333#define DW_FORM_ref_sup4 0x1c334#define DW_FORM_strp_sup 0x1d335#define DW_FORM_data16 0x1e336#define DW_FORM_line_strp 0x1f337#define DW_FORM_ref_sig8 0x20338#define DW_FORM_implicit_const 0x21339#define DW_FORM_loclistx 0x22340#define DW_FORM_rnglistx 0x23341#define DW_FORM_ref_sup8 0x24342#define DW_FORM_ref_strx1 0x25343#define DW_FORM_ref_strx2 0x26344#define DW_FORM_ref_strx3 0x27345#define DW_FORM_ref_strx4 0x28346#define DW_FORM_ref_addrx1 0x29347#define DW_FORM_ref_addrx2 0x2a348#define DW_FORM_ref_addrx3 0x2b349#define DW_FORM_ref_addrx4 0x2c350#define DW_FORM_GNU_ref_alt 0x1f20351#define DW_FORM_GNU_strp_alt 0x1f21352353#define DW_OP_addr 0x03354#define DW_OP_deref 0x06355#define DW_OP_const1u 0x08356#define DW_OP_const1s 0x09357#define DW_OP_const2u 0x0a358#define DW_OP_const2s 0x0b359#define DW_OP_const4u 0x0c360#define DW_OP_const4s 0x0d361#define DW_OP_const8u 0x0e362#define DW_OP_const8s 0x0f363#define DW_OP_constu 0x10364#define DW_OP_consts 0x11365#define DW_OP_dup 0x12366#define DW_OP_drop 0x13367#define DW_OP_over 0x14368#define DW_OP_pick 0x15369#define DW_OP_swap 0x16370#define DW_OP_rot 0x17371#define DW_OP_xderef 0x18372#define DW_OP_abs 0x19373#define DW_OP_and 0x1a374#define DW_OP_div 0x1b375#define DW_OP_minus 0x1c376#define DW_OP_mod 0x1d377#define DW_OP_mul 0x1e378#define DW_OP_neg 0x1f379#define DW_OP_not 0x20380#define DW_OP_or 0x21381#define DW_OP_plus 0x22382#define DW_OP_plus_uconst 0x23383#define DW_OP_shl 0x24384#define DW_OP_shr 0x25385#define DW_OP_shra 0x26386#define DW_OP_xor 0x27387#define DW_OP_bra 0x28388#define DW_OP_eq 0x29389#define DW_OP_ge 0x2a390#define DW_OP_gt 0x2b391#define DW_OP_le 0x2c392#define DW_OP_lt 0x2d393#define DW_OP_ne 0x2e394#define DW_OP_skip 0x2f395#define DW_OP_lit0 0x30396#define DW_OP_lit1 0x31397#define DW_OP_lit2 0x32398#define DW_OP_lit3 0x33399#define DW_OP_lit4 0x34400#define DW_OP_lit5 0x35401#define DW_OP_lit6 0x36402#define DW_OP_lit7 0x37403#define DW_OP_lit8 0x38404#define DW_OP_lit9 0x39405#define DW_OP_lit10 0x3a406#define DW_OP_lit11 0x3b407#define DW_OP_lit12 0x3c408#define DW_OP_lit13 0x3d409#define DW_OP_lit14 0x3e410#define DW_OP_lit15 0x3f411#define DW_OP_lit16 0x40412#define DW_OP_lit17 0x41413#define DW_OP_lit18 0x42414#define DW_OP_lit19 0x43415#define DW_OP_lit20 0x44416#define DW_OP_lit21 0x45417#define DW_OP_lit22 0x46418#define DW_OP_lit23 0x47419#define DW_OP_lit24 0x48420#define DW_OP_lit25 0x49421#define DW_OP_lit26 0x4a422#define DW_OP_lit27 0x4b423#define DW_OP_lit28 0x4c424#define DW_OP_lit29 0x4d425#define DW_OP_lit30 0x4e426#define DW_OP_lit31 0x4f427#define DW_OP_reg0 0x50428#define DW_OP_reg1 0x51429#define DW_OP_reg2 0x52430#define DW_OP_reg3 0x53431#define DW_OP_reg4 0x54432#define DW_OP_reg5 0x55433#define DW_OP_reg6 0x56434#define DW_OP_reg7 0x57435#define DW_OP_reg8 0x58436#define DW_OP_reg9 0x59437#define DW_OP_reg10 0x5a438#define DW_OP_reg11 0x5b439#define DW_OP_reg12 0x5c440#define DW_OP_reg13 0x5d441#define DW_OP_reg14 0x5e442#define DW_OP_reg15 0x5f443#define DW_OP_reg16 0x60444#define DW_OP_reg17 0x61445#define DW_OP_reg18 0x62446#define DW_OP_reg19 0x63447#define DW_OP_reg20 0x64448#define DW_OP_reg21 0x65449#define DW_OP_reg22 0x66450#define DW_OP_reg23 0x67451#define DW_OP_reg24 0x68452#define DW_OP_reg25 0x69453#define DW_OP_reg26 0x6a454#define DW_OP_reg27 0x6b455#define DW_OP_reg28 0x6c456#define DW_OP_reg29 0x6d457#define DW_OP_reg30 0x6e458#define DW_OP_reg31 0x6f459#define DW_OP_breg0 0x70460#define DW_OP_breg1 0x71461#define DW_OP_breg2 0x72462#define DW_OP_breg3 0x73463#define DW_OP_breg4 0x74464#define DW_OP_breg5 0x75465#define DW_OP_breg6 0x76466#define DW_OP_breg7 0x77467#define DW_OP_breg8 0x78468#define DW_OP_breg9 0x79469#define DW_OP_breg10 0x7a470#define DW_OP_breg11 0x7b471#define DW_OP_breg12 0x7c472#define DW_OP_breg13 0x7d473#define DW_OP_breg14 0x7e474#define DW_OP_breg15 0x7f475#define DW_OP_breg16 0x80476#define DW_OP_breg17 0x81477#define DW_OP_breg18 0x82478#define DW_OP_breg19 0x83479#define DW_OP_breg20 0x84480#define DW_OP_breg21 0x85481#define DW_OP_breg22 0x86482#define DW_OP_breg23 0x87483#define DW_OP_breg24 0x88484#define DW_OP_breg25 0x89485#define DW_OP_breg26 0x8a486#define DW_OP_breg27 0x8b487#define DW_OP_breg28 0x8c488#define DW_OP_breg29 0x8d489#define DW_OP_breg30 0x8e490#define DW_OP_breg31 0x8f491#define DW_OP_regx 0x90492#define DW_OP_fbreg 0x91493#define DW_OP_bregx 0x92494#define DW_OP_piece 0x93495#define DW_OP_deref_size 0x94496#define DW_OP_xderef_size 0x95497#define DW_OP_nop 0x96498#define DW_OP_push_object_address 0x97499#define DW_OP_call2 0x98500#define DW_OP_call4 0x99501#define DW_OP_call_ref 0x9a502#define DW_OP_form_tls_address 0x9b503#define DW_OP_call_frame_cfa 0x9c504#define DW_OP_bit_piece 0x9d505#define DW_OP_implicit_value 0x9e506#define DW_OP_stack_value 0x9f507#define DW_OP_implicit_pointer 0xa0508#define DW_OP_addrx 0xa1509#define DW_OP_constx 0xa2510#define DW_OP_entry_value 0xa3511#define DW_OP_const_type 0xa4512#define DW_OP_regval_type 0xa5513#define DW_OP_deref_type 0xa6514#define DW_OP_xderef_type 0xa7515#define DW_OP_convert 0xa8516#define DW_OP_reinterpret 0xa9517#define DW_OP_lo_user 0xe0518#define DW_OP_hi_user 0xff519520/* GNU extensions. */521#define DW_OP_GNU_push_tls_address 0xe0522#define DW_OP_GNU_uninit 0xf0523#define DW_OP_GNU_encoded_addr 0xf1524#define DW_OP_GNU_implicit_pointer 0xf2525#define DW_OP_GNU_entry_value 0xf3526#define DW_OP_GNU_const_type 0xf4527#define DW_OP_GNU_regval_type 0xf5528#define DW_OP_GNU_deref_type 0xf6529#define DW_OP_GNU_convert 0xf7530#define DW_OP_GNU_reinterpret 0xf9531#define DW_OP_GNU_parameter_ref 0xfa532#define DW_OP_GNU_addr_index 0xfb533#define DW_OP_GNU_const_index 0xfc534535#define DW_ATE_address 0x1536#define DW_ATE_boolean 0x2537#define DW_ATE_complex_float 0x3538#define DW_ATE_float 0x4539#define DW_ATE_signed 0x5540#define DW_ATE_signed_char 0x6541#define DW_ATE_unsigned 0x7542#define DW_ATE_unsigned_char 0x8543#define DW_ATE_imaginary_float 0x9544#define DW_ATE_packed_decimal 0xa545#define DW_ATE_numeric_string 0xb546#define DW_ATE_edited 0xc547#define DW_ATE_signed_fixed 0xd548#define DW_ATE_unsigned_fixed 0xe549#define DW_ATE_decimal_float 0xf550#define DW_ATE_UTF 0x10551#define DW_ATE_UCS 0x11552#define DW_ATE_ASCII 0x12553#define DW_ATE_lo_user 0x80554#define DW_ATE_hi_user 0xff555556#define DW_ACCESS_public 0x01557#define DW_ACCESS_protected 0x02558#define DW_ACCESS_private 0x03559560#define DW_END_default 0x00561#define DW_END_big 0x01562#define DW_END_little 0x02563#define DW_END_lo_user 0x40564#define DW_END_high_user 0xff565566#define DW_VIS_local 0x01567#define DW_VIS_exported 0x02568#define DW_VIS_qualified 0x03569570#define DW_VIRTUALITY_none 0x00571#define DW_VIRTUALITY_virtual 0x01572#define DW_VIRTUALITY_pure_virtual 0x02573574#define DW_LANG_C89 0x0001575#define DW_LANG_C 0x0002576#define DW_LANG_Ada83 0x0003577#define DW_LANG_C_plus_plus 0x0004578#define DW_LANG_Cobol74 0x0005579#define DW_LANG_Cobol85 0x0006580#define DW_LANG_Fortran77 0x0007581#define DW_LANG_Fortran90 0x0008582#define DW_LANG_Pascal83 0x0009583#define DW_LANG_Modula2 0x000a584#define DW_LANG_Java 0x000b585#define DW_LANG_C99 0x000c586#define DW_LANG_Ada95 0x000d587#define DW_LANG_Fortran95 0x000e588#define DW_LANG_PLI 0x000f589#define DW_LANG_ObjC 0x0010590#define DW_LANG_ObjC_plus_plus 0x0011591#define DW_LANG_UPC 0x0012592#define DW_LANG_D 0x0013593#define DW_LANG_Python 0x0014594#define DW_LANG_OpenCL 0x0015595#define DW_LANG_Go 0x0016596#define DW_LANG_Modula3 0x0017597#define DW_LANG_Haskell 0x0018598#define DW_LANG_C_plus_plus_03 0x0019599#define DW_LANG_C_plus_plus_11 0x001a600#define DW_LANG_OCaml 0x001b601#define DW_LANG_Rust 0x001c602#define DW_LANG_C11 0x001d603#define DW_LANG_Swift 0x001e604#define DW_LANG_Julia 0x001f605#define DW_LANG_Dylan 0x0020606#define DW_LANG_C_plus_plus_14 0x0021607#define DW_LANG_Fortran03 0x0022608#define DW_LANG_Fortran08 0x0023609#define DW_LANG_RenderScript 0x0024610#define DW_LANG_BLISS 0x0025611#define DW_LANG_lo_user 0x8000612#define DW_LANG_Mips_Assembler 0x8001613#define DW_LANG_hi_user 0xffff614615#define DW_ID_case_sensitive 0x00616#define DW_ID_up_case 0x01617#define DW_ID_down_case 0x02618#define DW_ID_case_insensitive 0x03619620#define DW_CC_normal 0x01621#define DW_CC_program 0x02622#define DW_CC_nocall 0x03623#define DW_CC_pass_by_reference 0x04624#define DW_CC_pass_by_value 0x05625#define DW_CC_lo_user 0x40626#define DW_CC_hi_user 0xff627628#define DW_INL_not_inlined 0x00629#define DW_INL_inlined 0x01630#define DW_INL_declared_not_inlined 0x02631#define DW_INL_declared_inlined 0x03632633#define DW_ORD_row_major 0x00634#define DW_ORD_col_major 0x01635636#define DW_DS_unsigned 0x01637#define DW_DS_leading_overpunch 0x02638#define DW_DS_trailing_overpunch 0x03639#define DW_DS_leading_separate 0x04640#define DW_DS_trailing_separate 0x05641642#define DW_DSC_label 0x00643#define DW_DSC_range 0x01644645#define DW_LNS_copy 0x01646#define DW_LNS_advance_pc 0x02647#define DW_LNS_advance_line 0x03648#define DW_LNS_set_file 0x04649#define DW_LNS_set_column 0x05650#define DW_LNS_negate_stmt 0x06651#define DW_LNS_set_basic_block 0x07652#define DW_LNS_const_add_pc 0x08653#define DW_LNS_fixed_advance_pc 0x09654#define DW_LNS_set_prologue_end 0x0a655#define DW_LNS_set_epilogue_begin 0x0b656#define DW_LNS_set_isa 0x0c657658#define DW_LNE_end_sequence 0x01659#define DW_LNE_set_address 0x02660#define DW_LNE_define_file 0x03661#define DW_LNE_lo_user 0x80662#define DW_LNE_hi_user 0xff663664#define DW_MACINFO_define 0x01665#define DW_MACINFO_undef 0x02666#define DW_MACINFO_start_file 0x03667#define DW_MACINFO_end_file 0x04668#define DW_MACINFO_vendor_ext 0xff669670#define DW_CFA_advance_loc 0x40671#define DW_CFA_offset 0x80672#define DW_CFA_restore 0xc0673#define DW_CFA_extended 0674675#define DW_CFA_nop 0x00676#define DW_CFA_set_loc 0x01677#define DW_CFA_advance_loc1 0x02678#define DW_CFA_advance_loc2 0x03679#define DW_CFA_advance_loc4 0x04680#define DW_CFA_offset_extended 0x05681#define DW_CFA_restore_extended 0x06682#define DW_CFA_undefined 0x07683#define DW_CFA_same_value 0x08684#define DW_CFA_register 0x09685#define DW_CFA_remember_state 0x0a686#define DW_CFA_restore_state 0x0b687#define DW_CFA_def_cfa 0x0c688#define DW_CFA_def_cfa_register 0x0d689#define DW_CFA_def_cfa_offset 0x0e690#define DW_CFA_def_cfa_expression 0x0f691#define DW_CFA_expression 0x10692#define DW_CFA_offset_extended_sf 0x11693#define DW_CFA_def_cfa_sf 0x12694#define DW_CFA_def_cfa_offset_sf 0x13695#define DW_CFA_val_offset 0x14696#define DW_CFA_val_offset_sf 0x15697#define DW_CFA_val_expression 0x16698#define DW_CFA_lo_user 0x1c699#define DW_CFA_high_user 0x3f700701/*702* LSB(Linux Standard Base) extension to DWARF2.703*/704705#define DW_EH_PE_absptr 0x00706#define DW_EH_PE_uleb128 0x01707#define DW_EH_PE_udata2 0x02708#define DW_EH_PE_udata4 0x03709#define DW_EH_PE_udata8 0x04710#define DW_EH_PE_sleb128 0x09711#define DW_EH_PE_sdata2 0x0a712#define DW_EH_PE_sdata4 0x0b713#define DW_EH_PE_sdata8 0x0c714#define DW_EH_PE_pcrel 0x10715#define DW_EH_PE_textrel 0x20716#define DW_EH_PE_datarel 0x30717#define DW_EH_PE_funcrel 0x40718#define DW_EH_PE_aligned 0x50719#define DW_EH_PE_omit 0xff720721/*722* Compilation unit types. DWARF5 only.723*/724725#define DW_UT_compile 0x01726#define DW_UT_type 0x02727#define DW_UT_partial 0x03728#define DW_UT_skeleton 0x04729#define DW_UT_split_compile 0x05730#define DW_UT_split_type 0x06731#define DW_UT_lo_user 0x80732#define DW_UT_hi_user 0xff733734#endif /* !_DWARF_H_ */735736737