File indexing completed on 2025-01-17 09:55:20
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #ifndef _DWARF_H
0030 #define _DWARF_H 1
0031
0032
0033 enum
0034 {
0035 DW_UT_compile = 0x01,
0036 DW_UT_type = 0x02,
0037 DW_UT_partial = 0x03,
0038 DW_UT_skeleton = 0x04,
0039 DW_UT_split_compile = 0x05,
0040 DW_UT_split_type = 0x06,
0041
0042 DW_UT_lo_user = 0x80,
0043 DW_UT_hi_user = 0xff
0044 };
0045
0046
0047 enum
0048 {
0049 DW_TAG_array_type = 0x01,
0050 DW_TAG_class_type = 0x02,
0051 DW_TAG_entry_point = 0x03,
0052 DW_TAG_enumeration_type = 0x04,
0053 DW_TAG_formal_parameter = 0x05,
0054
0055
0056 DW_TAG_imported_declaration = 0x08,
0057
0058 DW_TAG_label = 0x0a,
0059 DW_TAG_lexical_block = 0x0b,
0060
0061 DW_TAG_member = 0x0d,
0062
0063 DW_TAG_pointer_type = 0x0f,
0064 DW_TAG_reference_type = 0x10,
0065 DW_TAG_compile_unit = 0x11,
0066 DW_TAG_string_type = 0x12,
0067 DW_TAG_structure_type = 0x13,
0068
0069 DW_TAG_subroutine_type = 0x15,
0070 DW_TAG_typedef = 0x16,
0071 DW_TAG_union_type = 0x17,
0072 DW_TAG_unspecified_parameters = 0x18,
0073 DW_TAG_variant = 0x19,
0074 DW_TAG_common_block = 0x1a,
0075 DW_TAG_common_inclusion = 0x1b,
0076 DW_TAG_inheritance = 0x1c,
0077 DW_TAG_inlined_subroutine = 0x1d,
0078 DW_TAG_module = 0x1e,
0079 DW_TAG_ptr_to_member_type = 0x1f,
0080 DW_TAG_set_type = 0x20,
0081 DW_TAG_subrange_type = 0x21,
0082 DW_TAG_with_stmt = 0x22,
0083 DW_TAG_access_declaration = 0x23,
0084 DW_TAG_base_type = 0x24,
0085 DW_TAG_catch_block = 0x25,
0086 DW_TAG_const_type = 0x26,
0087 DW_TAG_constant = 0x27,
0088 DW_TAG_enumerator = 0x28,
0089 DW_TAG_file_type = 0x29,
0090 DW_TAG_friend = 0x2a,
0091 DW_TAG_namelist = 0x2b,
0092 DW_TAG_namelist_item = 0x2c,
0093 DW_TAG_packed_type = 0x2d,
0094 DW_TAG_subprogram = 0x2e,
0095 DW_TAG_template_type_parameter = 0x2f,
0096 DW_TAG_template_value_parameter = 0x30,
0097 DW_TAG_thrown_type = 0x31,
0098 DW_TAG_try_block = 0x32,
0099 DW_TAG_variant_part = 0x33,
0100 DW_TAG_variable = 0x34,
0101 DW_TAG_volatile_type = 0x35,
0102 DW_TAG_dwarf_procedure = 0x36,
0103 DW_TAG_restrict_type = 0x37,
0104 DW_TAG_interface_type = 0x38,
0105 DW_TAG_namespace = 0x39,
0106 DW_TAG_imported_module = 0x3a,
0107 DW_TAG_unspecified_type = 0x3b,
0108 DW_TAG_partial_unit = 0x3c,
0109 DW_TAG_imported_unit = 0x3d,
0110
0111 DW_TAG_condition = 0x3f,
0112 DW_TAG_shared_type = 0x40,
0113 DW_TAG_type_unit = 0x41,
0114 DW_TAG_rvalue_reference_type = 0x42,
0115 DW_TAG_template_alias = 0x43,
0116 DW_TAG_coarray_type = 0x44,
0117 DW_TAG_generic_subrange = 0x45,
0118 DW_TAG_dynamic_type = 0x46,
0119 DW_TAG_atomic_type = 0x47,
0120 DW_TAG_call_site = 0x48,
0121 DW_TAG_call_site_parameter = 0x49,
0122 DW_TAG_skeleton_unit = 0x4a,
0123 DW_TAG_immutable_type = 0x4b,
0124
0125 DW_TAG_lo_user = 0x4080,
0126
0127 DW_TAG_MIPS_loop = 0x4081,
0128 DW_TAG_format_label = 0x4101,
0129 DW_TAG_function_template = 0x4102,
0130 DW_TAG_class_template = 0x4103,
0131
0132 DW_TAG_GNU_BINCL = 0x4104,
0133 DW_TAG_GNU_EINCL = 0x4105,
0134
0135 DW_TAG_GNU_template_template_param = 0x4106,
0136 DW_TAG_GNU_template_parameter_pack = 0x4107,
0137 DW_TAG_GNU_formal_parameter_pack = 0x4108,
0138 DW_TAG_GNU_call_site = 0x4109,
0139 DW_TAG_GNU_call_site_parameter = 0x410a,
0140
0141 DW_TAG_hi_user = 0xffff
0142 };
0143
0144
0145
0146 enum
0147 {
0148 DW_CHILDREN_no = 0,
0149 DW_CHILDREN_yes = 1
0150 };
0151
0152
0153
0154 enum
0155 {
0156 DW_AT_sibling = 0x01,
0157 DW_AT_location = 0x02,
0158 DW_AT_name = 0x03,
0159
0160
0161
0162
0163
0164 DW_AT_ordering = 0x09,
0165
0166 DW_AT_byte_size = 0x0b,
0167 DW_AT_bit_offset = 0x0c,
0168 DW_AT_bit_size = 0x0d,
0169
0170
0171 DW_AT_stmt_list = 0x10,
0172 DW_AT_low_pc = 0x11,
0173 DW_AT_high_pc = 0x12,
0174 DW_AT_language = 0x13,
0175
0176 DW_AT_discr = 0x15,
0177 DW_AT_discr_value = 0x16,
0178 DW_AT_visibility = 0x17,
0179 DW_AT_import = 0x18,
0180 DW_AT_string_length = 0x19,
0181 DW_AT_common_reference = 0x1a,
0182 DW_AT_comp_dir = 0x1b,
0183 DW_AT_const_value = 0x1c,
0184 DW_AT_containing_type = 0x1d,
0185 DW_AT_default_value = 0x1e,
0186
0187 DW_AT_inline = 0x20,
0188 DW_AT_is_optional = 0x21,
0189 DW_AT_lower_bound = 0x22,
0190
0191
0192 DW_AT_producer = 0x25,
0193
0194 DW_AT_prototyped = 0x27,
0195
0196
0197 DW_AT_return_addr = 0x2a,
0198
0199 DW_AT_start_scope = 0x2c,
0200
0201 DW_AT_bit_stride = 0x2e,
0202 DW_AT_upper_bound = 0x2f,
0203
0204 DW_AT_abstract_origin = 0x31,
0205 DW_AT_accessibility = 0x32,
0206 DW_AT_address_class = 0x33,
0207 DW_AT_artificial = 0x34,
0208 DW_AT_base_types = 0x35,
0209 DW_AT_calling_convention = 0x36,
0210 DW_AT_count = 0x37,
0211 DW_AT_data_member_location = 0x38,
0212 DW_AT_decl_column = 0x39,
0213 DW_AT_decl_file = 0x3a,
0214 DW_AT_decl_line = 0x3b,
0215 DW_AT_declaration = 0x3c,
0216 DW_AT_discr_list = 0x3d,
0217 DW_AT_encoding = 0x3e,
0218 DW_AT_external = 0x3f,
0219 DW_AT_frame_base = 0x40,
0220 DW_AT_friend = 0x41,
0221 DW_AT_identifier_case = 0x42,
0222 DW_AT_macro_info = 0x43,
0223 DW_AT_namelist_item = 0x44,
0224 DW_AT_priority = 0x45,
0225 DW_AT_segment = 0x46,
0226 DW_AT_specification = 0x47,
0227 DW_AT_static_link = 0x48,
0228 DW_AT_type = 0x49,
0229 DW_AT_use_location = 0x4a,
0230 DW_AT_variable_parameter = 0x4b,
0231 DW_AT_virtuality = 0x4c,
0232 DW_AT_vtable_elem_location = 0x4d,
0233 DW_AT_allocated = 0x4e,
0234 DW_AT_associated = 0x4f,
0235 DW_AT_data_location = 0x50,
0236 DW_AT_byte_stride = 0x51,
0237 DW_AT_entry_pc = 0x52,
0238 DW_AT_use_UTF8 = 0x53,
0239 DW_AT_extension = 0x54,
0240 DW_AT_ranges = 0x55,
0241 DW_AT_trampoline = 0x56,
0242 DW_AT_call_column = 0x57,
0243 DW_AT_call_file = 0x58,
0244 DW_AT_call_line = 0x59,
0245 DW_AT_description = 0x5a,
0246 DW_AT_binary_scale = 0x5b,
0247 DW_AT_decimal_scale = 0x5c,
0248 DW_AT_small = 0x5d,
0249 DW_AT_decimal_sign = 0x5e,
0250 DW_AT_digit_count = 0x5f,
0251 DW_AT_picture_string = 0x60,
0252 DW_AT_mutable = 0x61,
0253 DW_AT_threads_scaled = 0x62,
0254 DW_AT_explicit = 0x63,
0255 DW_AT_object_pointer = 0x64,
0256 DW_AT_endianity = 0x65,
0257 DW_AT_elemental = 0x66,
0258 DW_AT_pure = 0x67,
0259 DW_AT_recursive = 0x68,
0260 DW_AT_signature = 0x69,
0261 DW_AT_main_subprogram = 0x6a,
0262 DW_AT_data_bit_offset = 0x6b,
0263 DW_AT_const_expr = 0x6c,
0264 DW_AT_enum_class = 0x6d,
0265 DW_AT_linkage_name = 0x6e,
0266 DW_AT_string_length_bit_size = 0x6f,
0267 DW_AT_string_length_byte_size = 0x70,
0268 DW_AT_rank = 0x71,
0269 DW_AT_str_offsets_base = 0x72,
0270 DW_AT_addr_base = 0x73,
0271 DW_AT_rnglists_base = 0x74,
0272
0273 DW_AT_dwo_name = 0x76,
0274 DW_AT_reference = 0x77,
0275 DW_AT_rvalue_reference = 0x78,
0276 DW_AT_macros = 0x79,
0277 DW_AT_call_all_calls = 0x7a,
0278 DW_AT_call_all_source_calls = 0x7b,
0279 DW_AT_call_all_tail_calls = 0x7c,
0280 DW_AT_call_return_pc = 0x7d,
0281 DW_AT_call_value = 0x7e,
0282 DW_AT_call_origin = 0x7f,
0283 DW_AT_call_parameter = 0x80,
0284 DW_AT_call_pc = 0x81,
0285 DW_AT_call_tail_call = 0x82,
0286 DW_AT_call_target = 0x83,
0287 DW_AT_call_target_clobbered = 0x84,
0288 DW_AT_call_data_location = 0x85,
0289 DW_AT_call_data_value = 0x86,
0290 DW_AT_noreturn = 0x87,
0291 DW_AT_alignment = 0x88,
0292 DW_AT_export_symbols = 0x89,
0293 DW_AT_deleted = 0x8a,
0294 DW_AT_defaulted = 0x8b,
0295 DW_AT_loclists_base = 0x8c,
0296
0297 DW_AT_lo_user = 0x2000,
0298
0299 DW_AT_MIPS_fde = 0x2001,
0300 DW_AT_MIPS_loop_begin = 0x2002,
0301 DW_AT_MIPS_tail_loop_begin = 0x2003,
0302 DW_AT_MIPS_epilog_begin = 0x2004,
0303 DW_AT_MIPS_loop_unroll_factor = 0x2005,
0304 DW_AT_MIPS_software_pipeline_depth = 0x2006,
0305 DW_AT_MIPS_linkage_name = 0x2007,
0306 DW_AT_MIPS_stride = 0x2008,
0307 DW_AT_MIPS_abstract_name = 0x2009,
0308 DW_AT_MIPS_clone_origin = 0x200a,
0309 DW_AT_MIPS_has_inlines = 0x200b,
0310 DW_AT_MIPS_stride_byte = 0x200c,
0311 DW_AT_MIPS_stride_elem = 0x200d,
0312 DW_AT_MIPS_ptr_dopetype = 0x200e,
0313 DW_AT_MIPS_allocatable_dopetype = 0x200f,
0314 DW_AT_MIPS_assumed_shape_dopetype = 0x2010,
0315 DW_AT_MIPS_assumed_size = 0x2011,
0316
0317
0318 DW_AT_sf_names = 0x2101,
0319 DW_AT_src_info = 0x2102,
0320 DW_AT_mac_info = 0x2103,
0321 DW_AT_src_coords = 0x2104,
0322 DW_AT_body_begin = 0x2105,
0323 DW_AT_body_end = 0x2106,
0324 DW_AT_GNU_vector = 0x2107,
0325 DW_AT_GNU_guarded_by = 0x2108,
0326 DW_AT_GNU_pt_guarded_by = 0x2109,
0327 DW_AT_GNU_guarded = 0x210a,
0328 DW_AT_GNU_pt_guarded = 0x210b,
0329 DW_AT_GNU_locks_excluded = 0x210c,
0330 DW_AT_GNU_exclusive_locks_required = 0x210d,
0331 DW_AT_GNU_shared_locks_required = 0x210e,
0332 DW_AT_GNU_odr_signature = 0x210f,
0333 DW_AT_GNU_template_name = 0x2110,
0334 DW_AT_GNU_call_site_value = 0x2111,
0335 DW_AT_GNU_call_site_data_value = 0x2112,
0336 DW_AT_GNU_call_site_target = 0x2113,
0337 DW_AT_GNU_call_site_target_clobbered = 0x2114,
0338 DW_AT_GNU_tail_call = 0x2115,
0339 DW_AT_GNU_all_tail_call_sites = 0x2116,
0340 DW_AT_GNU_all_call_sites = 0x2117,
0341 DW_AT_GNU_all_source_call_sites = 0x2118,
0342 DW_AT_GNU_locviews = 0x2137,
0343 DW_AT_GNU_entry_view = 0x2138,
0344 DW_AT_GNU_macros = 0x2119,
0345 DW_AT_GNU_deleted = 0x211a,
0346
0347 DW_AT_GNU_dwo_name = 0x2130,
0348 DW_AT_GNU_dwo_id = 0x2131,
0349 DW_AT_GNU_ranges_base = 0x2132,
0350 DW_AT_GNU_addr_base = 0x2133,
0351 DW_AT_GNU_pubnames = 0x2134,
0352 DW_AT_GNU_pubtypes = 0x2135,
0353
0354
0355 DW_AT_GNU_numerator = 0x2303,
0356 DW_AT_GNU_denominator = 0x2304,
0357
0358 DW_AT_GNU_bias = 0x2305,
0359
0360 DW_AT_hi_user = 0x3fff
0361 };
0362
0363
0364
0365
0366
0367 #define DW_AT_subscr_data 0x0a
0368
0369 #define DW_AT_element_list 0x0f
0370
0371 #define DW_AT_member 0x14
0372
0373
0374 enum
0375 {
0376 DW_FORM_addr = 0x01,
0377 DW_FORM_block2 = 0x03,
0378 DW_FORM_block4 = 0x04,
0379 DW_FORM_data2 = 0x05,
0380 DW_FORM_data4 = 0x06,
0381 DW_FORM_data8 = 0x07,
0382 DW_FORM_string = 0x08,
0383 DW_FORM_block = 0x09,
0384 DW_FORM_block1 = 0x0a,
0385 DW_FORM_data1 = 0x0b,
0386 DW_FORM_flag = 0x0c,
0387 DW_FORM_sdata = 0x0d,
0388 DW_FORM_strp = 0x0e,
0389 DW_FORM_udata = 0x0f,
0390 DW_FORM_ref_addr = 0x10,
0391 DW_FORM_ref1 = 0x11,
0392 DW_FORM_ref2 = 0x12,
0393 DW_FORM_ref4 = 0x13,
0394 DW_FORM_ref8 = 0x14,
0395 DW_FORM_ref_udata = 0x15,
0396 DW_FORM_indirect = 0x16,
0397 DW_FORM_sec_offset = 0x17,
0398 DW_FORM_exprloc = 0x18,
0399 DW_FORM_flag_present = 0x19,
0400 DW_FORM_strx = 0x1a,
0401 DW_FORM_addrx = 0x1b,
0402 DW_FORM_ref_sup4 = 0x1c,
0403 DW_FORM_strp_sup = 0x1d,
0404 DW_FORM_data16 = 0x1e,
0405 DW_FORM_line_strp = 0x1f,
0406 DW_FORM_ref_sig8 = 0x20,
0407 DW_FORM_implicit_const = 0x21,
0408 DW_FORM_loclistx = 0x22,
0409 DW_FORM_rnglistx = 0x23,
0410 DW_FORM_ref_sup8 = 0x24,
0411 DW_FORM_strx1 = 0x25,
0412 DW_FORM_strx2 = 0x26,
0413 DW_FORM_strx3 = 0x27,
0414 DW_FORM_strx4 = 0x28,
0415 DW_FORM_addrx1 = 0x29,
0416 DW_FORM_addrx2 = 0x2a,
0417 DW_FORM_addrx3 = 0x2b,
0418 DW_FORM_addrx4 = 0x2c,
0419
0420
0421 DW_FORM_GNU_addr_index = 0x1f01,
0422 DW_FORM_GNU_str_index = 0x1f02,
0423
0424 DW_FORM_GNU_ref_alt = 0x1f20,
0425 DW_FORM_GNU_strp_alt = 0x1f21
0426 };
0427
0428
0429
0430 enum
0431 {
0432 DW_OP_addr = 0x03,
0433 DW_OP_deref = 0x06,
0434 DW_OP_const1u = 0x08,
0435 DW_OP_const1s = 0x09,
0436 DW_OP_const2u = 0x0a,
0437 DW_OP_const2s = 0x0b,
0438 DW_OP_const4u = 0x0c,
0439 DW_OP_const4s = 0x0d,
0440 DW_OP_const8u = 0x0e,
0441 DW_OP_const8s = 0x0f,
0442 DW_OP_constu = 0x10,
0443 DW_OP_consts = 0x11,
0444 DW_OP_dup = 0x12,
0445 DW_OP_drop = 0x13,
0446 DW_OP_over = 0x14,
0447 DW_OP_pick = 0x15,
0448 DW_OP_swap = 0x16,
0449 DW_OP_rot = 0x17,
0450 DW_OP_xderef = 0x18,
0451 DW_OP_abs = 0x19,
0452 DW_OP_and = 0x1a,
0453 DW_OP_div = 0x1b,
0454 DW_OP_minus = 0x1c,
0455 DW_OP_mod = 0x1d,
0456 DW_OP_mul = 0x1e,
0457 DW_OP_neg = 0x1f,
0458 DW_OP_not = 0x20,
0459 DW_OP_or = 0x21,
0460 DW_OP_plus = 0x22,
0461 DW_OP_plus_uconst = 0x23,
0462 DW_OP_shl = 0x24,
0463 DW_OP_shr = 0x25,
0464 DW_OP_shra = 0x26,
0465 DW_OP_xor = 0x27,
0466 DW_OP_bra = 0x28,
0467 DW_OP_eq = 0x29,
0468 DW_OP_ge = 0x2a,
0469 DW_OP_gt = 0x2b,
0470 DW_OP_le = 0x2c,
0471 DW_OP_lt = 0x2d,
0472 DW_OP_ne = 0x2e,
0473 DW_OP_skip = 0x2f,
0474 DW_OP_lit0 = 0x30,
0475 DW_OP_lit1 = 0x31,
0476 DW_OP_lit2 = 0x32,
0477 DW_OP_lit3 = 0x33,
0478 DW_OP_lit4 = 0x34,
0479 DW_OP_lit5 = 0x35,
0480 DW_OP_lit6 = 0x36,
0481 DW_OP_lit7 = 0x37,
0482 DW_OP_lit8 = 0x38,
0483 DW_OP_lit9 = 0x39,
0484 DW_OP_lit10 = 0x3a,
0485 DW_OP_lit11 = 0x3b,
0486 DW_OP_lit12 = 0x3c,
0487 DW_OP_lit13 = 0x3d,
0488 DW_OP_lit14 = 0x3e,
0489 DW_OP_lit15 = 0x3f,
0490 DW_OP_lit16 = 0x40,
0491 DW_OP_lit17 = 0x41,
0492 DW_OP_lit18 = 0x42,
0493 DW_OP_lit19 = 0x43,
0494 DW_OP_lit20 = 0x44,
0495 DW_OP_lit21 = 0x45,
0496 DW_OP_lit22 = 0x46,
0497 DW_OP_lit23 = 0x47,
0498 DW_OP_lit24 = 0x48,
0499 DW_OP_lit25 = 0x49,
0500 DW_OP_lit26 = 0x4a,
0501 DW_OP_lit27 = 0x4b,
0502 DW_OP_lit28 = 0x4c,
0503 DW_OP_lit29 = 0x4d,
0504 DW_OP_lit30 = 0x4e,
0505 DW_OP_lit31 = 0x4f,
0506 DW_OP_reg0 = 0x50,
0507 DW_OP_reg1 = 0x51,
0508 DW_OP_reg2 = 0x52,
0509 DW_OP_reg3 = 0x53,
0510 DW_OP_reg4 = 0x54,
0511 DW_OP_reg5 = 0x55,
0512 DW_OP_reg6 = 0x56,
0513 DW_OP_reg7 = 0x57,
0514 DW_OP_reg8 = 0x58,
0515 DW_OP_reg9 = 0x59,
0516 DW_OP_reg10 = 0x5a,
0517 DW_OP_reg11 = 0x5b,
0518 DW_OP_reg12 = 0x5c,
0519 DW_OP_reg13 = 0x5d,
0520 DW_OP_reg14 = 0x5e,
0521 DW_OP_reg15 = 0x5f,
0522 DW_OP_reg16 = 0x60,
0523 DW_OP_reg17 = 0x61,
0524 DW_OP_reg18 = 0x62,
0525 DW_OP_reg19 = 0x63,
0526 DW_OP_reg20 = 0x64,
0527 DW_OP_reg21 = 0x65,
0528 DW_OP_reg22 = 0x66,
0529 DW_OP_reg23 = 0x67,
0530 DW_OP_reg24 = 0x68,
0531 DW_OP_reg25 = 0x69,
0532 DW_OP_reg26 = 0x6a,
0533 DW_OP_reg27 = 0x6b,
0534 DW_OP_reg28 = 0x6c,
0535 DW_OP_reg29 = 0x6d,
0536 DW_OP_reg30 = 0x6e,
0537 DW_OP_reg31 = 0x6f,
0538 DW_OP_breg0 = 0x70,
0539 DW_OP_breg1 = 0x71,
0540 DW_OP_breg2 = 0x72,
0541 DW_OP_breg3 = 0x73,
0542 DW_OP_breg4 = 0x74,
0543 DW_OP_breg5 = 0x75,
0544 DW_OP_breg6 = 0x76,
0545 DW_OP_breg7 = 0x77,
0546 DW_OP_breg8 = 0x78,
0547 DW_OP_breg9 = 0x79,
0548 DW_OP_breg10 = 0x7a,
0549 DW_OP_breg11 = 0x7b,
0550 DW_OP_breg12 = 0x7c,
0551 DW_OP_breg13 = 0x7d,
0552 DW_OP_breg14 = 0x7e,
0553 DW_OP_breg15 = 0x7f,
0554 DW_OP_breg16 = 0x80,
0555 DW_OP_breg17 = 0x81,
0556 DW_OP_breg18 = 0x82,
0557 DW_OP_breg19 = 0x83,
0558 DW_OP_breg20 = 0x84,
0559 DW_OP_breg21 = 0x85,
0560 DW_OP_breg22 = 0x86,
0561 DW_OP_breg23 = 0x87,
0562 DW_OP_breg24 = 0x88,
0563 DW_OP_breg25 = 0x89,
0564 DW_OP_breg26 = 0x8a,
0565 DW_OP_breg27 = 0x8b,
0566 DW_OP_breg28 = 0x8c,
0567 DW_OP_breg29 = 0x8d,
0568 DW_OP_breg30 = 0x8e,
0569 DW_OP_breg31 = 0x8f,
0570 DW_OP_regx = 0x90,
0571 DW_OP_fbreg = 0x91,
0572 DW_OP_bregx = 0x92,
0573 DW_OP_piece = 0x93,
0574 DW_OP_deref_size = 0x94,
0575 DW_OP_xderef_size = 0x95,
0576 DW_OP_nop = 0x96,
0577 DW_OP_push_object_address = 0x97,
0578 DW_OP_call2 = 0x98,
0579 DW_OP_call4 = 0x99,
0580 DW_OP_call_ref = 0x9a,
0581 DW_OP_form_tls_address = 0x9b,
0582 DW_OP_call_frame_cfa = 0x9c,
0583 DW_OP_bit_piece = 0x9d,
0584 DW_OP_implicit_value = 0x9e,
0585 DW_OP_stack_value = 0x9f,
0586
0587 DW_OP_implicit_pointer = 0xa0,
0588 DW_OP_addrx = 0xa1,
0589 DW_OP_constx = 0xa2,
0590 DW_OP_entry_value = 0xa3,
0591 DW_OP_const_type = 0xa4,
0592 DW_OP_regval_type = 0xa5,
0593 DW_OP_deref_type = 0xa6,
0594 DW_OP_xderef_type = 0xa7,
0595 DW_OP_convert = 0xa8,
0596 DW_OP_reinterpret = 0xa9,
0597
0598
0599 DW_OP_GNU_push_tls_address = 0xe0,
0600 DW_OP_GNU_uninit = 0xf0,
0601 DW_OP_GNU_encoded_addr = 0xf1,
0602 DW_OP_GNU_implicit_pointer = 0xf2,
0603 DW_OP_GNU_entry_value = 0xf3,
0604 DW_OP_GNU_const_type = 0xf4,
0605 DW_OP_GNU_regval_type = 0xf5,
0606 DW_OP_GNU_deref_type = 0xf6,
0607 DW_OP_GNU_convert = 0xf7,
0608 DW_OP_GNU_reinterpret = 0xf9,
0609 DW_OP_GNU_parameter_ref = 0xfa,
0610
0611
0612 DW_OP_GNU_addr_index = 0xfb,
0613 DW_OP_GNU_const_index = 0xfc,
0614
0615 DW_OP_GNU_variable_value = 0xfd,
0616
0617 DW_OP_lo_user = 0xe0,
0618 DW_OP_hi_user = 0xff
0619 };
0620
0621
0622
0623 enum
0624 {
0625 DW_ATE_void = 0x0,
0626 DW_ATE_address = 0x1,
0627 DW_ATE_boolean = 0x2,
0628 DW_ATE_complex_float = 0x3,
0629 DW_ATE_float = 0x4,
0630 DW_ATE_signed = 0x5,
0631 DW_ATE_signed_char = 0x6,
0632 DW_ATE_unsigned = 0x7,
0633 DW_ATE_unsigned_char = 0x8,
0634 DW_ATE_imaginary_float = 0x9,
0635 DW_ATE_packed_decimal = 0xa,
0636 DW_ATE_numeric_string = 0xb,
0637 DW_ATE_edited = 0xc,
0638 DW_ATE_signed_fixed = 0xd,
0639 DW_ATE_unsigned_fixed = 0xe,
0640 DW_ATE_decimal_float = 0xf,
0641 DW_ATE_UTF = 0x10,
0642 DW_ATE_UCS = 0x11,
0643 DW_ATE_ASCII = 0x12,
0644
0645 DW_ATE_lo_user = 0x80,
0646 DW_ATE_hi_user = 0xff
0647 };
0648
0649
0650
0651 enum
0652 {
0653 DW_DS_unsigned = 1,
0654 DW_DS_leading_overpunch = 2,
0655 DW_DS_trailing_overpunch = 3,
0656 DW_DS_leading_separate = 4,
0657 DW_DS_trailing_separate = 5,
0658 };
0659
0660
0661
0662 enum
0663 {
0664 DW_END_default = 0,
0665 DW_END_big = 1,
0666 DW_END_little = 2,
0667
0668 DW_END_lo_user = 0x40,
0669 DW_END_hi_user = 0xff
0670 };
0671
0672
0673
0674 enum
0675 {
0676 DW_ACCESS_public = 1,
0677 DW_ACCESS_protected = 2,
0678 DW_ACCESS_private = 3
0679 };
0680
0681
0682
0683 enum
0684 {
0685 DW_VIS_local = 1,
0686 DW_VIS_exported = 2,
0687 DW_VIS_qualified = 3
0688 };
0689
0690
0691
0692 enum
0693 {
0694 DW_VIRTUALITY_none = 0,
0695 DW_VIRTUALITY_virtual = 1,
0696 DW_VIRTUALITY_pure_virtual = 2
0697 };
0698
0699
0700
0701 enum
0702 {
0703 DW_LANG_C89 = 0x0001,
0704 DW_LANG_C = 0x0002,
0705 DW_LANG_Ada83 = 0x0003,
0706 DW_LANG_C_plus_plus = 0x0004,
0707 DW_LANG_Cobol74 = 0x0005,
0708 DW_LANG_Cobol85 = 0x0006,
0709 DW_LANG_Fortran77 = 0x0007,
0710 DW_LANG_Fortran90 = 0x0008,
0711 DW_LANG_Pascal83 = 0x0009,
0712 DW_LANG_Modula2 = 0x000a,
0713 DW_LANG_Java = 0x000b,
0714 DW_LANG_C99 = 0x000c,
0715 DW_LANG_Ada95 = 0x000d,
0716 DW_LANG_Fortran95 = 0x000e,
0717 DW_LANG_PLI = 0x000f,
0718 DW_LANG_ObjC = 0x0010,
0719 DW_LANG_ObjC_plus_plus = 0x0011,
0720 DW_LANG_UPC = 0x0012,
0721 DW_LANG_D = 0x0013,
0722 DW_LANG_Python = 0x0014,
0723 DW_LANG_OpenCL = 0x0015,
0724 DW_LANG_Go = 0x0016,
0725 DW_LANG_Modula3 = 0x0017,
0726 DW_LANG_Haskell = 0x0018,
0727 DW_LANG_C_plus_plus_03 = 0x0019,
0728 DW_LANG_C_plus_plus_11 = 0x001a,
0729 DW_LANG_OCaml = 0x001b,
0730 DW_LANG_Rust = 0x001c,
0731 DW_LANG_C11 = 0x001d,
0732 DW_LANG_Swift = 0x001e,
0733 DW_LANG_Julia = 0x001f,
0734 DW_LANG_Dylan = 0x0020,
0735 DW_LANG_C_plus_plus_14 = 0x0021,
0736 DW_LANG_Fortran03 = 0x0022,
0737 DW_LANG_Fortran08 = 0x0023,
0738 DW_LANG_RenderScript = 0x0024,
0739 DW_LANG_BLISS = 0x0025,
0740
0741 DW_LANG_lo_user = 0x8000,
0742 DW_LANG_Mips_Assembler = 0x8001,
0743 DW_LANG_hi_user = 0xffff
0744 };
0745
0746
0747 #define DW_LANG_PL1 DW_LANG_PLI
0748
0749
0750 enum
0751 {
0752 DW_ID_case_sensitive = 0,
0753 DW_ID_up_case = 1,
0754 DW_ID_down_case = 2,
0755 DW_ID_case_insensitive = 3
0756 };
0757
0758
0759
0760
0761
0762
0763 enum
0764 {
0765 DW_CC_normal = 0x1,
0766 DW_CC_program = 0x2,
0767 DW_CC_nocall = 0x3,
0768 DW_CC_pass_by_reference = 0x4,
0769 DW_CC_pass_by_value = 0x5,
0770 DW_CC_lo_user = 0x40,
0771 DW_CC_hi_user = 0xff
0772 };
0773
0774
0775
0776 enum
0777 {
0778 DW_INL_not_inlined = 0,
0779 DW_INL_inlined = 1,
0780 DW_INL_declared_not_inlined = 2,
0781 DW_INL_declared_inlined = 3
0782 };
0783
0784
0785
0786 enum
0787 {
0788 DW_ORD_row_major = 0,
0789 DW_ORD_col_major = 1
0790 };
0791
0792
0793
0794 enum
0795 {
0796 DW_DSC_label = 0,
0797 DW_DSC_range = 1
0798 };
0799
0800
0801 enum
0802 {
0803 DW_DEFAULTED_no = 0,
0804 DW_DEFAULTED_in_class = 1,
0805 DW_DEFAULTED_out_of_class = 2
0806 };
0807
0808
0809 enum
0810 {
0811 DW_LNCT_path = 0x1,
0812 DW_LNCT_directory_index = 0x2,
0813 DW_LNCT_timestamp = 0x3,
0814 DW_LNCT_size = 0x4,
0815 DW_LNCT_MD5 = 0x5,
0816 DW_LNCT_lo_user = 0x2000,
0817 DW_LNCT_hi_user = 0x3fff
0818 };
0819
0820
0821 enum
0822 {
0823 DW_LNS_copy = 1,
0824 DW_LNS_advance_pc = 2,
0825 DW_LNS_advance_line = 3,
0826 DW_LNS_set_file = 4,
0827 DW_LNS_set_column = 5,
0828 DW_LNS_negate_stmt = 6,
0829 DW_LNS_set_basic_block = 7,
0830 DW_LNS_const_add_pc = 8,
0831 DW_LNS_fixed_advance_pc = 9,
0832 DW_LNS_set_prologue_end = 10,
0833 DW_LNS_set_epilogue_begin = 11,
0834 DW_LNS_set_isa = 12
0835 };
0836
0837
0838
0839 enum
0840 {
0841 DW_LNE_end_sequence = 1,
0842 DW_LNE_set_address = 2,
0843 DW_LNE_define_file = 3,
0844 DW_LNE_set_discriminator = 4,
0845
0846 DW_LNE_lo_user = 128,
0847
0848 DW_LNE_NVIDIA_inlined_call = 144,
0849 DW_LNE_NVIDIA_set_function_name = 145,
0850
0851 DW_LNE_hi_user = 255
0852 };
0853
0854
0855
0856 enum
0857 {
0858 DW_MACINFO_define = 1,
0859 DW_MACINFO_undef = 2,
0860 DW_MACINFO_start_file = 3,
0861 DW_MACINFO_end_file = 4,
0862 DW_MACINFO_vendor_ext = 255
0863 };
0864
0865
0866
0867 enum
0868 {
0869 DW_MACRO_define = 0x01,
0870 DW_MACRO_undef = 0x02,
0871 DW_MACRO_start_file = 0x03,
0872 DW_MACRO_end_file = 0x04,
0873 DW_MACRO_define_strp = 0x05,
0874 DW_MACRO_undef_strp = 0x06,
0875 DW_MACRO_import = 0x07,
0876 DW_MACRO_define_sup = 0x08,
0877 DW_MACRO_undef_sup = 0x09,
0878 DW_MACRO_import_sup = 0x0a,
0879 DW_MACRO_define_strx = 0x0b,
0880 DW_MACRO_undef_strx = 0x0c,
0881 DW_MACRO_lo_user = 0xe0,
0882 DW_MACRO_hi_user = 0xff
0883 };
0884
0885
0886
0887
0888 #define DW_MACRO_GNU_define DW_MACRO_define
0889 #define DW_MACRO_GNU_undef DW_MACRO_undef
0890 #define DW_MACRO_GNU_start_file DW_MACRO_start_file
0891 #define DW_MACRO_GNU_end_file DW_MACRO_end_file
0892 #define DW_MACRO_GNU_define_indirect DW_MACRO_define_strp
0893 #define DW_MACRO_GNU_undef_indirect DW_MACRO_undef_strp
0894 #define DW_MACRO_GNU_transparent_include DW_MACRO_import
0895 #define DW_MACRO_GNU_lo_user DW_MACRO_lo_user
0896 #define DW_MACRO_GNU_hi_user DW_MACRO_hi_user
0897
0898
0899
0900 enum
0901 {
0902 DW_RLE_end_of_list = 0x0,
0903 DW_RLE_base_addressx = 0x1,
0904 DW_RLE_startx_endx = 0x2,
0905 DW_RLE_startx_length = 0x3,
0906 DW_RLE_offset_pair = 0x4,
0907 DW_RLE_base_address = 0x5,
0908 DW_RLE_start_end = 0x6,
0909 DW_RLE_start_length = 0x7
0910 };
0911
0912
0913
0914 enum
0915 {
0916 DW_LLE_end_of_list = 0x0,
0917 DW_LLE_base_addressx = 0x1,
0918 DW_LLE_startx_endx = 0x2,
0919 DW_LLE_startx_length = 0x3,
0920 DW_LLE_offset_pair = 0x4,
0921 DW_LLE_default_location = 0x5,
0922 DW_LLE_base_address = 0x6,
0923 DW_LLE_start_end = 0x7,
0924 DW_LLE_start_length = 0x8
0925 };
0926
0927
0928
0929 enum
0930 {
0931 DW_LLE_GNU_end_of_list_entry = 0x0,
0932 DW_LLE_GNU_base_address_selection_entry = 0x1,
0933 DW_LLE_GNU_start_end_entry = 0x2,
0934 DW_LLE_GNU_start_length_entry = 0x3,
0935
0936
0937
0938 DW_LLE_GNU_view_pair = 0x9
0939 };
0940
0941
0942 enum
0943 {
0944 DW_SECT_INFO = 1,
0945 DW_SECT_TYPES = 2,
0946 DW_SECT_ABBREV = 3,
0947 DW_SECT_LINE = 4,
0948 DW_SECT_LOCLISTS = 5,
0949 DW_SECT_STR_OFFSETS = 6,
0950 DW_SECT_MACRO = 7,
0951 DW_SECT_RNGLISTS = 8,
0952 };
0953
0954
0955
0956 enum
0957 {
0958 DW_CFA_advance_loc = 0x40,
0959 DW_CFA_offset = 0x80,
0960 DW_CFA_restore = 0xc0,
0961 DW_CFA_extended = 0,
0962
0963 DW_CFA_nop = 0x00,
0964 DW_CFA_set_loc = 0x01,
0965 DW_CFA_advance_loc1 = 0x02,
0966 DW_CFA_advance_loc2 = 0x03,
0967 DW_CFA_advance_loc4 = 0x04,
0968 DW_CFA_offset_extended = 0x05,
0969 DW_CFA_restore_extended = 0x06,
0970 DW_CFA_undefined = 0x07,
0971 DW_CFA_same_value = 0x08,
0972 DW_CFA_register = 0x09,
0973 DW_CFA_remember_state = 0x0a,
0974 DW_CFA_restore_state = 0x0b,
0975 DW_CFA_def_cfa = 0x0c,
0976 DW_CFA_def_cfa_register = 0x0d,
0977 DW_CFA_def_cfa_offset = 0x0e,
0978 DW_CFA_def_cfa_expression = 0x0f,
0979 DW_CFA_expression = 0x10,
0980 DW_CFA_offset_extended_sf = 0x11,
0981 DW_CFA_def_cfa_sf = 0x12,
0982 DW_CFA_def_cfa_offset_sf = 0x13,
0983 DW_CFA_val_offset = 0x14,
0984 DW_CFA_val_offset_sf = 0x15,
0985 DW_CFA_val_expression = 0x16,
0986
0987 DW_CFA_low_user = 0x1c,
0988 DW_CFA_MIPS_advance_loc8 = 0x1d,
0989 DW_CFA_GNU_window_save = 0x2d,
0990 DW_CFA_AARCH64_negate_ra_state = 0x2d,
0991 DW_CFA_GNU_args_size = 0x2e,
0992 DW_CFA_GNU_negative_offset_extended = 0x2f,
0993 DW_CFA_high_user = 0x3f
0994 };
0995
0996
0997 enum
0998 {
0999 DW_CIE_ID_32 = 0xffffffffU,
1000 DW_CIE_ID_64 = 0xffffffffffffffffULL
1001 };
1002
1003
1004
1005 enum
1006 {
1007 DW_EH_PE_absptr = 0x00,
1008 DW_EH_PE_omit = 0xff,
1009
1010
1011 DW_EH_PE_uleb128 = 0x01,
1012 DW_EH_PE_udata2 = 0x02,
1013 DW_EH_PE_udata4 = 0x03,
1014 DW_EH_PE_udata8 = 0x04,
1015 DW_EH_PE_sleb128 = 0x09,
1016 DW_EH_PE_sdata2 = 0x0a,
1017 DW_EH_PE_sdata4 = 0x0b,
1018 DW_EH_PE_sdata8 = 0x0c,
1019 DW_EH_PE_signed = 0x08,
1020
1021
1022 DW_EH_PE_pcrel = 0x10,
1023 DW_EH_PE_textrel = 0x20,
1024 DW_EH_PE_datarel = 0x30,
1025 DW_EH_PE_funcrel = 0x40,
1026 DW_EH_PE_aligned = 0x50,
1027
1028 DW_EH_PE_indirect = 0x80
1029 };
1030
1031
1032
1033 #define DW_ADDR_none 0
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046 #define DWARF3_LENGTH_MIN_ESCAPE_CODE 0xfffffff0u
1047 #define DWARF3_LENGTH_MAX_ESCAPE_CODE 0xffffffffu
1048 #define DWARF3_LENGTH_64_BIT DWARF3_LENGTH_MAX_ESCAPE_CODE
1049
1050 #endif