Warning, file /include/dwarf.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
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