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