12de3b87aSKai Wang /*- 22de3b87aSKai Wang * Copyright (c) 2007 John Birrell (jb@freebsd.org) 32de3b87aSKai Wang * All rights reserved. 42de3b87aSKai Wang * 52de3b87aSKai Wang * Redistribution and use in source and binary forms, with or without 62de3b87aSKai Wang * modification, are permitted provided that the following conditions 72de3b87aSKai Wang * are met: 82de3b87aSKai Wang * 1. Redistributions of source code must retain the above copyright 92de3b87aSKai Wang *notice, this list of conditions and the following disclaimer. 102de3b87aSKai Wang * 2. Redistributions in binary form must reproduce the above copyright 112de3b87aSKai Wang *notice, this list of conditions and the following disclaimer in the 122de3b87aSKai Wang *documentation and/or other materials provided with the distribution. 132de3b87aSKai Wang * 142de3b87aSKai Wang * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 152de3b87aSKai Wang * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 162de3b87aSKai Wang * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 172de3b87aSKai Wang * ARE DISCLAIMED.IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 182de3b87aSKai Wang * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 192de3b87aSKai Wang * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 202de3b87aSKai Wang * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 212de3b87aSKai Wang * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 222de3b87aSKai Wang * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 232de3b87aSKai Wang * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 242de3b87aSKai Wang * SUCH DAMAGE. 252de3b87aSKai Wang * 26d003e0d7SEd Maste * $Id: dwarf.h 3749 2019-06-28 01:10:44Z emaste $ 272de3b87aSKai Wang */ 282de3b87aSKai Wang 292de3b87aSKai Wang #ifndef _DWARF_H_ 302de3b87aSKai Wang #define _DWARF_H_ 312de3b87aSKai Wang 322de3b87aSKai Wang #define DW_TAG_array_type 0x01 332de3b87aSKai Wang #define DW_TAG_class_type 0x02 342de3b87aSKai Wang #define DW_TAG_entry_point 0x03 352de3b87aSKai Wang #define DW_TAG_enumeration_type 0x04 362de3b87aSKai Wang #define DW_TAG_formal_parameter 0x05 372de3b87aSKai Wang #define DW_TAG_imported_declaration 0x08 382de3b87aSKai Wang #define DW_TAG_label 0x0a 392de3b87aSKai Wang #define DW_TAG_lexical_block 0x0b 402de3b87aSKai Wang #define DW_TAG_member 0x0d 412de3b87aSKai Wang #define DW_TAG_pointer_type 0x0f 422de3b87aSKai Wang #define DW_TAG_reference_type 0x10 432de3b87aSKai Wang #define DW_TAG_compile_unit 0x11 442de3b87aSKai Wang #define DW_TAG_string_type 0x12 452de3b87aSKai Wang #define DW_TAG_structure_type 0x13 462de3b87aSKai Wang #define DW_TAG_subroutine_type 0x15 472de3b87aSKai Wang #define DW_TAG_typedef 0x16 482de3b87aSKai Wang #define DW_TAG_union_type 0x17 492de3b87aSKai Wang #define DW_TAG_unspecified_parameters 0x18 502de3b87aSKai Wang #define DW_TAG_variant 0x19 512de3b87aSKai Wang #define DW_TAG_common_block 0x1a 522de3b87aSKai Wang #define DW_TAG_common_inclusion 0x1b 532de3b87aSKai Wang #define DW_TAG_inheritance 0x1c 542de3b87aSKai Wang #define DW_TAG_inlined_subroutine 0x1d 552de3b87aSKai Wang #define DW_TAG_module 0x1e 562de3b87aSKai Wang #define DW_TAG_ptr_to_member_type 0x1f 572de3b87aSKai Wang #define DW_TAG_set_type 0x20 582de3b87aSKai Wang #define DW_TAG_subrange_type 0x21 592de3b87aSKai Wang #define DW_TAG_with_stmt 0x22 602de3b87aSKai Wang #define DW_TAG_access_declaration 0x23 612de3b87aSKai Wang #define DW_TAG_base_type 0x24 622de3b87aSKai Wang #define DW_TAG_catch_block 0x25 632de3b87aSKai Wang #define DW_TAG_const_type 0x26 642de3b87aSKai Wang #define DW_TAG_constant 0x27 652de3b87aSKai Wang #define DW_TAG_enumerator 0x28 662de3b87aSKai Wang #define DW_TAG_friend 0x2a 672de3b87aSKai Wang #define DW_TAG_namelist 0x2b 682de3b87aSKai Wang #define DW_TAG_namelist_item 0x2c 692de3b87aSKai Wang #define DW_TAG_packed_type 0x2d 702de3b87aSKai Wang #define DW_TAG_subprogram 0x2e 712de3b87aSKai Wang #define DW_TAG_template_type_parameter 0x2f 722de3b87aSKai Wang #define DW_TAG_template_type_param 0x2f 732de3b87aSKai Wang #define DW_TAG_template_value_parameter 0x30 742de3b87aSKai Wang #define DW_TAG_template_value_param 0x30 752de3b87aSKai Wang #define DW_TAG_thrown_type 0x31 762de3b87aSKai Wang #define DW_TAG_try_block 0x32 772de3b87aSKai Wang #define DW_TAG_variant_part 0x33 782de3b87aSKai Wang #define DW_TAG_variable 0x34 792de3b87aSKai Wang #define DW_TAG_volatile_type 0x35 802de3b87aSKai Wang #define DW_TAG_dwarf_procedure 0x36 812de3b87aSKai Wang #define DW_TAG_restrict_type 0x37 822de3b87aSKai Wang #define DW_TAG_interface_type 0x38 832de3b87aSKai Wang #define DW_TAG_namespace 0x39 842de3b87aSKai Wang #define DW_TAG_imported_module 0x3a 852de3b87aSKai Wang #define DW_TAG_unspecified_type 0x3b 862de3b87aSKai Wang #define DW_TAG_partial_unit 0x3c 872de3b87aSKai Wang #define DW_TAG_imported_unit 0x3d 882de3b87aSKai Wang #define DW_TAG_condition 0x3f 892de3b87aSKai Wang #define DW_TAG_shared_type 0x40 902de3b87aSKai Wang #define DW_TAG_type_unit 0x41 912de3b87aSKai Wang #define DW_TAG_rvalue_reference_type 0x42 922de3b87aSKai Wang #define DW_TAG_template_alias 0x43 93*7bb441c8SMark Johnston #define DW_TAG_coarray_type 0x44 94*7bb441c8SMark Johnston #define DW_TAG_generic_subrange 0x45 95*7bb441c8SMark Johnston #define DW_TAG_dynamic_type 0x46 96*7bb441c8SMark Johnston #define DW_TAG_atomic_type 0x47 97*7bb441c8SMark Johnston #define DW_TAG_call_site 0x48 98*7bb441c8SMark Johnston #define DW_TAG_call_site_parameter 0x49 99*7bb441c8SMark Johnston #define DW_TAG_skeleton_unit 0x4a 100*7bb441c8SMark Johnston #define DW_TAG_immutable_type 0x4b 1012de3b87aSKai Wang #define DW_TAG_lo_user 0x4080 1022de3b87aSKai Wang #define DW_TAG_hi_user 0xffff 1032de3b87aSKai Wang 104cf781b2eSEd Maste /* GNU extensions. */ 105cf781b2eSEd Maste #define DW_TAG_format_label 0x4101 106cf781b2eSEd Maste #define DW_TAG_function_template 0x4102 107cf781b2eSEd Maste #define DW_TAG_class_template 0x4103 108cf781b2eSEd Maste #define DW_TAG_GNU_BINCL 0x4104 109cf781b2eSEd Maste #define DW_TAG_GNU_EINCL 0x4105 110cf781b2eSEd Maste #define DW_TAG_GNU_template_template_parameter 0x4106 111cf781b2eSEd Maste #define DW_TAG_GNU_template_template_param 0x4106 112cf781b2eSEd Maste #define DW_TAG_GNU_template_parameter_pack 0x4107 113cf781b2eSEd Maste #define DW_TAG_GNU_formal_parameter_pack 0x4108 114cf781b2eSEd Maste #define DW_TAG_GNU_call_site 0x4109 115cf781b2eSEd Maste #define DW_TAG_GNU_call_site_parameter 0x410a 116cf781b2eSEd Maste 1172de3b87aSKai Wang #define DW_CHILDREN_no 0x00 1182de3b87aSKai Wang #define DW_CHILDREN_yes 0x01 1192de3b87aSKai Wang 1202de3b87aSKai Wang #define DW_AT_sibling 0x01 1212de3b87aSKai Wang #define DW_AT_location 0x02 1222de3b87aSKai Wang #define DW_AT_name 0x03 1232de3b87aSKai Wang #define DW_AT_ordering 0x09 1242de3b87aSKai Wang #define DW_AT_subscr_data 0x0a 1252de3b87aSKai Wang #define DW_AT_byte_size 0x0b 1262de3b87aSKai Wang #define DW_AT_bit_offset 0x0c 1272de3b87aSKai Wang #define DW_AT_bit_size 0x0d 1282de3b87aSKai Wang #define DW_AT_element_list 0x0f 1292de3b87aSKai Wang #define DW_AT_stmt_list 0x10 1302de3b87aSKai Wang #define DW_AT_low_pc 0x11 1312de3b87aSKai Wang #define DW_AT_high_pc 0x12 1322de3b87aSKai Wang #define DW_AT_language 0x13 1332de3b87aSKai Wang #define DW_AT_member 0x14 1342de3b87aSKai Wang #define DW_AT_discr 0x15 1352de3b87aSKai Wang #define DW_AT_discr_value 0x16 1362de3b87aSKai Wang #define DW_AT_visibility 0x17 1372de3b87aSKai Wang #define DW_AT_import 0x18 1382de3b87aSKai Wang #define DW_AT_string_length 0x19 1392de3b87aSKai Wang #define DW_AT_common_reference 0x1a 1402de3b87aSKai Wang #define DW_AT_comp_dir 0x1b 1412de3b87aSKai Wang #define DW_AT_const_value 0x1c 1422de3b87aSKai Wang #define DW_AT_containing_type 0x1d 1432de3b87aSKai Wang #define DW_AT_default_value 0x1e 1442de3b87aSKai Wang #define DW_AT_inline 0x20 1452de3b87aSKai Wang #define DW_AT_is_optional 0x21 1462de3b87aSKai Wang #define DW_AT_lower_bound 0x22 1472de3b87aSKai Wang #define DW_AT_producer 0x25 1482de3b87aSKai Wang #define DW_AT_prototyped 0x27 1492de3b87aSKai Wang #define DW_AT_return_addr 0x2a 1502de3b87aSKai Wang #define DW_AT_start_scope 0x2c 1512de3b87aSKai Wang #define DW_AT_bit_stride 0x2e 1522de3b87aSKai Wang #define DW_AT_stride_size 0x2e 1532de3b87aSKai Wang #define DW_AT_upper_bound 0x2f 1542de3b87aSKai Wang #define DW_AT_abstract_origin 0x31 1552de3b87aSKai Wang #define DW_AT_accessibility 0x32 1562de3b87aSKai Wang #define DW_AT_address_class 0x33 1572de3b87aSKai Wang #define DW_AT_artificial 0x34 1582de3b87aSKai Wang #define DW_AT_base_types 0x35 1592de3b87aSKai Wang #define DW_AT_calling_convention 0x36 1602de3b87aSKai Wang #define DW_AT_count 0x37 1612de3b87aSKai Wang #define DW_AT_data_member_location 0x38 1622de3b87aSKai Wang #define DW_AT_decl_column 0x39 1632de3b87aSKai Wang #define DW_AT_decl_file 0x3a 1642de3b87aSKai Wang #define DW_AT_decl_line 0x3b 1652de3b87aSKai Wang #define DW_AT_declaration 0x3c 1662de3b87aSKai Wang #define DW_AT_discr_list 0x3d 1672de3b87aSKai Wang #define DW_AT_encoding 0x3e 1682de3b87aSKai Wang #define DW_AT_external 0x3f 1692de3b87aSKai Wang #define DW_AT_frame_base 0x40 1702de3b87aSKai Wang #define DW_AT_friend 0x41 1712de3b87aSKai Wang #define DW_AT_identifier_case 0x42 1722de3b87aSKai Wang #define DW_AT_macro_info 0x43 1732de3b87aSKai Wang #define DW_AT_namelist_item 0x44 1742de3b87aSKai Wang #define DW_AT_priority 0x45 1752de3b87aSKai Wang #define DW_AT_segment 0x46 1762de3b87aSKai Wang #define DW_AT_specification 0x47 1772de3b87aSKai Wang #define DW_AT_static_link 0x48 1782de3b87aSKai Wang #define DW_AT_type 0x49 1792de3b87aSKai Wang #define DW_AT_use_location 0x4a 1802de3b87aSKai Wang #define DW_AT_variable_parameter 0x4b 1812de3b87aSKai Wang #define DW_AT_virtuality 0x4c 1822de3b87aSKai Wang #define DW_AT_vtable_elem_location 0x4d 1832de3b87aSKai Wang #define DW_AT_allocated 0x4e 1842de3b87aSKai Wang #define DW_AT_associated 0x4f 1852de3b87aSKai Wang #define DW_AT_data_location 0x50 1862de3b87aSKai Wang #define DW_AT_byte_stride 0x51 1872de3b87aSKai Wang #define DW_AT_entry_pc 0x52 1882de3b87aSKai Wang #define DW_AT_use_UTF8 0x53 1892de3b87aSKai Wang #define DW_AT_extension 0x54 1902de3b87aSKai Wang #define DW_AT_ranges 0x55 1912de3b87aSKai Wang #define DW_AT_trampoline 0x56 1922de3b87aSKai Wang #define DW_AT_call_column 0x57 1932de3b87aSKai Wang #define DW_AT_call_file 0x58 1942de3b87aSKai Wang #define DW_AT_call_line 0x59 1952de3b87aSKai Wang #define DW_AT_description 0x5a 1962de3b87aSKai Wang #define DW_AT_binary_scale 0x5b 1972de3b87aSKai Wang #define DW_AT_decimal_scale 0x5c 1982de3b87aSKai Wang #define DW_AT_small 0x5d 1992de3b87aSKai Wang #define DW_AT_decimal_sign 0x5e 2002de3b87aSKai Wang #define DW_AT_digit_count 0x5f 2012de3b87aSKai Wang #define DW_AT_picture_string 0x60 2022de3b87aSKai Wang #define DW_AT_mutable 0x61 2032de3b87aSKai Wang #define DW_AT_threads_scaled 0x62 2042de3b87aSKai Wang #define DW_AT_explicit 0x63 2052de3b87aSKai Wang #define DW_AT_object_pointer 0x64 2062de3b87aSKai Wang #define DW_AT_endianity 0x65 2072de3b87aSKai Wang #define DW_AT_elemental 0x66 2082de3b87aSKai Wang #define DW_AT_pure 0x67 2092de3b87aSKai Wang #define DW_AT_recursive 0x68 2102de3b87aSKai Wang #define DW_AT_signature 0x69 2112de3b87aSKai Wang #define DW_AT_main_subprogram 0x6a 2122de3b87aSKai Wang #define DW_AT_data_bit_offset 0x6b 2132de3b87aSKai Wang #define DW_AT_const_expr 0x6c 2142de3b87aSKai Wang #define DW_AT_enum_class 0x6d 2152de3b87aSKai Wang #define DW_AT_linkage_name 0x6e 216*7bb441c8SMark Johnston #define DW_AT_string_length_bit_size 0x6f 217*7bb441c8SMark Johnston #define DW_AT_string_length_byte_size 0x70 218*7bb441c8SMark Johnston #define DW_AT_rank 0x71 219*7bb441c8SMark Johnston #define DW_AT_str_offsets_base 0x72 220*7bb441c8SMark Johnston #define DW_AT_addr_base 0x73 221*7bb441c8SMark Johnston #define DW_AT_rnglists_base 0x74 222*7bb441c8SMark Johnston #define DW_AT_dwo_name 0x76 223*7bb441c8SMark Johnston #define DW_AT_reference 0x77 224*7bb441c8SMark Johnston #define DW_AT_rvalue_reference 0x78 225*7bb441c8SMark Johnston #define DW_AT_macros 0x79 226*7bb441c8SMark Johnston #define DW_AT_call_all_calls 0x7a 227*7bb441c8SMark Johnston #define DW_AT_call_all_source_calls 0x7b 228*7bb441c8SMark Johnston #define DW_AT_call_all_tail_calls 0x7c 229*7bb441c8SMark Johnston #define DW_AT_call_return_pc 0x7d 230*7bb441c8SMark Johnston #define DW_AT_call_value 0x7e 231*7bb441c8SMark Johnston #define DW_AT_call_origin 0x7f 232*7bb441c8SMark Johnston #define DW_AT_call_parameter 0x80 233*7bb441c8SMark Johnston #define DW_AT_call_pc 0x81 234*7bb441c8SMark Johnston #define DW_AT_call_tail_call 0x82 235*7bb441c8SMark Johnston #define DW_AT_call_target 0x83 236*7bb441c8SMark Johnston #define DW_AT_call_target_clobbered 0x84 237*7bb441c8SMark Johnston #define DW_AT_call_data_location 0x85 238*7bb441c8SMark Johnston #define DW_AT_call_data_value 0x86 239*7bb441c8SMark Johnston #define DW_AT_noreturn 0x87 240*7bb441c8SMark Johnston #define DW_AT_alignment 0x88 241*7bb441c8SMark Johnston #define DW_AT_export_symbols 0x89 242*7bb441c8SMark Johnston #define DW_AT_deleted 0x8a 243*7bb441c8SMark Johnston #define DW_AT_defaulted 0x8b 244*7bb441c8SMark Johnston #define DW_AT_loclists_base 0x8c 2452de3b87aSKai Wang #define DW_AT_lo_user 0x2000 2462de3b87aSKai Wang #define DW_AT_hi_user 0x3fff 2472de3b87aSKai Wang 248bee2765cSEd Maste /* SGI/MIPS extensions. */ 249bee2765cSEd Maste #define DW_AT_MIPS_fde 0x2001 250bee2765cSEd Maste #define DW_AT_MIPS_loop_begin 0x2002 251bee2765cSEd Maste #define DW_AT_MIPS_tail_loop_begin 0x2003 252bee2765cSEd Maste #define DW_AT_MIPS_epilog_begin 0x2004 253bee2765cSEd Maste #define DW_AT_MIPS_loop_unroll_factor 0x2005 254bee2765cSEd Maste #define DW_AT_MIPS_software_pipeline_depth 0x2006 255bee2765cSEd Maste #define DW_AT_MIPS_linkage_name 0x2007 256bee2765cSEd Maste #define DW_AT_MIPS_stride 0x2008 257bee2765cSEd Maste #define DW_AT_MIPS_abstract_name 0x2009 258bee2765cSEd Maste #define DW_AT_MIPS_clone_origin 0x200a 259bee2765cSEd Maste #define DW_AT_MIPS_has_inlines 0x200b 260bee2765cSEd Maste #define DW_AT_MIPS_stride_byte 0x200c 261bee2765cSEd Maste #define DW_AT_MIPS_stride_elem 0x200d 262bee2765cSEd Maste #define DW_AT_MIPS_ptr_dopetype 0x200e 263bee2765cSEd Maste #define DW_AT_MIPS_allocatable_dopetype 0x200f 264bee2765cSEd Maste #define DW_AT_MIPS_assumed_shape_dopetype 0x2010 265bee2765cSEd Maste #define DW_AT_MIPS_assumed_size 0x2011 266bee2765cSEd Maste 267cf781b2eSEd Maste /* GNU extensions. */ 268cf781b2eSEd Maste #define DW_AT_sf_names 0x2101 269cf781b2eSEd Maste #define DW_AT_src_info 0x2102 270cf781b2eSEd Maste #define DW_AT_mac_info 0x2103 271cf781b2eSEd Maste #define DW_AT_src_coords 0x2104 272cf781b2eSEd Maste #define DW_AT_body_begin 0x2105 273cf781b2eSEd Maste #define DW_AT_body_end 0x2106 274cf781b2eSEd Maste #define DW_AT_GNU_vector 0x2107 275cf781b2eSEd Maste #define DW_AT_GNU_guarded_by 0x2108 276cf781b2eSEd Maste #define DW_AT_GNU_pt_guarded_by 0x2109 277cf781b2eSEd Maste #define DW_AT_GNU_guarded 0x210a 278cf781b2eSEd Maste #define DW_AT_GNU_pt_guarded 0x210b 279cf781b2eSEd Maste #define DW_AT_GNU_locks_excluded 0x210c 280cf781b2eSEd Maste #define DW_AT_GNU_exclusive_locks_required 0x210d 281cf781b2eSEd Maste #define DW_AT_GNU_shared_locks_required 0x210e 282cf781b2eSEd Maste #define DW_AT_GNU_odr_signature 0x210f 283cf781b2eSEd Maste #define DW_AT_GNU_template_name 0x2110 284cf781b2eSEd Maste #define DW_AT_GNU_call_site_value 0x2111 285cf781b2eSEd Maste #define DW_AT_GNU_call_site_data_value 0x2112 286cf781b2eSEd Maste #define DW_AT_GNU_call_site_target 0x2113 287cf781b2eSEd Maste #define DW_AT_GNU_call_site_target_clobbered 0x2114 288cf781b2eSEd Maste #define DW_AT_GNU_tail_call 0x2115 289cf781b2eSEd Maste #define DW_AT_GNU_all_tail_call_sites 0x2116 290cf781b2eSEd Maste #define DW_AT_GNU_all_call_sites 0x2117 291cf781b2eSEd Maste #define DW_AT_GNU_all_source_call_sites 0x2118 292cf781b2eSEd Maste 293feba6b41SMark Johnston /* Apple extensions. */ 294feba6b41SMark Johnston #define DW_AT_APPLE_optimized 0x3fe1 295feba6b41SMark Johnston #define DW_AT_APPLE_flags 0x3fe2 296feba6b41SMark Johnston #define DW_AT_APPLE_isa 0x3fe3 297feba6b41SMark Johnston #define DW_AT_APPLE_block 0x3fe4 298feba6b41SMark Johnston #define DW_AT_APPLE_major_runtime_vers 0x3fe5 299feba6b41SMark Johnston #define DW_AT_APPLE_runtime_class 0x3fe6 300feba6b41SMark Johnston #define DW_AT_APPLE_omit_frame_ptr 0x3fe7 301feba6b41SMark Johnston #define DW_AT_APPLE_property_name 0x3fe8 302feba6b41SMark Johnston #define DW_AT_APPLE_property_getter 0x3fe9 303feba6b41SMark Johnston #define DW_AT_APPLE_property_setter 0x3fea 304feba6b41SMark Johnston #define DW_AT_APPLE_property_attribute 0x3feb 305feba6b41SMark Johnston #define DW_AT_APPLE_objc_complete_type 0x3fec 306feba6b41SMark Johnston #define DW_AT_APPLE_property 0x3fed 307feba6b41SMark Johnston 3082de3b87aSKai Wang #define DW_FORM_addr 0x01 3092de3b87aSKai Wang #define DW_FORM_block2 0x03 3102de3b87aSKai Wang #define DW_FORM_block4 0x04 3112de3b87aSKai Wang #define DW_FORM_data2 0x05 3122de3b87aSKai Wang #define DW_FORM_data4 0x06 3132de3b87aSKai Wang #define DW_FORM_data8 0x07 3142de3b87aSKai Wang #define DW_FORM_string 0x08 3152de3b87aSKai Wang #define DW_FORM_block 0x09 3162de3b87aSKai Wang #define DW_FORM_block1 0x0a 3172de3b87aSKai Wang #define DW_FORM_data1 0x0b 3182de3b87aSKai Wang #define DW_FORM_flag 0x0c 3192de3b87aSKai Wang #define DW_FORM_sdata 0x0d 3202de3b87aSKai Wang #define DW_FORM_strp 0x0e 3212de3b87aSKai Wang #define DW_FORM_udata 0x0f 3222de3b87aSKai Wang #define DW_FORM_ref_addr 0x10 3232de3b87aSKai Wang #define DW_FORM_ref1 0x11 3242de3b87aSKai Wang #define DW_FORM_ref2 0x12 3252de3b87aSKai Wang #define DW_FORM_ref4 0x13 3262de3b87aSKai Wang #define DW_FORM_ref8 0x14 3272de3b87aSKai Wang #define DW_FORM_ref_udata 0x15 3282de3b87aSKai Wang #define DW_FORM_indirect 0x16 3292de3b87aSKai Wang #define DW_FORM_sec_offset 0x17 3302de3b87aSKai Wang #define DW_FORM_exprloc 0x18 3312de3b87aSKai Wang #define DW_FORM_flag_present 0x19 332*7bb441c8SMark Johnston #define DW_FORM_strx 0x1a 333*7bb441c8SMark Johnston #define DW_FORM_addrx 0x1b 334*7bb441c8SMark Johnston #define DW_FORM_ref_sup4 0x1c 335*7bb441c8SMark Johnston #define DW_FORM_strp_sup 0x1d 336*7bb441c8SMark Johnston #define DW_FORM_data16 0x1e 337*7bb441c8SMark Johnston #define DW_FORM_line_strp 0x1f 3382de3b87aSKai Wang #define DW_FORM_ref_sig8 0x20 339*7bb441c8SMark Johnston #define DW_FORM_implicit_const 0x21 340*7bb441c8SMark Johnston #define DW_FORM_loclistx 0x22 341*7bb441c8SMark Johnston #define DW_FORM_rnglistx 0x23 342*7bb441c8SMark Johnston #define DW_FORM_ref_sup8 0x24 343*7bb441c8SMark Johnston #define DW_FORM_ref_strx1 0x25 344*7bb441c8SMark Johnston #define DW_FORM_ref_strx2 0x26 345*7bb441c8SMark Johnston #define DW_FORM_ref_strx3 0x27 346*7bb441c8SMark Johnston #define DW_FORM_ref_strx4 0x28 347*7bb441c8SMark Johnston #define DW_FORM_ref_addrx1 0x29 348*7bb441c8SMark Johnston #define DW_FORM_ref_addrx2 0x2a 349*7bb441c8SMark Johnston #define DW_FORM_ref_addrx3 0x2b 350*7bb441c8SMark Johnston #define DW_FORM_ref_addrx4 0x2c 351cf781b2eSEd Maste #define DW_FORM_GNU_ref_alt 0x1f20 352cf781b2eSEd Maste #define DW_FORM_GNU_strp_alt 0x1f21 3532de3b87aSKai Wang 3542de3b87aSKai Wang #define DW_OP_addr 0x03 3552de3b87aSKai Wang #define DW_OP_deref 0x06 3562de3b87aSKai Wang #define DW_OP_const1u 0x08 3572de3b87aSKai Wang #define DW_OP_const1s 0x09 3582de3b87aSKai Wang #define DW_OP_const2u 0x0a 3592de3b87aSKai Wang #define DW_OP_const2s 0x0b 3602de3b87aSKai Wang #define DW_OP_const4u 0x0c 3612de3b87aSKai Wang #define DW_OP_const4s 0x0d 3622de3b87aSKai Wang #define DW_OP_const8u 0x0e 3632de3b87aSKai Wang #define DW_OP_const8s 0x0f 3642de3b87aSKai Wang #define DW_OP_constu 0x10 3652de3b87aSKai Wang #define DW_OP_consts 0x11 3662de3b87aSKai Wang #define DW_OP_dup 0x12 3672de3b87aSKai Wang #define DW_OP_drop 0x13 3682de3b87aSKai Wang #define DW_OP_over 0x14 3692de3b87aSKai Wang #define DW_OP_pick 0x15 3702de3b87aSKai Wang #define DW_OP_swap 0x16 3712de3b87aSKai Wang #define DW_OP_rot 0x17 3722de3b87aSKai Wang #define DW_OP_xderef 0x18 3732de3b87aSKai Wang #define DW_OP_abs 0x19 3742de3b87aSKai Wang #define DW_OP_and 0x1a 3752de3b87aSKai Wang #define DW_OP_div 0x1b 3762de3b87aSKai Wang #define DW_OP_minus 0x1c 3772de3b87aSKai Wang #define DW_OP_mod 0x1d 3782de3b87aSKai Wang #define DW_OP_mul 0x1e 3792de3b87aSKai Wang #define DW_OP_neg 0x1f 3802de3b87aSKai Wang #define DW_OP_not 0x20 3812de3b87aSKai Wang #define DW_OP_or 0x21 3822de3b87aSKai Wang #define DW_OP_plus 0x22 3832de3b87aSKai Wang #define DW_OP_plus_uconst 0x23 3842de3b87aSKai Wang #define DW_OP_shl 0x24 3852de3b87aSKai Wang #define DW_OP_shr 0x25 3862de3b87aSKai Wang #define DW_OP_shra 0x26 3872de3b87aSKai Wang #define DW_OP_xor 0x27 3882de3b87aSKai Wang #define DW_OP_bra 0x28 3892de3b87aSKai Wang #define DW_OP_eq 0x29 3902de3b87aSKai Wang #define DW_OP_ge 0x2a 3912de3b87aSKai Wang #define DW_OP_gt 0x2b 3922de3b87aSKai Wang #define DW_OP_le 0x2c 3932de3b87aSKai Wang #define DW_OP_lt 0x2d 3942de3b87aSKai Wang #define DW_OP_ne 0x2e 3952de3b87aSKai Wang #define DW_OP_skip 0x2f 3962de3b87aSKai Wang #define DW_OP_lit0 0x30 3972de3b87aSKai Wang #define DW_OP_lit1 0x31 3982de3b87aSKai Wang #define DW_OP_lit2 0x32 3992de3b87aSKai Wang #define DW_OP_lit3 0x33 4002de3b87aSKai Wang #define DW_OP_lit4 0x34 4012de3b87aSKai Wang #define DW_OP_lit5 0x35 4022de3b87aSKai Wang #define DW_OP_lit6 0x36 4032de3b87aSKai Wang #define DW_OP_lit7 0x37 4042de3b87aSKai Wang #define DW_OP_lit8 0x38 4052de3b87aSKai Wang #define DW_OP_lit9 0x39 4062de3b87aSKai Wang #define DW_OP_lit10 0x3a 4072de3b87aSKai Wang #define DW_OP_lit11 0x3b 4082de3b87aSKai Wang #define DW_OP_lit12 0x3c 4092de3b87aSKai Wang #define DW_OP_lit13 0x3d 4102de3b87aSKai Wang #define DW_OP_lit14 0x3e 4112de3b87aSKai Wang #define DW_OP_lit15 0x3f 4122de3b87aSKai Wang #define DW_OP_lit16 0x40 4132de3b87aSKai Wang #define DW_OP_lit17 0x41 4142de3b87aSKai Wang #define DW_OP_lit18 0x42 4152de3b87aSKai Wang #define DW_OP_lit19 0x43 4162de3b87aSKai Wang #define DW_OP_lit20 0x44 4172de3b87aSKai Wang #define DW_OP_lit21 0x45 4182de3b87aSKai Wang #define DW_OP_lit22 0x46 4192de3b87aSKai Wang #define DW_OP_lit23 0x47 4202de3b87aSKai Wang #define DW_OP_lit24 0x48 4212de3b87aSKai Wang #define DW_OP_lit25 0x49 4222de3b87aSKai Wang #define DW_OP_lit26 0x4a 4232de3b87aSKai Wang #define DW_OP_lit27 0x4b 4242de3b87aSKai Wang #define DW_OP_lit28 0x4c 4252de3b87aSKai Wang #define DW_OP_lit29 0x4d 4262de3b87aSKai Wang #define DW_OP_lit30 0x4e 4272de3b87aSKai Wang #define DW_OP_lit31 0x4f 4282de3b87aSKai Wang #define DW_OP_reg0 0x50 4292de3b87aSKai Wang #define DW_OP_reg1 0x51 4302de3b87aSKai Wang #define DW_OP_reg2 0x52 4312de3b87aSKai Wang #define DW_OP_reg3 0x53 4322de3b87aSKai Wang #define DW_OP_reg4 0x54 4332de3b87aSKai Wang #define DW_OP_reg5 0x55 4342de3b87aSKai Wang #define DW_OP_reg6 0x56 4352de3b87aSKai Wang #define DW_OP_reg7 0x57 4362de3b87aSKai Wang #define DW_OP_reg8 0x58 4372de3b87aSKai Wang #define DW_OP_reg9 0x59 4382de3b87aSKai Wang #define DW_OP_reg10 0x5a 4392de3b87aSKai Wang #define DW_OP_reg11 0x5b 4402de3b87aSKai Wang #define DW_OP_reg12 0x5c 4412de3b87aSKai Wang #define DW_OP_reg13 0x5d 4422de3b87aSKai Wang #define DW_OP_reg14 0x5e 4432de3b87aSKai Wang #define DW_OP_reg15 0x5f 4442de3b87aSKai Wang #define DW_OP_reg16 0x60 4452de3b87aSKai Wang #define DW_OP_reg17 0x61 4462de3b87aSKai Wang #define DW_OP_reg18 0x62 4472de3b87aSKai Wang #define DW_OP_reg19 0x63 4482de3b87aSKai Wang #define DW_OP_reg20 0x64 4492de3b87aSKai Wang #define DW_OP_reg21 0x65 4502de3b87aSKai Wang #define DW_OP_reg22 0x66 4512de3b87aSKai Wang #define DW_OP_reg23 0x67 4522de3b87aSKai Wang #define DW_OP_reg24 0x68 4532de3b87aSKai Wang #define DW_OP_reg25 0x69 4542de3b87aSKai Wang #define DW_OP_reg26 0x6a 4552de3b87aSKai Wang #define DW_OP_reg27 0x6b 4562de3b87aSKai Wang #define DW_OP_reg28 0x6c 4572de3b87aSKai Wang #define DW_OP_reg29 0x6d 4582de3b87aSKai Wang #define DW_OP_reg30 0x6e 4592de3b87aSKai Wang #define DW_OP_reg31 0x6f 4602de3b87aSKai Wang #define DW_OP_breg0 0x70 4612de3b87aSKai Wang #define DW_OP_breg1 0x71 4622de3b87aSKai Wang #define DW_OP_breg2 0x72 4632de3b87aSKai Wang #define DW_OP_breg3 0x73 4642de3b87aSKai Wang #define DW_OP_breg4 0x74 4652de3b87aSKai Wang #define DW_OP_breg5 0x75 4662de3b87aSKai Wang #define DW_OP_breg6 0x76 4672de3b87aSKai Wang #define DW_OP_breg7 0x77 4682de3b87aSKai Wang #define DW_OP_breg8 0x78 4692de3b87aSKai Wang #define DW_OP_breg9 0x79 4702de3b87aSKai Wang #define DW_OP_breg10 0x7a 4712de3b87aSKai Wang #define DW_OP_breg11 0x7b 4722de3b87aSKai Wang #define DW_OP_breg12 0x7c 4732de3b87aSKai Wang #define DW_OP_breg13 0x7d 4742de3b87aSKai Wang #define DW_OP_breg14 0x7e 4752de3b87aSKai Wang #define DW_OP_breg15 0x7f 4762de3b87aSKai Wang #define DW_OP_breg16 0x80 4772de3b87aSKai Wang #define DW_OP_breg17 0x81 4782de3b87aSKai Wang #define DW_OP_breg18 0x82 4792de3b87aSKai Wang #define DW_OP_breg19 0x83 4802de3b87aSKai Wang #define DW_OP_breg20 0x84 4812de3b87aSKai Wang #define DW_OP_breg21 0x85 4822de3b87aSKai Wang #define DW_OP_breg22 0x86 4832de3b87aSKai Wang #define DW_OP_breg23 0x87 4842de3b87aSKai Wang #define DW_OP_breg24 0x88 4852de3b87aSKai Wang #define DW_OP_breg25 0x89 4862de3b87aSKai Wang #define DW_OP_breg26 0x8a 4872de3b87aSKai Wang #define DW_OP_breg27 0x8b 4882de3b87aSKai Wang #define DW_OP_breg28 0x8c 4892de3b87aSKai Wang #define DW_OP_breg29 0x8d 4902de3b87aSKai Wang #define DW_OP_breg30 0x8e 4912de3b87aSKai Wang #define DW_OP_breg31 0x8f 4922de3b87aSKai Wang #define DW_OP_regx 0x90 4932de3b87aSKai Wang #define DW_OP_fbreg 0x91 4942de3b87aSKai Wang #define DW_OP_bregx 0x92 4952de3b87aSKai Wang #define DW_OP_piece 0x93 4962de3b87aSKai Wang #define DW_OP_deref_size 0x94 4972de3b87aSKai Wang #define DW_OP_xderef_size 0x95 4982de3b87aSKai Wang #define DW_OP_nop 0x96 4992de3b87aSKai Wang #define DW_OP_push_object_address 0x97 5002de3b87aSKai Wang #define DW_OP_call2 0x98 5012de3b87aSKai Wang #define DW_OP_call4 0x99 5022de3b87aSKai Wang #define DW_OP_call_ref 0x9a 5032de3b87aSKai Wang #define DW_OP_form_tls_address 0x9b 5042de3b87aSKai Wang #define DW_OP_call_frame_cfa 0x9c 5052de3b87aSKai Wang #define DW_OP_bit_piece 0x9d 5062de3b87aSKai Wang #define DW_OP_implicit_value 0x9e 5072de3b87aSKai Wang #define DW_OP_stack_value 0x9f 508*7bb441c8SMark Johnston #define DW_OP_implicit_pointer 0xa0 509*7bb441c8SMark Johnston #define DW_OP_addrx 0xa1 510*7bb441c8SMark Johnston #define DW_OP_constx 0xa2 511*7bb441c8SMark Johnston #define DW_OP_entry_value 0xa3 512*7bb441c8SMark Johnston #define DW_OP_const_type 0xa4 513*7bb441c8SMark Johnston #define DW_OP_regval_type 0xa5 514*7bb441c8SMark Johnston #define DW_OP_deref_type 0xa6 515*7bb441c8SMark Johnston #define DW_OP_xderef_type 0xa7 516*7bb441c8SMark Johnston #define DW_OP_convert 0xa8 517*7bb441c8SMark Johnston #define DW_OP_reinterpret 0xa9 5182de3b87aSKai Wang #define DW_OP_lo_user 0xe0 5192de3b87aSKai Wang #define DW_OP_hi_user 0xff 5202de3b87aSKai Wang 521cf781b2eSEd Maste /* GNU extensions. */ 522cf781b2eSEd Maste #define DW_OP_GNU_push_tls_address 0xe0 523cf781b2eSEd Maste #define DW_OP_GNU_uninit 0xf0 524cf781b2eSEd Maste #define DW_OP_GNU_encoded_addr 0xf1 525cf781b2eSEd Maste #define DW_OP_GNU_implicit_pointer 0xf2 526cf781b2eSEd Maste #define DW_OP_GNU_entry_value 0xf3 527cf781b2eSEd Maste #define DW_OP_GNU_const_type 0xf4 528cf781b2eSEd Maste #define DW_OP_GNU_regval_type 0xf5 529cf781b2eSEd Maste #define DW_OP_GNU_deref_type 0xf6 530cf781b2eSEd Maste #define DW_OP_GNU_convert 0xf7 531cf781b2eSEd Maste #define DW_OP_GNU_reinterpret 0xf9 532cf781b2eSEd Maste #define DW_OP_GNU_parameter_ref 0xfa 533cf781b2eSEd Maste #define DW_OP_GNU_addr_index 0xfb 534cf781b2eSEd Maste #define DW_OP_GNU_const_index 0xfc 535cf781b2eSEd Maste 5362de3b87aSKai Wang #define DW_ATE_address 0x1 5372de3b87aSKai Wang #define DW_ATE_boolean 0x2 5382de3b87aSKai Wang #define DW_ATE_complex_float 0x3 5392de3b87aSKai Wang #define DW_ATE_float 0x4 5402de3b87aSKai Wang #define DW_ATE_signed 0x5 5412de3b87aSKai Wang #define DW_ATE_signed_char 0x6 5422de3b87aSKai Wang #define DW_ATE_unsigned 0x7 5432de3b87aSKai Wang #define DW_ATE_unsigned_char 0x8 5442de3b87aSKai Wang #define DW_ATE_imaginary_float 0x9 5452de3b87aSKai Wang #define DW_ATE_packed_decimal 0xa 5462de3b87aSKai Wang #define DW_ATE_numeric_string 0xb 5472de3b87aSKai Wang #define DW_ATE_edited 0xc 5482de3b87aSKai Wang #define DW_ATE_signed_fixed 0xd 5492de3b87aSKai Wang #define DW_ATE_unsigned_fixed 0xe 5502de3b87aSKai Wang #define DW_ATE_decimal_float 0xf 551*7bb441c8SMark Johnston #define DW_ATE_UTF 0x10 552*7bb441c8SMark Johnston #define DW_ATE_UCS 0x11 553*7bb441c8SMark Johnston #define DW_ATE_ASCII 0x12 5542de3b87aSKai Wang #define DW_ATE_lo_user 0x80 5552de3b87aSKai Wang #define DW_ATE_hi_user 0xff 5562de3b87aSKai Wang 5572de3b87aSKai Wang #define DW_ACCESS_public 0x01 5582de3b87aSKai Wang #define DW_ACCESS_protected 0x02 5592de3b87aSKai Wang #define DW_ACCESS_private 0x03 5602de3b87aSKai Wang 5612de3b87aSKai Wang #define DW_END_default 0x00 5622de3b87aSKai Wang #define DW_END_big 0x01 5632de3b87aSKai Wang #define DW_END_little 0x02 5642de3b87aSKai Wang #define DW_END_lo_user 0x40 5652de3b87aSKai Wang #define DW_END_high_user 0xff 5662de3b87aSKai Wang 5672de3b87aSKai Wang #define DW_VIS_local 0x01 5682de3b87aSKai Wang #define DW_VIS_exported 0x02 5692de3b87aSKai Wang #define DW_VIS_qualified 0x03 5702de3b87aSKai Wang 5712de3b87aSKai Wang #define DW_VIRTUALITY_none 0x00 5722de3b87aSKai Wang #define DW_VIRTUALITY_virtual 0x01 5732de3b87aSKai Wang #define DW_VIRTUALITY_pure_virtual 0x02 5742de3b87aSKai Wang 5752de3b87aSKai Wang #define DW_LANG_C89 0x0001 5762de3b87aSKai Wang #define DW_LANG_C 0x0002 5772de3b87aSKai Wang #define DW_LANG_Ada83 0x0003 5782de3b87aSKai Wang #define DW_LANG_C_plus_plus 0x0004 5792de3b87aSKai Wang #define DW_LANG_Cobol74 0x0005 5802de3b87aSKai Wang #define DW_LANG_Cobol85 0x0006 5812de3b87aSKai Wang #define DW_LANG_Fortran77 0x0007 5822de3b87aSKai Wang #define DW_LANG_Fortran90 0x0008 5832de3b87aSKai Wang #define DW_LANG_Pascal83 0x0009 5842de3b87aSKai Wang #define DW_LANG_Modula2 0x000a 5852de3b87aSKai Wang #define DW_LANG_Java 0x000b 5862de3b87aSKai Wang #define DW_LANG_C99 0x000c 5872de3b87aSKai Wang #define DW_LANG_Ada95 0x000d 5882de3b87aSKai Wang #define DW_LANG_Fortran95 0x000e 5892de3b87aSKai Wang #define DW_LANG_PLI 0x000f 5902de3b87aSKai Wang #define DW_LANG_ObjC 0x0010 5912de3b87aSKai Wang #define DW_LANG_ObjC_plus_plus 0x0011 5922de3b87aSKai Wang #define DW_LANG_UPC 0x0012 5932de3b87aSKai Wang #define DW_LANG_D 0x0013 5944a0f8b33SMark Johnston #define DW_LANG_Python 0x0014 5954a0f8b33SMark Johnston #define DW_LANG_OpenCL 0x0015 5964a0f8b33SMark Johnston #define DW_LANG_Go 0x0016 5974a0f8b33SMark Johnston #define DW_LANG_Modula3 0x0017 5984a0f8b33SMark Johnston #define DW_LANG_Haskell 0x0018 5994a0f8b33SMark Johnston #define DW_LANG_C_plus_plus_03 0x0019 6004a0f8b33SMark Johnston #define DW_LANG_C_plus_plus_11 0x001a 6014a0f8b33SMark Johnston #define DW_LANG_OCaml 0x001b 6024a0f8b33SMark Johnston #define DW_LANG_Rust 0x001c 6034a0f8b33SMark Johnston #define DW_LANG_C11 0x001d 6044a0f8b33SMark Johnston #define DW_LANG_Swift 0x001e 6054a0f8b33SMark Johnston #define DW_LANG_Julia 0x001f 6064a0f8b33SMark Johnston #define DW_LANG_Dylan 0x0020 6074a0f8b33SMark Johnston #define DW_LANG_C_plus_plus_14 0x0021 6084a0f8b33SMark Johnston #define DW_LANG_Fortran03 0x0022 6094a0f8b33SMark Johnston #define DW_LANG_Fortran08 0x0023 6104a0f8b33SMark Johnston #define DW_LANG_RenderScript 0x0024 6114a0f8b33SMark Johnston #define DW_LANG_BLISS 0x0025 6122de3b87aSKai Wang #define DW_LANG_lo_user 0x8000 613bee2765cSEd Maste #define DW_LANG_Mips_Assembler 0x8001 6142de3b87aSKai Wang #define DW_LANG_hi_user 0xffff 6152de3b87aSKai Wang 6162de3b87aSKai Wang #define DW_ID_case_sensitive 0x00 6172de3b87aSKai Wang #define DW_ID_up_case 0x01 6182de3b87aSKai Wang #define DW_ID_down_case 0x02 6192de3b87aSKai Wang #define DW_ID_case_insensitive 0x03 6202de3b87aSKai Wang 6212de3b87aSKai Wang #define DW_CC_normal 0x01 6222de3b87aSKai Wang #define DW_CC_program 0x02 6232de3b87aSKai Wang #define DW_CC_nocall 0x03 624*7bb441c8SMark Johnston #define DW_CC_pass_by_reference 0x04 625*7bb441c8SMark Johnston #define DW_CC_pass_by_value 0x05 6262de3b87aSKai Wang #define DW_CC_lo_user 0x40 6272de3b87aSKai Wang #define DW_CC_hi_user 0xff 6282de3b87aSKai Wang 6292de3b87aSKai Wang #define DW_INL_not_inlined 0x00 6302de3b87aSKai Wang #define DW_INL_inlined 0x01 6312de3b87aSKai Wang #define DW_INL_declared_not_inlined 0x02 6322de3b87aSKai Wang #define DW_INL_declared_inlined 0x03 6332de3b87aSKai Wang 6342de3b87aSKai Wang #define DW_ORD_row_major 0x00 6352de3b87aSKai Wang #define DW_ORD_col_major 0x01 6362de3b87aSKai Wang 6372de3b87aSKai Wang #define DW_DS_unsigned 0x01 6382de3b87aSKai Wang #define DW_DS_leading_overpunch 0x02 6392de3b87aSKai Wang #define DW_DS_trailing_overpunch 0x03 6402de3b87aSKai Wang #define DW_DS_leading_separate 0x04 6412de3b87aSKai Wang #define DW_DS_trailing_separate 0x05 6422de3b87aSKai Wang 6432de3b87aSKai Wang #define DW_DSC_label 0x00 6442de3b87aSKai Wang #define DW_DSC_range 0x01 6452de3b87aSKai Wang 6462de3b87aSKai Wang #define DW_LNS_copy 0x01 6472de3b87aSKai Wang #define DW_LNS_advance_pc 0x02 6482de3b87aSKai Wang #define DW_LNS_advance_line 0x03 6492de3b87aSKai Wang #define DW_LNS_set_file 0x04 6502de3b87aSKai Wang #define DW_LNS_set_column 0x05 6512de3b87aSKai Wang #define DW_LNS_negate_stmt 0x06 6522de3b87aSKai Wang #define DW_LNS_set_basic_block 0x07 6532de3b87aSKai Wang #define DW_LNS_const_add_pc 0x08 6542de3b87aSKai Wang #define DW_LNS_fixed_advance_pc 0x09 6552de3b87aSKai Wang #define DW_LNS_set_prologue_end 0x0a 6562de3b87aSKai Wang #define DW_LNS_set_epilogue_begin 0x0b 6572de3b87aSKai Wang #define DW_LNS_set_isa 0x0c 6582de3b87aSKai Wang 6592de3b87aSKai Wang #define DW_LNE_end_sequence 0x01 6602de3b87aSKai Wang #define DW_LNE_set_address 0x02 6612de3b87aSKai Wang #define DW_LNE_define_file 0x03 6622de3b87aSKai Wang #define DW_LNE_lo_user 0x80 6632de3b87aSKai Wang #define DW_LNE_hi_user 0xff 6642de3b87aSKai Wang 6652de3b87aSKai Wang #define DW_MACINFO_define 0x01 6662de3b87aSKai Wang #define DW_MACINFO_undef 0x02 6672de3b87aSKai Wang #define DW_MACINFO_start_file 0x03 6682de3b87aSKai Wang #define DW_MACINFO_end_file 0x04 6692de3b87aSKai Wang #define DW_MACINFO_vendor_ext 0xff 6702de3b87aSKai Wang 6712de3b87aSKai Wang #define DW_CFA_advance_loc 0x40 6722de3b87aSKai Wang #define DW_CFA_offset 0x80 6732de3b87aSKai Wang #define DW_CFA_restore 0xc0 6742de3b87aSKai Wang #define DW_CFA_extended 0 6752de3b87aSKai Wang 6762de3b87aSKai Wang #define DW_CFA_nop 0x00 6772de3b87aSKai Wang #define DW_CFA_set_loc 0x01 6782de3b87aSKai Wang #define DW_CFA_advance_loc1 0x02 6792de3b87aSKai Wang #define DW_CFA_advance_loc2 0x03 6802de3b87aSKai Wang #define DW_CFA_advance_loc4 0x04 6812de3b87aSKai Wang #define DW_CFA_offset_extended 0x05 6822de3b87aSKai Wang #define DW_CFA_restore_extended 0x06 6832de3b87aSKai Wang #define DW_CFA_undefined 0x07 6842de3b87aSKai Wang #define DW_CFA_same_value 0x08 6852de3b87aSKai Wang #define DW_CFA_register 0x09 6862de3b87aSKai Wang #define DW_CFA_remember_state 0x0a 6872de3b87aSKai Wang #define DW_CFA_restore_state 0x0b 6882de3b87aSKai Wang #define DW_CFA_def_cfa 0x0c 6892de3b87aSKai Wang #define DW_CFA_def_cfa_register 0x0d 6902de3b87aSKai Wang #define DW_CFA_def_cfa_offset 0x0e 6912de3b87aSKai Wang #define DW_CFA_def_cfa_expression 0x0f 6922de3b87aSKai Wang #define DW_CFA_expression 0x10 6932de3b87aSKai Wang #define DW_CFA_offset_extended_sf 0x11 6942de3b87aSKai Wang #define DW_CFA_def_cfa_sf 0x12 6952de3b87aSKai Wang #define DW_CFA_def_cfa_offset_sf 0x13 6962de3b87aSKai Wang #define DW_CFA_val_offset 0x14 6972de3b87aSKai Wang #define DW_CFA_val_offset_sf 0x15 6982de3b87aSKai Wang #define DW_CFA_val_expression 0x16 6992de3b87aSKai Wang #define DW_CFA_lo_user 0x1c 7002de3b87aSKai Wang #define DW_CFA_high_user 0x3f 7012de3b87aSKai Wang 7022de3b87aSKai Wang /* 7032de3b87aSKai Wang * LSB(Linux Standard Base) extension to DWARF2. 7042de3b87aSKai Wang */ 7052de3b87aSKai Wang 7062de3b87aSKai Wang #define DW_EH_PE_absptr 0x00 7072de3b87aSKai Wang #define DW_EH_PE_uleb128 0x01 7082de3b87aSKai Wang #define DW_EH_PE_udata2 0x02 7092de3b87aSKai Wang #define DW_EH_PE_udata4 0x03 7102de3b87aSKai Wang #define DW_EH_PE_udata8 0x04 7112de3b87aSKai Wang #define DW_EH_PE_sleb128 0x09 7122de3b87aSKai Wang #define DW_EH_PE_sdata2 0x0a 7132de3b87aSKai Wang #define DW_EH_PE_sdata4 0x0b 7142de3b87aSKai Wang #define DW_EH_PE_sdata8 0x0c 7152de3b87aSKai Wang #define DW_EH_PE_pcrel 0x10 7162de3b87aSKai Wang #define DW_EH_PE_textrel 0x20 7172de3b87aSKai Wang #define DW_EH_PE_datarel 0x30 7182de3b87aSKai Wang #define DW_EH_PE_funcrel 0x40 7192de3b87aSKai Wang #define DW_EH_PE_aligned 0x50 7202de3b87aSKai Wang #define DW_EH_PE_omit 0xff 7212de3b87aSKai Wang 722*7bb441c8SMark Johnston /* 723*7bb441c8SMark Johnston * Compilation unit types. DWARF5 only. 724*7bb441c8SMark Johnston */ 725*7bb441c8SMark Johnston 726*7bb441c8SMark Johnston #define DW_UT_compile 0x01 727*7bb441c8SMark Johnston #define DW_UT_type 0x02 728*7bb441c8SMark Johnston #define DW_UT_partial 0x03 729*7bb441c8SMark Johnston #define DW_UT_skeleton 0x04 730*7bb441c8SMark Johnston #define DW_UT_split_compile 0x05 731*7bb441c8SMark Johnston #define DW_UT_split_type 0x06 732*7bb441c8SMark Johnston #define DW_UT_lo_user 0x80 733*7bb441c8SMark Johnston #define DW_UT_hi_user 0xff 734*7bb441c8SMark Johnston 7352de3b87aSKai Wang #endif /* !_DWARF_H_ */ 736