1 //===- llvm/Support/Dwarf.def - Dwarf definitions ---------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // Macros for running through Dwarf enumerators. 11 // 12 //===----------------------------------------------------------------------===// 13 14 // TODO: Add other DW-based macros. 15 #if !(defined HANDLE_DW_TAG || defined HANDLE_DW_AT || \ 16 defined HANDLE_DW_FORM || defined HANDLE_DW_OP || \ 17 defined HANDLE_DW_LANG || defined HANDLE_DW_ATE || \ 18 defined HANDLE_DW_VIRTUALITY || defined HANDLE_DW_DEFAULTED || \ 19 defined HANDLE_DW_CC || defined HANDLE_DW_LNS || \ 20 defined HANDLE_DW_LNE || defined HANDLE_DW_LNCT || \ 21 defined HANDLE_DW_MACRO || defined HANDLE_DW_RLE || \ 22 defined HANDLE_DW_CFA || defined HANDLE_DW_APPLE_PROPERTY || \ 23 defined HANDLE_DW_UT) 24 #error "Missing macro definition of HANDLE_DW*" 25 #endif 26 27 #ifndef HANDLE_DW_TAG 28 #define HANDLE_DW_TAG(ID, NAME, VERSION, VENDOR) 29 #endif 30 31 #ifndef HANDLE_DW_AT 32 #define HANDLE_DW_AT(ID, NAME, VERSION, VENDOR) 33 #endif 34 35 #ifndef HANDLE_DW_FORM 36 #define HANDLE_DW_FORM(ID, NAME, VERSION, VENDOR) 37 #endif 38 39 #ifndef HANDLE_DW_OP 40 #define HANDLE_DW_OP(ID, NAME, VERSION, VENDOR) 41 #endif 42 43 #ifndef HANDLE_DW_LANG 44 #define HANDLE_DW_LANG(ID, NAME, VERSION, VENDOR) 45 #endif 46 47 #ifndef HANDLE_DW_ATE 48 #define HANDLE_DW_ATE(ID, NAME, VERSION, VENDOR) 49 #endif 50 51 #ifndef HANDLE_DW_VIRTUALITY 52 #define HANDLE_DW_VIRTUALITY(ID, NAME) 53 #endif 54 55 #ifndef HANDLE_DW_DEFAULTED 56 #define HANDLE_DW_DEFAULTED(ID, NAME) 57 #endif 58 59 #ifndef HANDLE_DW_CC 60 #define HANDLE_DW_CC(ID, NAME) 61 #endif 62 63 #ifndef HANDLE_DW_LNS 64 #define HANDLE_DW_LNS(ID, NAME) 65 #endif 66 67 #ifndef HANDLE_DW_LNE 68 #define HANDLE_DW_LNE(ID, NAME) 69 #endif 70 71 #ifndef HANDLE_DW_LNCT 72 #define HANDLE_DW_LNCT(ID, NAME) 73 #endif 74 75 #ifndef HANDLE_DW_MACRO 76 #define HANDLE_DW_MACRO(ID, NAME) 77 #endif 78 79 #ifndef HANDLE_DW_RLE 80 #define HANDLE_DW_RLE(ID, NAME) 81 #endif 82 83 #ifndef HANDLE_DW_CFA 84 #define HANDLE_DW_CFA(ID, NAME) 85 #endif 86 87 #ifndef HANDLE_DW_APPLE_PROPERTY 88 #define HANDLE_DW_APPLE_PROPERTY(ID, NAME) 89 #endif 90 91 #ifndef HANDLE_DW_UT 92 #define HANDLE_DW_UT(ID, NAME) 93 #endif 94 95 HANDLE_DW_TAG(0x0000, null, 2, DWARF) 96 HANDLE_DW_TAG(0x0001, array_type, 2, DWARF) 97 HANDLE_DW_TAG(0x0002, class_type, 2, DWARF) 98 HANDLE_DW_TAG(0x0003, entry_point, 2, DWARF) 99 HANDLE_DW_TAG(0x0004, enumeration_type, 2, DWARF) 100 HANDLE_DW_TAG(0x0005, formal_parameter, 2, DWARF) 101 HANDLE_DW_TAG(0x0008, imported_declaration, 2, DWARF) 102 HANDLE_DW_TAG(0x000a, label, 2, DWARF) 103 HANDLE_DW_TAG(0x000b, lexical_block, 2, DWARF) 104 HANDLE_DW_TAG(0x000d, member, 2, DWARF) 105 HANDLE_DW_TAG(0x000f, pointer_type, 2, DWARF) 106 HANDLE_DW_TAG(0x0010, reference_type, 2, DWARF) 107 HANDLE_DW_TAG(0x0011, compile_unit, 2, DWARF) 108 HANDLE_DW_TAG(0x0012, string_type, 2, DWARF) 109 HANDLE_DW_TAG(0x0013, structure_type, 2, DWARF) 110 HANDLE_DW_TAG(0x0015, subroutine_type, 2, DWARF) 111 HANDLE_DW_TAG(0x0016, typedef, 2, DWARF) 112 HANDLE_DW_TAG(0x0017, union_type, 2, DWARF) 113 HANDLE_DW_TAG(0x0018, unspecified_parameters, 2, DWARF) 114 HANDLE_DW_TAG(0x0019, variant, 2, DWARF) 115 HANDLE_DW_TAG(0x001a, common_block, 2, DWARF) 116 HANDLE_DW_TAG(0x001b, common_inclusion, 2, DWARF) 117 HANDLE_DW_TAG(0x001c, inheritance, 2, DWARF) 118 HANDLE_DW_TAG(0x001d, inlined_subroutine, 2, DWARF) 119 HANDLE_DW_TAG(0x001e, module, 2, DWARF) 120 HANDLE_DW_TAG(0x001f, ptr_to_member_type, 2, DWARF) 121 HANDLE_DW_TAG(0x0020, set_type, 2, DWARF) 122 HANDLE_DW_TAG(0x0021, subrange_type, 2, DWARF) 123 HANDLE_DW_TAG(0x0022, with_stmt, 2, DWARF) 124 HANDLE_DW_TAG(0x0023, access_declaration, 2, DWARF) 125 HANDLE_DW_TAG(0x0024, base_type, 2, DWARF) 126 HANDLE_DW_TAG(0x0025, catch_block, 2, DWARF) 127 HANDLE_DW_TAG(0x0026, const_type, 2, DWARF) 128 HANDLE_DW_TAG(0x0027, constant, 2, DWARF) 129 HANDLE_DW_TAG(0x0028, enumerator, 2, DWARF) 130 HANDLE_DW_TAG(0x0029, file_type, 2, DWARF) 131 HANDLE_DW_TAG(0x002a, friend, 2, DWARF) 132 HANDLE_DW_TAG(0x002b, namelist, 2, DWARF) 133 HANDLE_DW_TAG(0x002c, namelist_item, 2, DWARF) 134 HANDLE_DW_TAG(0x002d, packed_type, 2, DWARF) 135 HANDLE_DW_TAG(0x002e, subprogram, 2, DWARF) 136 HANDLE_DW_TAG(0x002f, template_type_parameter, 2, DWARF) 137 HANDLE_DW_TAG(0x0030, template_value_parameter, 2, DWARF) 138 HANDLE_DW_TAG(0x0031, thrown_type, 2, DWARF) 139 HANDLE_DW_TAG(0x0032, try_block, 2, DWARF) 140 HANDLE_DW_TAG(0x0033, variant_part, 2, DWARF) 141 HANDLE_DW_TAG(0x0034, variable, 2, DWARF) 142 HANDLE_DW_TAG(0x0035, volatile_type, 2, DWARF) 143 // New in DWARF v3: 144 HANDLE_DW_TAG(0x0036, dwarf_procedure, 3, DWARF) 145 HANDLE_DW_TAG(0x0037, restrict_type, 3, DWARF) 146 HANDLE_DW_TAG(0x0038, interface_type, 3, DWARF) 147 HANDLE_DW_TAG(0x0039, namespace, 3, DWARF) 148 HANDLE_DW_TAG(0x003a, imported_module, 3, DWARF) 149 HANDLE_DW_TAG(0x003b, unspecified_type, 3, DWARF) 150 HANDLE_DW_TAG(0x003c, partial_unit, 3, DWARF) 151 HANDLE_DW_TAG(0x003d, imported_unit, 3, DWARF) 152 HANDLE_DW_TAG(0x003f, condition, 3, DWARF) 153 HANDLE_DW_TAG(0x0040, shared_type, 3, DWARF) 154 // New in DWARF v4: 155 HANDLE_DW_TAG(0x0041, type_unit, 4, DWARF) 156 HANDLE_DW_TAG(0x0042, rvalue_reference_type, 4, DWARF) 157 HANDLE_DW_TAG(0x0043, template_alias, 4, DWARF) 158 // New in DWARF v5: 159 HANDLE_DW_TAG(0x0044, coarray_type, 5, DWARF) 160 HANDLE_DW_TAG(0x0045, generic_subrange, 5, DWARF) 161 HANDLE_DW_TAG(0x0046, dynamic_type, 5, DWARF) 162 HANDLE_DW_TAG(0x0047, atomic_type, 5, DWARF) 163 HANDLE_DW_TAG(0x0048, call_site, 5, DWARF) 164 HANDLE_DW_TAG(0x0049, call_site_parameter, 5, DWARF) 165 HANDLE_DW_TAG(0x004a, skeleton_unit, 5, DWARF) 166 HANDLE_DW_TAG(0x004b, immutable_type, 5, DWARF) 167 // Vendor extensions: 168 HANDLE_DW_TAG(0x4081, MIPS_loop, 0, MIPS) 169 HANDLE_DW_TAG(0x4101, format_label, 0, GNU) 170 HANDLE_DW_TAG(0x4102, function_template, 0, GNU) 171 HANDLE_DW_TAG(0x4103, class_template, 0, GNU) 172 HANDLE_DW_TAG(0x4106, GNU_template_template_param, 0, GNU) 173 HANDLE_DW_TAG(0x4107, GNU_template_parameter_pack, 0, GNU) 174 HANDLE_DW_TAG(0x4108, GNU_formal_parameter_pack, 0, GNU) 175 HANDLE_DW_TAG(0x4200, APPLE_property, 0, APPLE) 176 HANDLE_DW_TAG(0xb000, BORLAND_property, 0, BORLAND) 177 HANDLE_DW_TAG(0xb001, BORLAND_Delphi_string, 0, BORLAND) 178 HANDLE_DW_TAG(0xb002, BORLAND_Delphi_dynamic_array, 0, BORLAND) 179 HANDLE_DW_TAG(0xb003, BORLAND_Delphi_set, 0, BORLAND) 180 HANDLE_DW_TAG(0xb004, BORLAND_Delphi_variant, 0, BORLAND) 181 182 // Attributes. 183 HANDLE_DW_AT(0x01, sibling, 2, DWARF) 184 HANDLE_DW_AT(0x02, location, 2, DWARF) 185 HANDLE_DW_AT(0x03, name, 2, DWARF) 186 HANDLE_DW_AT(0x09, ordering, 2, DWARF) 187 HANDLE_DW_AT(0x0b, byte_size, 2, DWARF) 188 HANDLE_DW_AT(0x0c, bit_offset, 2, DWARF) 189 HANDLE_DW_AT(0x0d, bit_size, 2, DWARF) 190 HANDLE_DW_AT(0x10, stmt_list, 2, DWARF) 191 HANDLE_DW_AT(0x11, low_pc, 2, DWARF) 192 HANDLE_DW_AT(0x12, high_pc, 2, DWARF) 193 HANDLE_DW_AT(0x13, language, 2, DWARF) 194 HANDLE_DW_AT(0x15, discr, 2, DWARF) 195 HANDLE_DW_AT(0x16, discr_value, 2, DWARF) 196 HANDLE_DW_AT(0x17, visibility, 2, DWARF) 197 HANDLE_DW_AT(0x18, import, 2, DWARF) 198 HANDLE_DW_AT(0x19, string_length, 2, DWARF) 199 HANDLE_DW_AT(0x1a, common_reference, 2, DWARF) 200 HANDLE_DW_AT(0x1b, comp_dir, 2, DWARF) 201 HANDLE_DW_AT(0x1c, const_value, 2, DWARF) 202 HANDLE_DW_AT(0x1d, containing_type, 2, DWARF) 203 HANDLE_DW_AT(0x1e, default_value, 2, DWARF) 204 HANDLE_DW_AT(0x20, inline, 2, DWARF) 205 HANDLE_DW_AT(0x21, is_optional, 2, DWARF) 206 HANDLE_DW_AT(0x22, lower_bound, 2, DWARF) 207 HANDLE_DW_AT(0x25, producer, 2, DWARF) 208 HANDLE_DW_AT(0x27, prototyped, 2, DWARF) 209 HANDLE_DW_AT(0x2a, return_addr, 2, DWARF) 210 HANDLE_DW_AT(0x2c, start_scope, 2, DWARF) 211 HANDLE_DW_AT(0x2e, bit_stride, 2, DWARF) 212 HANDLE_DW_AT(0x2f, upper_bound, 2, DWARF) 213 HANDLE_DW_AT(0x31, abstract_origin, 2, DWARF) 214 HANDLE_DW_AT(0x32, accessibility, 2, DWARF) 215 HANDLE_DW_AT(0x33, address_class, 2, DWARF) 216 HANDLE_DW_AT(0x34, artificial, 2, DWARF) 217 HANDLE_DW_AT(0x35, base_types, 2, DWARF) 218 HANDLE_DW_AT(0x36, calling_convention, 2, DWARF) 219 HANDLE_DW_AT(0x37, count, 2, DWARF) 220 HANDLE_DW_AT(0x38, data_member_location, 2, DWARF) 221 HANDLE_DW_AT(0x39, decl_column, 2, DWARF) 222 HANDLE_DW_AT(0x3a, decl_file, 2, DWARF) 223 HANDLE_DW_AT(0x3b, decl_line, 2, DWARF) 224 HANDLE_DW_AT(0x3c, declaration, 2, DWARF) 225 HANDLE_DW_AT(0x3d, discr_list, 2, DWARF) 226 HANDLE_DW_AT(0x3e, encoding, 2, DWARF) 227 HANDLE_DW_AT(0x3f, external, 2, DWARF) 228 HANDLE_DW_AT(0x40, frame_base, 2, DWARF) 229 HANDLE_DW_AT(0x41, friend, 2, DWARF) 230 HANDLE_DW_AT(0x42, identifier_case, 2, DWARF) 231 HANDLE_DW_AT(0x43, macro_info, 2, DWARF) 232 HANDLE_DW_AT(0x44, namelist_item, 2, DWARF) 233 HANDLE_DW_AT(0x45, priority, 2, DWARF) 234 HANDLE_DW_AT(0x46, segment, 2, DWARF) 235 HANDLE_DW_AT(0x47, specification, 2, DWARF) 236 HANDLE_DW_AT(0x48, static_link, 2, DWARF) 237 HANDLE_DW_AT(0x49, type, 2, DWARF) 238 HANDLE_DW_AT(0x4a, use_location, 2, DWARF) 239 HANDLE_DW_AT(0x4b, variable_parameter, 2, DWARF) 240 HANDLE_DW_AT(0x4c, virtuality, 2, DWARF) 241 HANDLE_DW_AT(0x4d, vtable_elem_location, 2, DWARF) 242 // New in DWARF v3: 243 HANDLE_DW_AT(0x4e, allocated, 3, DWARF) 244 HANDLE_DW_AT(0x4f, associated, 3, DWARF) 245 HANDLE_DW_AT(0x50, data_location, 3, DWARF) 246 HANDLE_DW_AT(0x51, byte_stride, 3, DWARF) 247 HANDLE_DW_AT(0x52, entry_pc, 3, DWARF) 248 HANDLE_DW_AT(0x53, use_UTF8, 3, DWARF) 249 HANDLE_DW_AT(0x54, extension, 3, DWARF) 250 HANDLE_DW_AT(0x55, ranges, 3, DWARF) 251 HANDLE_DW_AT(0x56, trampoline, 3, DWARF) 252 HANDLE_DW_AT(0x57, call_column, 3, DWARF) 253 HANDLE_DW_AT(0x58, call_file, 3, DWARF) 254 HANDLE_DW_AT(0x59, call_line, 3, DWARF) 255 HANDLE_DW_AT(0x5a, description, 3, DWARF) 256 HANDLE_DW_AT(0x5b, binary_scale, 3, DWARF) 257 HANDLE_DW_AT(0x5c, decimal_scale, 3, DWARF) 258 HANDLE_DW_AT(0x5d, small, 3, DWARF) 259 HANDLE_DW_AT(0x5e, decimal_sign, 3, DWARF) 260 HANDLE_DW_AT(0x5f, digit_count, 3, DWARF) 261 HANDLE_DW_AT(0x60, picture_string, 3, DWARF) 262 HANDLE_DW_AT(0x61, mutable, 3, DWARF) 263 HANDLE_DW_AT(0x62, threads_scaled, 3, DWARF) 264 HANDLE_DW_AT(0x63, explicit, 3, DWARF) 265 HANDLE_DW_AT(0x64, object_pointer, 3, DWARF) 266 HANDLE_DW_AT(0x65, endianity, 3, DWARF) 267 HANDLE_DW_AT(0x66, elemental, 3, DWARF) 268 HANDLE_DW_AT(0x67, pure, 3, DWARF) 269 HANDLE_DW_AT(0x68, recursive, 3, DWARF) 270 // New in DWARF v4: 271 HANDLE_DW_AT(0x69, signature, 4, DWARF) 272 HANDLE_DW_AT(0x6a, main_subprogram, 4, DWARF) 273 HANDLE_DW_AT(0x6b, data_bit_offset, 4, DWARF) 274 HANDLE_DW_AT(0x6c, const_expr, 4, DWARF) 275 HANDLE_DW_AT(0x6d, enum_class, 4, DWARF) 276 HANDLE_DW_AT(0x6e, linkage_name, 4, DWARF) 277 // New in DWARF v5: 278 HANDLE_DW_AT(0x6f, string_length_bit_size, 5, DWARF) 279 HANDLE_DW_AT(0x70, string_length_byte_size, 5, DWARF) 280 HANDLE_DW_AT(0x71, rank, 5, DWARF) 281 HANDLE_DW_AT(0x72, str_offsets_base, 5, DWARF) 282 HANDLE_DW_AT(0x73, addr_base, 5, DWARF) 283 HANDLE_DW_AT(0x74, rnglists_base, 5, DWARF) 284 HANDLE_DW_AT(0x75, dwo_id, 0, DWARF) ///< Retracted from DWARF v5. 285 HANDLE_DW_AT(0x76, dwo_name, 5, DWARF) 286 HANDLE_DW_AT(0x77, reference, 5, DWARF) 287 HANDLE_DW_AT(0x78, rvalue_reference, 5, DWARF) 288 HANDLE_DW_AT(0x79, macros, 5, DWARF) 289 HANDLE_DW_AT(0x7a, call_all_calls, 5, DWARF) 290 HANDLE_DW_AT(0x7b, call_all_source_calls, 5, DWARF) 291 HANDLE_DW_AT(0x7c, call_all_tail_calls, 5, DWARF) 292 HANDLE_DW_AT(0x7d, call_return_pc, 5, DWARF) 293 HANDLE_DW_AT(0x7e, call_value, 5, DWARF) 294 HANDLE_DW_AT(0x7f, call_origin, 5, DWARF) 295 HANDLE_DW_AT(0x80, call_parameter, 5, DWARF) 296 HANDLE_DW_AT(0x81, call_pc, 5, DWARF) 297 HANDLE_DW_AT(0x82, call_tail_call, 5, DWARF) 298 HANDLE_DW_AT(0x83, call_target, 5, DWARF) 299 HANDLE_DW_AT(0x84, call_target_clobbered, 5, DWARF) 300 HANDLE_DW_AT(0x85, call_data_location, 5, DWARF) 301 HANDLE_DW_AT(0x86, call_data_value, 5, DWARF) 302 HANDLE_DW_AT(0x87, noreturn, 5, DWARF) 303 HANDLE_DW_AT(0x88, alignment, 5, DWARF) 304 HANDLE_DW_AT(0x89, export_symbols, 5, DWARF) 305 HANDLE_DW_AT(0x8a, deleted, 5, DWARF) 306 HANDLE_DW_AT(0x8b, defaulted, 5, DWARF) 307 HANDLE_DW_AT(0x8c, loclists_base, 5, DWARF) 308 // Vendor extensions: 309 HANDLE_DW_AT(0x2002, MIPS_loop_begin, 0, MIPS) 310 HANDLE_DW_AT(0x2003, MIPS_tail_loop_begin, 0, MIPS) 311 HANDLE_DW_AT(0x2004, MIPS_epilog_begin, 0, MIPS) 312 HANDLE_DW_AT(0x2005, MIPS_loop_unroll_factor, 0, MIPS) 313 HANDLE_DW_AT(0x2006, MIPS_software_pipeline_depth, 0, MIPS) 314 HANDLE_DW_AT(0x2007, MIPS_linkage_name, 0, MIPS) 315 HANDLE_DW_AT(0x2008, MIPS_stride, 0, MIPS) 316 HANDLE_DW_AT(0x2009, MIPS_abstract_name, 0, MIPS) 317 HANDLE_DW_AT(0x200a, MIPS_clone_origin, 0, MIPS) 318 HANDLE_DW_AT(0x200b, MIPS_has_inlines, 0, MIPS) 319 HANDLE_DW_AT(0x200c, MIPS_stride_byte, 0, MIPS) 320 HANDLE_DW_AT(0x200d, MIPS_stride_elem, 0, MIPS) 321 HANDLE_DW_AT(0x200e, MIPS_ptr_dopetype, 0, MIPS) 322 HANDLE_DW_AT(0x200f, MIPS_allocatable_dopetype, 0, MIPS) 323 HANDLE_DW_AT(0x2010, MIPS_assumed_shape_dopetype, 0, MIPS) 324 // This one appears to have only been implemented by Open64 for 325 // fortran and may conflict with other extensions. 326 HANDLE_DW_AT(0x2011, MIPS_assumed_size, 0, MIPS) 327 // GNU extensions 328 HANDLE_DW_AT(0x2101, sf_names, 0, GNU) 329 HANDLE_DW_AT(0x2102, src_info, 0, GNU) 330 HANDLE_DW_AT(0x2103, mac_info, 0, GNU) 331 HANDLE_DW_AT(0x2104, src_coords, 0, GNU) 332 HANDLE_DW_AT(0x2105, body_begin, 0, GNU) 333 HANDLE_DW_AT(0x2106, body_end, 0, GNU) 334 HANDLE_DW_AT(0x2107, GNU_vector, 0, GNU) 335 HANDLE_DW_AT(0x2110, GNU_template_name, 0, GNU) 336 HANDLE_DW_AT(0x210f, GNU_odr_signature, 0, GNU) 337 HANDLE_DW_AT(0x2119, GNU_macros, 0, GNU) 338 // Extensions for Fission proposal. 339 HANDLE_DW_AT(0x2130, GNU_dwo_name, 0, GNU) 340 HANDLE_DW_AT(0x2131, GNU_dwo_id, 0, GNU) 341 HANDLE_DW_AT(0x2132, GNU_ranges_base, 0, GNU) 342 HANDLE_DW_AT(0x2133, GNU_addr_base, 0, GNU) 343 HANDLE_DW_AT(0x2134, GNU_pubnames, 0, GNU) 344 HANDLE_DW_AT(0x2135, GNU_pubtypes, 0, GNU) 345 HANDLE_DW_AT(0x2136, GNU_discriminator, 0, GNU) 346 // Borland extensions. 347 HANDLE_DW_AT(0x3b11, BORLAND_property_read, 0, BORLAND) 348 HANDLE_DW_AT(0x3b12, BORLAND_property_write, 0, BORLAND) 349 HANDLE_DW_AT(0x3b13, BORLAND_property_implements, 0, BORLAND) 350 HANDLE_DW_AT(0x3b14, BORLAND_property_index, 0, BORLAND) 351 HANDLE_DW_AT(0x3b15, BORLAND_property_default, 0, BORLAND) 352 HANDLE_DW_AT(0x3b20, BORLAND_Delphi_unit, 0, BORLAND) 353 HANDLE_DW_AT(0x3b21, BORLAND_Delphi_class, 0, BORLAND) 354 HANDLE_DW_AT(0x3b22, BORLAND_Delphi_record, 0, BORLAND) 355 HANDLE_DW_AT(0x3b23, BORLAND_Delphi_metaclass, 0, BORLAND) 356 HANDLE_DW_AT(0x3b24, BORLAND_Delphi_constructor, 0, BORLAND) 357 HANDLE_DW_AT(0x3b25, BORLAND_Delphi_destructor, 0, BORLAND) 358 HANDLE_DW_AT(0x3b26, BORLAND_Delphi_anonymous_method, 0, BORLAND) 359 HANDLE_DW_AT(0x3b27, BORLAND_Delphi_interface, 0, BORLAND) 360 HANDLE_DW_AT(0x3b28, BORLAND_Delphi_ABI, 0, BORLAND) 361 HANDLE_DW_AT(0x3b29, BORLAND_Delphi_return, 0, BORLAND) 362 HANDLE_DW_AT(0x3b30, BORLAND_Delphi_frameptr, 0, BORLAND) 363 HANDLE_DW_AT(0x3b31, BORLAND_closure, 0, BORLAND) 364 // LLVM project extensions. 365 HANDLE_DW_AT(0x3e00, LLVM_include_path, 0, LLVM) 366 HANDLE_DW_AT(0x3e01, LLVM_config_macros, 0, LLVM) 367 HANDLE_DW_AT(0x3e02, LLVM_isysroot, 0, LLVM) 368 // Apple extensions. 369 HANDLE_DW_AT(0x3fe1, APPLE_optimized, 0, APPLE) 370 HANDLE_DW_AT(0x3fe2, APPLE_flags, 0, APPLE) 371 HANDLE_DW_AT(0x3fe3, APPLE_isa, 0, APPLE) 372 HANDLE_DW_AT(0x3fe4, APPLE_block, 0, APPLE) 373 HANDLE_DW_AT(0x3fe5, APPLE_major_runtime_vers, 0, APPLE) 374 HANDLE_DW_AT(0x3fe6, APPLE_runtime_class, 0, APPLE) 375 HANDLE_DW_AT(0x3fe7, APPLE_omit_frame_ptr, 0, APPLE) 376 HANDLE_DW_AT(0x3fe8, APPLE_property_name, 0, APPLE) 377 HANDLE_DW_AT(0x3fe9, APPLE_property_getter, 0, APPLE) 378 HANDLE_DW_AT(0x3fea, APPLE_property_setter, 0, APPLE) 379 HANDLE_DW_AT(0x3feb, APPLE_property_attribute, 0, APPLE) 380 HANDLE_DW_AT(0x3fec, APPLE_objc_complete_type, 0, APPLE) 381 HANDLE_DW_AT(0x3fed, APPLE_property, 0, APPLE) 382 383 // Attribute form encodings. 384 HANDLE_DW_FORM(0x01, addr, 2, DWARF) 385 HANDLE_DW_FORM(0x03, block2, 2, DWARF) 386 HANDLE_DW_FORM(0x04, block4, 2, DWARF) 387 HANDLE_DW_FORM(0x05, data2, 2, DWARF) 388 HANDLE_DW_FORM(0x06, data4, 2, DWARF) 389 HANDLE_DW_FORM(0x07, data8, 2, DWARF) 390 HANDLE_DW_FORM(0x08, string, 2, DWARF) 391 HANDLE_DW_FORM(0x09, block, 2, DWARF) 392 HANDLE_DW_FORM(0x0a, block1, 2, DWARF) 393 HANDLE_DW_FORM(0x0b, data1, 2, DWARF) 394 HANDLE_DW_FORM(0x0c, flag, 2, DWARF) 395 HANDLE_DW_FORM(0x0d, sdata, 2, DWARF) 396 HANDLE_DW_FORM(0x0e, strp, 2, DWARF) 397 HANDLE_DW_FORM(0x0f, udata, 2, DWARF) 398 HANDLE_DW_FORM(0x10, ref_addr, 2, DWARF) 399 HANDLE_DW_FORM(0x11, ref1, 2, DWARF) 400 HANDLE_DW_FORM(0x12, ref2, 2, DWARF) 401 HANDLE_DW_FORM(0x13, ref4, 2, DWARF) 402 HANDLE_DW_FORM(0x14, ref8, 2, DWARF) 403 HANDLE_DW_FORM(0x15, ref_udata, 2, DWARF) 404 HANDLE_DW_FORM(0x16, indirect, 2, DWARF) 405 // New in DWARF v4: 406 HANDLE_DW_FORM(0x17, sec_offset, 4, DWARF) 407 HANDLE_DW_FORM(0x18, exprloc, 4, DWARF) 408 HANDLE_DW_FORM(0x19, flag_present, 4, DWARF) 409 // This was defined out of sequence. 410 HANDLE_DW_FORM(0x20, ref_sig8, 4, DWARF) 411 // New in DWARF v5: 412 HANDLE_DW_FORM(0x1a, strx, 5, DWARF) 413 HANDLE_DW_FORM(0x1b, addrx, 5, DWARF) 414 HANDLE_DW_FORM(0x1c, ref_sup4, 5, DWARF) 415 HANDLE_DW_FORM(0x1d, strp_sup, 5, DWARF) 416 HANDLE_DW_FORM(0x1e, data16, 5, DWARF) 417 HANDLE_DW_FORM(0x1f, line_strp, 5, DWARF) 418 HANDLE_DW_FORM(0x21, implicit_const, 5, DWARF) 419 HANDLE_DW_FORM(0x22, loclistx, 5, DWARF) 420 HANDLE_DW_FORM(0x23, rnglistx, 5, DWARF) 421 HANDLE_DW_FORM(0x24, ref_sup8, 5, DWARF) 422 HANDLE_DW_FORM(0x25, strx1, 5, DWARF) 423 HANDLE_DW_FORM(0x26, strx2, 5, DWARF) 424 HANDLE_DW_FORM(0x27, strx3, 5, DWARF) 425 HANDLE_DW_FORM(0x28, strx4, 5, DWARF) 426 HANDLE_DW_FORM(0x29, addrx1, 5, DWARF) 427 HANDLE_DW_FORM(0x2a, addrx2, 5, DWARF) 428 HANDLE_DW_FORM(0x2b, addrx3, 5, DWARF) 429 HANDLE_DW_FORM(0x2c, addrx4, 5, DWARF) 430 // Extensions for Fission proposal 431 HANDLE_DW_FORM(0x1f01, GNU_addr_index, 0, GNU) 432 HANDLE_DW_FORM(0x1f02, GNU_str_index, 0, GNU) 433 // Alternate debug sections proposal (output of "dwz" tool). 434 HANDLE_DW_FORM(0x1f20, GNU_ref_alt, 0, GNU) 435 HANDLE_DW_FORM(0x1f21, GNU_strp_alt, 0, GNU) 436 437 // DWARF Expression operators. 438 HANDLE_DW_OP(0x03, addr, 2, DWARF) 439 HANDLE_DW_OP(0x06, deref, 2, DWARF) 440 HANDLE_DW_OP(0x08, const1u, 2, DWARF) 441 HANDLE_DW_OP(0x09, const1s, 2, DWARF) 442 HANDLE_DW_OP(0x0a, const2u, 2, DWARF) 443 HANDLE_DW_OP(0x0b, const2s, 2, DWARF) 444 HANDLE_DW_OP(0x0c, const4u, 2, DWARF) 445 HANDLE_DW_OP(0x0d, const4s, 2, DWARF) 446 HANDLE_DW_OP(0x0e, const8u, 2, DWARF) 447 HANDLE_DW_OP(0x0f, const8s, 2, DWARF) 448 HANDLE_DW_OP(0x10, constu, 2, DWARF) 449 HANDLE_DW_OP(0x11, consts, 2, DWARF) 450 HANDLE_DW_OP(0x12, dup, 2, DWARF) 451 HANDLE_DW_OP(0x13, drop, 2, DWARF) 452 HANDLE_DW_OP(0x14, over, 2, DWARF) 453 HANDLE_DW_OP(0x15, pick, 2, DWARF) 454 HANDLE_DW_OP(0x16, swap, 2, DWARF) 455 HANDLE_DW_OP(0x17, rot, 2, DWARF) 456 HANDLE_DW_OP(0x18, xderef, 2, DWARF) 457 HANDLE_DW_OP(0x19, abs, 2, DWARF) 458 HANDLE_DW_OP(0x1a, and, 2, DWARF) 459 HANDLE_DW_OP(0x1b, div, 2, DWARF) 460 HANDLE_DW_OP(0x1c, minus, 2, DWARF) 461 HANDLE_DW_OP(0x1d, mod, 2, DWARF) 462 HANDLE_DW_OP(0x1e, mul, 2, DWARF) 463 HANDLE_DW_OP(0x1f, neg, 2, DWARF) 464 HANDLE_DW_OP(0x20, not, 2, DWARF) 465 HANDLE_DW_OP(0x21, or, 2, DWARF) 466 HANDLE_DW_OP(0x22, plus, 2, DWARF) 467 HANDLE_DW_OP(0x23, plus_uconst, 2, DWARF) 468 HANDLE_DW_OP(0x24, shl, 2, DWARF) 469 HANDLE_DW_OP(0x25, shr, 2, DWARF) 470 HANDLE_DW_OP(0x26, shra, 2, DWARF) 471 HANDLE_DW_OP(0x27, xor, 2, DWARF) 472 HANDLE_DW_OP(0x28, bra, 2, DWARF) 473 HANDLE_DW_OP(0x29, eq, 2, DWARF) 474 HANDLE_DW_OP(0x2a, ge, 2, DWARF) 475 HANDLE_DW_OP(0x2b, gt, 2, DWARF) 476 HANDLE_DW_OP(0x2c, le, 2, DWARF) 477 HANDLE_DW_OP(0x2d, lt, 2, DWARF) 478 HANDLE_DW_OP(0x2e, ne, 2, DWARF) 479 HANDLE_DW_OP(0x2f, skip, 2, DWARF) 480 HANDLE_DW_OP(0x30, lit0, 2, DWARF) 481 HANDLE_DW_OP(0x31, lit1, 2, DWARF) 482 HANDLE_DW_OP(0x32, lit2, 2, DWARF) 483 HANDLE_DW_OP(0x33, lit3, 2, DWARF) 484 HANDLE_DW_OP(0x34, lit4, 2, DWARF) 485 HANDLE_DW_OP(0x35, lit5, 2, DWARF) 486 HANDLE_DW_OP(0x36, lit6, 2, DWARF) 487 HANDLE_DW_OP(0x37, lit7, 2, DWARF) 488 HANDLE_DW_OP(0x38, lit8, 2, DWARF) 489 HANDLE_DW_OP(0x39, lit9, 2, DWARF) 490 HANDLE_DW_OP(0x3a, lit10, 2, DWARF) 491 HANDLE_DW_OP(0x3b, lit11, 2, DWARF) 492 HANDLE_DW_OP(0x3c, lit12, 2, DWARF) 493 HANDLE_DW_OP(0x3d, lit13, 2, DWARF) 494 HANDLE_DW_OP(0x3e, lit14, 2, DWARF) 495 HANDLE_DW_OP(0x3f, lit15, 2, DWARF) 496 HANDLE_DW_OP(0x40, lit16, 2, DWARF) 497 HANDLE_DW_OP(0x41, lit17, 2, DWARF) 498 HANDLE_DW_OP(0x42, lit18, 2, DWARF) 499 HANDLE_DW_OP(0x43, lit19, 2, DWARF) 500 HANDLE_DW_OP(0x44, lit20, 2, DWARF) 501 HANDLE_DW_OP(0x45, lit21, 2, DWARF) 502 HANDLE_DW_OP(0x46, lit22, 2, DWARF) 503 HANDLE_DW_OP(0x47, lit23, 2, DWARF) 504 HANDLE_DW_OP(0x48, lit24, 2, DWARF) 505 HANDLE_DW_OP(0x49, lit25, 2, DWARF) 506 HANDLE_DW_OP(0x4a, lit26, 2, DWARF) 507 HANDLE_DW_OP(0x4b, lit27, 2, DWARF) 508 HANDLE_DW_OP(0x4c, lit28, 2, DWARF) 509 HANDLE_DW_OP(0x4d, lit29, 2, DWARF) 510 HANDLE_DW_OP(0x4e, lit30, 2, DWARF) 511 HANDLE_DW_OP(0x4f, lit31, 2, DWARF) 512 HANDLE_DW_OP(0x50, reg0, 2, DWARF) 513 HANDLE_DW_OP(0x51, reg1, 2, DWARF) 514 HANDLE_DW_OP(0x52, reg2, 2, DWARF) 515 HANDLE_DW_OP(0x53, reg3, 2, DWARF) 516 HANDLE_DW_OP(0x54, reg4, 2, DWARF) 517 HANDLE_DW_OP(0x55, reg5, 2, DWARF) 518 HANDLE_DW_OP(0x56, reg6, 2, DWARF) 519 HANDLE_DW_OP(0x57, reg7, 2, DWARF) 520 HANDLE_DW_OP(0x58, reg8, 2, DWARF) 521 HANDLE_DW_OP(0x59, reg9, 2, DWARF) 522 HANDLE_DW_OP(0x5a, reg10, 2, DWARF) 523 HANDLE_DW_OP(0x5b, reg11, 2, DWARF) 524 HANDLE_DW_OP(0x5c, reg12, 2, DWARF) 525 HANDLE_DW_OP(0x5d, reg13, 2, DWARF) 526 HANDLE_DW_OP(0x5e, reg14, 2, DWARF) 527 HANDLE_DW_OP(0x5f, reg15, 2, DWARF) 528 HANDLE_DW_OP(0x60, reg16, 2, DWARF) 529 HANDLE_DW_OP(0x61, reg17, 2, DWARF) 530 HANDLE_DW_OP(0x62, reg18, 2, DWARF) 531 HANDLE_DW_OP(0x63, reg19, 2, DWARF) 532 HANDLE_DW_OP(0x64, reg20, 2, DWARF) 533 HANDLE_DW_OP(0x65, reg21, 2, DWARF) 534 HANDLE_DW_OP(0x66, reg22, 2, DWARF) 535 HANDLE_DW_OP(0x67, reg23, 2, DWARF) 536 HANDLE_DW_OP(0x68, reg24, 2, DWARF) 537 HANDLE_DW_OP(0x69, reg25, 2, DWARF) 538 HANDLE_DW_OP(0x6a, reg26, 2, DWARF) 539 HANDLE_DW_OP(0x6b, reg27, 2, DWARF) 540 HANDLE_DW_OP(0x6c, reg28, 2, DWARF) 541 HANDLE_DW_OP(0x6d, reg29, 2, DWARF) 542 HANDLE_DW_OP(0x6e, reg30, 2, DWARF) 543 HANDLE_DW_OP(0x6f, reg31, 2, DWARF) 544 HANDLE_DW_OP(0x70, breg0, 2, DWARF) 545 HANDLE_DW_OP(0x71, breg1, 2, DWARF) 546 HANDLE_DW_OP(0x72, breg2, 2, DWARF) 547 HANDLE_DW_OP(0x73, breg3, 2, DWARF) 548 HANDLE_DW_OP(0x74, breg4, 2, DWARF) 549 HANDLE_DW_OP(0x75, breg5, 2, DWARF) 550 HANDLE_DW_OP(0x76, breg6, 2, DWARF) 551 HANDLE_DW_OP(0x77, breg7, 2, DWARF) 552 HANDLE_DW_OP(0x78, breg8, 2, DWARF) 553 HANDLE_DW_OP(0x79, breg9, 2, DWARF) 554 HANDLE_DW_OP(0x7a, breg10, 2, DWARF) 555 HANDLE_DW_OP(0x7b, breg11, 2, DWARF) 556 HANDLE_DW_OP(0x7c, breg12, 2, DWARF) 557 HANDLE_DW_OP(0x7d, breg13, 2, DWARF) 558 HANDLE_DW_OP(0x7e, breg14, 2, DWARF) 559 HANDLE_DW_OP(0x7f, breg15, 2, DWARF) 560 HANDLE_DW_OP(0x80, breg16, 2, DWARF) 561 HANDLE_DW_OP(0x81, breg17, 2, DWARF) 562 HANDLE_DW_OP(0x82, breg18, 2, DWARF) 563 HANDLE_DW_OP(0x83, breg19, 2, DWARF) 564 HANDLE_DW_OP(0x84, breg20, 2, DWARF) 565 HANDLE_DW_OP(0x85, breg21, 2, DWARF) 566 HANDLE_DW_OP(0x86, breg22, 2, DWARF) 567 HANDLE_DW_OP(0x87, breg23, 2, DWARF) 568 HANDLE_DW_OP(0x88, breg24, 2, DWARF) 569 HANDLE_DW_OP(0x89, breg25, 2, DWARF) 570 HANDLE_DW_OP(0x8a, breg26, 2, DWARF) 571 HANDLE_DW_OP(0x8b, breg27, 2, DWARF) 572 HANDLE_DW_OP(0x8c, breg28, 2, DWARF) 573 HANDLE_DW_OP(0x8d, breg29, 2, DWARF) 574 HANDLE_DW_OP(0x8e, breg30, 2, DWARF) 575 HANDLE_DW_OP(0x8f, breg31, 2, DWARF) 576 HANDLE_DW_OP(0x90, regx, 2, DWARF) 577 HANDLE_DW_OP(0x91, fbreg, 2, DWARF) 578 HANDLE_DW_OP(0x92, bregx, 2, DWARF) 579 HANDLE_DW_OP(0x93, piece, 2, DWARF) 580 HANDLE_DW_OP(0x94, deref_size, 2, DWARF) 581 HANDLE_DW_OP(0x95, xderef_size, 2, DWARF) 582 HANDLE_DW_OP(0x96, nop, 2, DWARF) 583 // New in DWARF v3: 584 HANDLE_DW_OP(0x97, push_object_address, 3, DWARF) 585 HANDLE_DW_OP(0x98, call2, 3, DWARF) 586 HANDLE_DW_OP(0x99, call4, 3, DWARF) 587 HANDLE_DW_OP(0x9a, call_ref, 3, DWARF) 588 HANDLE_DW_OP(0x9b, form_tls_address, 3, DWARF) 589 HANDLE_DW_OP(0x9c, call_frame_cfa, 3, DWARF) 590 HANDLE_DW_OP(0x9d, bit_piece, 3, DWARF) 591 // New in DWARF v4: 592 HANDLE_DW_OP(0x9e, implicit_value, 4, DWARF) 593 HANDLE_DW_OP(0x9f, stack_value, 4, DWARF) 594 // New in DWARF v5: 595 HANDLE_DW_OP(0xa0, implicit_pointer, 5, DWARF) 596 HANDLE_DW_OP(0xa1, addrx, 5, DWARF) 597 HANDLE_DW_OP(0xa2, constx, 5, DWARF) 598 HANDLE_DW_OP(0xa3, entry_value, 5, DWARF) 599 HANDLE_DW_OP(0xa4, const_type, 5, DWARF) 600 HANDLE_DW_OP(0xa5, regval_type, 5, DWARF) 601 HANDLE_DW_OP(0xa6, deref_type, 5, DWARF) 602 HANDLE_DW_OP(0xa7, xderef_type, 5, DWARF) 603 HANDLE_DW_OP(0xa8, convert, 5, DWARF) 604 HANDLE_DW_OP(0xa9, reinterpret, 5, DWARF) 605 // Vendor extensions: 606 // Extensions for GNU-style thread-local storage. 607 HANDLE_DW_OP(0xe0, GNU_push_tls_address, 0, GNU) 608 // Extensions for Fission proposal. 609 HANDLE_DW_OP(0xfb, GNU_addr_index, 0, GNU) 610 HANDLE_DW_OP(0xfc, GNU_const_index, 0, GNU) 611 612 // DWARF languages. 613 HANDLE_DW_LANG(0x0001, C89, 2, DWARF) 614 HANDLE_DW_LANG(0x0002, C, 2, DWARF) 615 HANDLE_DW_LANG(0x0003, Ada83, 2, DWARF) 616 HANDLE_DW_LANG(0x0004, C_plus_plus, 2, DWARF) 617 HANDLE_DW_LANG(0x0005, Cobol74, 2, DWARF) 618 HANDLE_DW_LANG(0x0006, Cobol85, 2, DWARF) 619 HANDLE_DW_LANG(0x0007, Fortran77, 2, DWARF) 620 HANDLE_DW_LANG(0x0008, Fortran90, 2, DWARF) 621 HANDLE_DW_LANG(0x0009, Pascal83, 2, DWARF) 622 HANDLE_DW_LANG(0x000a, Modula2, 2, DWARF) 623 // New in DWARF v3: 624 HANDLE_DW_LANG(0x000b, Java, 3, DWARF) 625 HANDLE_DW_LANG(0x000c, C99, 3, DWARF) 626 HANDLE_DW_LANG(0x000d, Ada95, 3, DWARF) 627 HANDLE_DW_LANG(0x000e, Fortran95, 3, DWARF) 628 HANDLE_DW_LANG(0x000f, PLI, 3, DWARF) 629 HANDLE_DW_LANG(0x0010, ObjC, 3, DWARF) 630 HANDLE_DW_LANG(0x0011, ObjC_plus_plus, 3, DWARF) 631 HANDLE_DW_LANG(0x0012, UPC, 3, DWARF) 632 HANDLE_DW_LANG(0x0013, D, 3, DWARF) 633 // New in DWARF v4: 634 HANDLE_DW_LANG(0x0014, Python, 4, DWARF) 635 // New in DWARF v5: 636 HANDLE_DW_LANG(0x0015, OpenCL, 5, DWARF) 637 HANDLE_DW_LANG(0x0016, Go, 5, DWARF) 638 HANDLE_DW_LANG(0x0017, Modula3, 5, DWARF) 639 HANDLE_DW_LANG(0x0018, Haskell, 5, DWARF) 640 HANDLE_DW_LANG(0x0019, C_plus_plus_03, 5, DWARF) 641 HANDLE_DW_LANG(0x001a, C_plus_plus_11, 5, DWARF) 642 HANDLE_DW_LANG(0x001b, OCaml, 5, DWARF) 643 HANDLE_DW_LANG(0x001c, Rust, 5, DWARF) 644 HANDLE_DW_LANG(0x001d, C11, 5, DWARF) 645 HANDLE_DW_LANG(0x001e, Swift, 5, DWARF) 646 HANDLE_DW_LANG(0x001f, Julia, 5, DWARF) 647 HANDLE_DW_LANG(0x0020, Dylan, 5, DWARF) 648 HANDLE_DW_LANG(0x0021, C_plus_plus_14, 5, DWARF) 649 HANDLE_DW_LANG(0x0022, Fortran03, 5, DWARF) 650 HANDLE_DW_LANG(0x0023, Fortran08, 5, DWARF) 651 HANDLE_DW_LANG(0x0024, RenderScript, 5, DWARF) 652 HANDLE_DW_LANG(0x0025, BLISS, 5, DWARF) 653 // Vendor extensions: 654 HANDLE_DW_LANG(0x8001, Mips_Assembler, 0, MIPS) 655 HANDLE_DW_LANG(0x8e57, GOOGLE_RenderScript, 0, GOOGLE) 656 HANDLE_DW_LANG(0xb000, BORLAND_Delphi, 0, BORLAND) 657 658 // DWARF attribute type encodings. 659 HANDLE_DW_ATE(0x01, address, 2, DWARF) 660 HANDLE_DW_ATE(0x02, boolean, 2, DWARF) 661 HANDLE_DW_ATE(0x03, complex_float, 2, DWARF) 662 HANDLE_DW_ATE(0x04, float, 2, DWARF) 663 HANDLE_DW_ATE(0x05, signed, 2, DWARF) 664 HANDLE_DW_ATE(0x06, signed_char, 2, DWARF) 665 HANDLE_DW_ATE(0x07, unsigned, 2, DWARF) 666 HANDLE_DW_ATE(0x08, unsigned_char, 2, DWARF) 667 // New in DWARF v3: 668 HANDLE_DW_ATE(0x09, imaginary_float, 3, DWARF) 669 HANDLE_DW_ATE(0x0a, packed_decimal, 3, DWARF) 670 HANDLE_DW_ATE(0x0b, numeric_string, 3, DWARF) 671 HANDLE_DW_ATE(0x0c, edited, 3, DWARF) 672 HANDLE_DW_ATE(0x0d, signed_fixed, 3, DWARF) 673 HANDLE_DW_ATE(0x0e, unsigned_fixed, 3, DWARF) 674 HANDLE_DW_ATE(0x0f, decimal_float, 3, DWARF) 675 // New in DWARF v4: 676 HANDLE_DW_ATE(0x10, UTF, 4, DWARF) 677 // New in DWARF v5: 678 HANDLE_DW_ATE(0x11, UCS, 5, DWARF) 679 HANDLE_DW_ATE(0x12, ASCII, 5, DWARF) 680 681 // DWARF virtuality codes. 682 HANDLE_DW_VIRTUALITY(0x00, none) 683 HANDLE_DW_VIRTUALITY(0x01, virtual) 684 HANDLE_DW_VIRTUALITY(0x02, pure_virtual) 685 686 // DWARF v5 Defaulted Member Encodings. 687 HANDLE_DW_DEFAULTED(0x00, no) 688 HANDLE_DW_DEFAULTED(0x01, in_class) 689 HANDLE_DW_DEFAULTED(0x02, out_of_class) 690 691 // DWARF calling convention codes. 692 HANDLE_DW_CC(0x01, normal) 693 HANDLE_DW_CC(0x02, program) 694 HANDLE_DW_CC(0x03, nocall) 695 // New in DWARF v5: 696 HANDLE_DW_CC(0x04, pass_by_reference) 697 HANDLE_DW_CC(0x05, pass_by_value) 698 // Vendor extensions: 699 HANDLE_DW_CC(0x41, GNU_borland_fastcall_i386) 700 HANDLE_DW_CC(0xb0, BORLAND_safecall) 701 HANDLE_DW_CC(0xb1, BORLAND_stdcall) 702 HANDLE_DW_CC(0xb2, BORLAND_pascal) 703 HANDLE_DW_CC(0xb3, BORLAND_msfastcall) 704 HANDLE_DW_CC(0xb4, BORLAND_msreturn) 705 HANDLE_DW_CC(0xb5, BORLAND_thiscall) 706 HANDLE_DW_CC(0xb6, BORLAND_fastcall) 707 HANDLE_DW_CC(0xc0, LLVM_vectorcall) 708 709 // Line Number Extended Opcode Encodings 710 HANDLE_DW_LNE(0x01, end_sequence) 711 HANDLE_DW_LNE(0x02, set_address) 712 HANDLE_DW_LNE(0x03, define_file) 713 // New in DWARF v4: 714 HANDLE_DW_LNE(0x04, set_discriminator) 715 716 // Line Number Standard Opcode Encodings. 717 HANDLE_DW_LNS(0x00, extended_op) 718 HANDLE_DW_LNS(0x01, copy) 719 HANDLE_DW_LNS(0x02, advance_pc) 720 HANDLE_DW_LNS(0x03, advance_line) 721 HANDLE_DW_LNS(0x04, set_file) 722 HANDLE_DW_LNS(0x05, set_column) 723 HANDLE_DW_LNS(0x06, negate_stmt) 724 HANDLE_DW_LNS(0x07, set_basic_block) 725 HANDLE_DW_LNS(0x08, const_add_pc) 726 HANDLE_DW_LNS(0x09, fixed_advance_pc) 727 // New in DWARF v3: 728 HANDLE_DW_LNS(0x0a, set_prologue_end) 729 HANDLE_DW_LNS(0x0b, set_epilogue_begin) 730 HANDLE_DW_LNS(0x0c, set_isa) 731 732 // DWARF v5 Line number header entry format. 733 HANDLE_DW_LNCT(0x01, path) 734 HANDLE_DW_LNCT(0x02, directory_index) 735 HANDLE_DW_LNCT(0x03, timestamp) 736 HANDLE_DW_LNCT(0x04, size) 737 HANDLE_DW_LNCT(0x05, MD5) 738 739 // DWARF v5 Macro information. 740 HANDLE_DW_MACRO(0x01, define) 741 HANDLE_DW_MACRO(0x02, undef) 742 HANDLE_DW_MACRO(0x03, start_file) 743 HANDLE_DW_MACRO(0x04, end_file) 744 HANDLE_DW_MACRO(0x05, define_strp) 745 HANDLE_DW_MACRO(0x06, undef_strp) 746 HANDLE_DW_MACRO(0x07, import) 747 HANDLE_DW_MACRO(0x08, define_sup) 748 HANDLE_DW_MACRO(0x09, undef_sup) 749 HANDLE_DW_MACRO(0x0a, import_sup) 750 HANDLE_DW_MACRO(0x0b, define_strx) 751 HANDLE_DW_MACRO(0x0c, undef_strx) 752 753 // DWARF v5 Range List Entry encoding values. 754 HANDLE_DW_RLE(0x00, end_of_list) 755 HANDLE_DW_RLE(0x01, base_addressx) 756 HANDLE_DW_RLE(0x02, startx_endx) 757 HANDLE_DW_RLE(0x03, startx_length) 758 HANDLE_DW_RLE(0x04, offset_pair) 759 HANDLE_DW_RLE(0x05, base_address) 760 HANDLE_DW_RLE(0x06, start_end) 761 HANDLE_DW_RLE(0x07, start_length) 762 763 // Call frame instruction encodings. 764 HANDLE_DW_CFA(0x00, nop) 765 HANDLE_DW_CFA(0x40, advance_loc) 766 HANDLE_DW_CFA(0x80, offset) 767 HANDLE_DW_CFA(0xc0, restore) 768 HANDLE_DW_CFA(0x01, set_loc) 769 HANDLE_DW_CFA(0x02, advance_loc1) 770 HANDLE_DW_CFA(0x03, advance_loc2) 771 HANDLE_DW_CFA(0x04, advance_loc4) 772 HANDLE_DW_CFA(0x05, offset_extended) 773 HANDLE_DW_CFA(0x06, restore_extended) 774 HANDLE_DW_CFA(0x07, undefined) 775 HANDLE_DW_CFA(0x08, same_value) 776 HANDLE_DW_CFA(0x09, register) 777 HANDLE_DW_CFA(0x0a, remember_state) 778 HANDLE_DW_CFA(0x0b, restore_state) 779 HANDLE_DW_CFA(0x0c, def_cfa) 780 HANDLE_DW_CFA(0x0d, def_cfa_register) 781 HANDLE_DW_CFA(0x0e, def_cfa_offset) 782 // New in DWARF v3: 783 HANDLE_DW_CFA(0x0f, def_cfa_expression) 784 HANDLE_DW_CFA(0x10, expression) 785 HANDLE_DW_CFA(0x11, offset_extended_sf) 786 HANDLE_DW_CFA(0x12, def_cfa_sf) 787 HANDLE_DW_CFA(0x13, def_cfa_offset_sf) 788 HANDLE_DW_CFA(0x14, val_offset) 789 HANDLE_DW_CFA(0x15, val_offset_sf) 790 HANDLE_DW_CFA(0x16, val_expression) 791 // Vendor extensions: 792 HANDLE_DW_CFA(0x1d, MIPS_advance_loc8) 793 HANDLE_DW_CFA(0x2d, GNU_window_save) 794 HANDLE_DW_CFA(0x2e, GNU_args_size) 795 796 // Apple Objective-C Property Attributes. 797 // Keep this list in sync with clang's DeclSpec.h ObjCPropertyAttributeKind! 798 HANDLE_DW_APPLE_PROPERTY(0x01, readonly) 799 HANDLE_DW_APPLE_PROPERTY(0x02, getter) 800 HANDLE_DW_APPLE_PROPERTY(0x04, assign) 801 HANDLE_DW_APPLE_PROPERTY(0x08, readwrite) 802 HANDLE_DW_APPLE_PROPERTY(0x10, retain) 803 HANDLE_DW_APPLE_PROPERTY(0x20, copy) 804 HANDLE_DW_APPLE_PROPERTY(0x40, nonatomic) 805 HANDLE_DW_APPLE_PROPERTY(0x80, setter) 806 HANDLE_DW_APPLE_PROPERTY(0x100, atomic) 807 HANDLE_DW_APPLE_PROPERTY(0x200, weak) 808 HANDLE_DW_APPLE_PROPERTY(0x400, strong) 809 HANDLE_DW_APPLE_PROPERTY(0x800, unsafe_unretained) 810 HANDLE_DW_APPLE_PROPERTY(0x1000, nullability) 811 HANDLE_DW_APPLE_PROPERTY(0x2000, null_resettable) 812 HANDLE_DW_APPLE_PROPERTY(0x4000, class) 813 814 // DWARF v5 Unit Types. 815 HANDLE_DW_UT(0x01, compile) 816 HANDLE_DW_UT(0x02, type) 817 HANDLE_DW_UT(0x03, partial) 818 HANDLE_DW_UT(0x04, skeleton) 819 HANDLE_DW_UT(0x05, split_compile) 820 HANDLE_DW_UT(0x06, split_type) 821 822 #undef HANDLE_DW_TAG 823 #undef HANDLE_DW_AT 824 #undef HANDLE_DW_FORM 825 #undef HANDLE_DW_OP 826 #undef HANDLE_DW_LANG 827 #undef HANDLE_DW_ATE 828 #undef HANDLE_DW_VIRTUALITY 829 #undef HANDLE_DW_DEFAULTED 830 #undef HANDLE_DW_CC 831 #undef HANDLE_DW_LNS 832 #undef HANDLE_DW_LNE 833 #undef HANDLE_DW_LNCT 834 #undef HANDLE_DW_MACRO 835 #undef HANDLE_DW_RLE 836 #undef HANDLE_DW_CFA 837 #undef HANDLE_DW_APPLE_PROPERTY 838 #undef HANDLE_DW_UT 839