OLD | NEW |
1 // -*- mode: c++ -*- | 1 // -*- mode: c++ -*- |
2 | 2 |
3 // Copyright (c) 2010 Google Inc. All Rights Reserved. | 3 // Copyright (c) 2010 Google Inc. All Rights Reserved. |
4 // | 4 // |
5 // Redistribution and use in source and binary forms, with or without | 5 // Redistribution and use in source and binary forms, with or without |
6 // modification, are permitted provided that the following conditions are | 6 // modification, are permitted provided that the following conditions are |
7 // met: | 7 // met: |
8 // | 8 // |
9 // * Redistributions of source code must retain the above copyright | 9 // * Redistributions of source code must retain the above copyright |
10 // notice, this list of conditions and the following disclaimer. | 10 // notice, this list of conditions and the following disclaimer. |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 DW_FORM_ref2 = 0x12, | 142 DW_FORM_ref2 = 0x12, |
143 DW_FORM_ref4 = 0x13, | 143 DW_FORM_ref4 = 0x13, |
144 DW_FORM_ref8 = 0x14, | 144 DW_FORM_ref8 = 0x14, |
145 DW_FORM_ref_udata = 0x15, | 145 DW_FORM_ref_udata = 0x15, |
146 DW_FORM_indirect = 0x16, | 146 DW_FORM_indirect = 0x16, |
147 | 147 |
148 // Added in DWARF 4: | 148 // Added in DWARF 4: |
149 DW_FORM_sec_offset = 0x17, | 149 DW_FORM_sec_offset = 0x17, |
150 DW_FORM_exprloc = 0x18, | 150 DW_FORM_exprloc = 0x18, |
151 DW_FORM_flag_present = 0x19, | 151 DW_FORM_flag_present = 0x19, |
152 DW_FORM_ref_sig8 = 0x20 | 152 DW_FORM_ref_sig8 = 0x20, |
| 153 // Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. |
| 154 DW_FORM_GNU_addr_index = 0x1f01, |
| 155 DW_FORM_GNU_str_index = 0x1f02 |
153 }; | 156 }; |
154 | 157 |
155 // Attribute names and codes | 158 // Attribute names and codes |
156 enum DwarfAttribute { | 159 enum DwarfAttribute { |
157 DW_AT_sibling = 0x01, | 160 DW_AT_sibling = 0x01, |
158 DW_AT_location = 0x02, | 161 DW_AT_location = 0x02, |
159 DW_AT_name = 0x03, | 162 DW_AT_name = 0x03, |
160 DW_AT_ordering = 0x09, | 163 DW_AT_ordering = 0x09, |
161 DW_AT_subscr_data = 0x0a, | 164 DW_AT_subscr_data = 0x0a, |
162 DW_AT_byte_size = 0x0b, | 165 DW_AT_byte_size = 0x0b, |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 DW_AT_HP_linkage_name = 0x201a, | 260 DW_AT_HP_linkage_name = 0x201a, |
258 DW_AT_HP_prof_flags = 0x201b, // In comp unit of procs_info for -g. | 261 DW_AT_HP_prof_flags = 0x201b, // In comp unit of procs_info for -g. |
259 // GNU extensions. | 262 // GNU extensions. |
260 DW_AT_sf_names = 0x2101, | 263 DW_AT_sf_names = 0x2101, |
261 DW_AT_src_info = 0x2102, | 264 DW_AT_src_info = 0x2102, |
262 DW_AT_mac_info = 0x2103, | 265 DW_AT_mac_info = 0x2103, |
263 DW_AT_src_coords = 0x2104, | 266 DW_AT_src_coords = 0x2104, |
264 DW_AT_body_begin = 0x2105, | 267 DW_AT_body_begin = 0x2105, |
265 DW_AT_body_end = 0x2106, | 268 DW_AT_body_end = 0x2106, |
266 DW_AT_GNU_vector = 0x2107, | 269 DW_AT_GNU_vector = 0x2107, |
| 270 // Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. |
| 271 DW_AT_GNU_dwo_name = 0x2130, |
| 272 DW_AT_GNU_dwo_id = 0x2131, |
| 273 DW_AT_GNU_ranges_base = 0x2132, |
| 274 DW_AT_GNU_addr_base = 0x2133, |
| 275 DW_AT_GNU_pubnames = 0x2134, |
| 276 DW_AT_GNU_pubtypes = 0x2135, |
267 // VMS extensions. | 277 // VMS extensions. |
268 DW_AT_VMS_rtnbeg_pd_address = 0x2201, | 278 DW_AT_VMS_rtnbeg_pd_address = 0x2201, |
269 // UPC extension. | 279 // UPC extension. |
270 DW_AT_upc_threads_scaled = 0x3210, | 280 DW_AT_upc_threads_scaled = 0x3210, |
271 // PGI (STMicroelectronics) extensions. | 281 // PGI (STMicroelectronics) extensions. |
272 DW_AT_PGI_lbase = 0x3a00, | 282 DW_AT_PGI_lbase = 0x3a00, |
273 DW_AT_PGI_soffset = 0x3a01, | 283 DW_AT_PGI_soffset = 0x3a01, |
274 DW_AT_PGI_lstride = 0x3a02 | 284 DW_AT_PGI_lstride = 0x3a02 |
275 }; | 285 }; |
276 | 286 |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 DW_OP_push_object_address =0x97, | 494 DW_OP_push_object_address =0x97, |
485 DW_OP_call2 =0x98, | 495 DW_OP_call2 =0x98, |
486 DW_OP_call4 =0x99, | 496 DW_OP_call4 =0x99, |
487 DW_OP_call_ref =0x9a, | 497 DW_OP_call_ref =0x9a, |
488 DW_OP_form_tls_address =0x9b, | 498 DW_OP_form_tls_address =0x9b, |
489 DW_OP_call_frame_cfa =0x9c, | 499 DW_OP_call_frame_cfa =0x9c, |
490 DW_OP_bit_piece =0x9d, | 500 DW_OP_bit_piece =0x9d, |
491 DW_OP_lo_user =0xe0, | 501 DW_OP_lo_user =0xe0, |
492 DW_OP_hi_user =0xff, | 502 DW_OP_hi_user =0xff, |
493 // GNU extensions | 503 // GNU extensions |
494 DW_OP_GNU_push_tls_address =0xe0 | 504 DW_OP_GNU_push_tls_address =0xe0, |
| 505 // Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. |
| 506 DW_OP_GNU_addr_index =0xfb, |
| 507 DW_OP_GNU_const_index =0xfc |
| 508 }; |
| 509 |
| 510 // Section identifiers for DWP files |
| 511 enum DwarfSectionId { |
| 512 DW_SECT_INFO = 1, |
| 513 DW_SECT_TYPES = 2, |
| 514 DW_SECT_ABBREV = 3, |
| 515 DW_SECT_LINE = 4, |
| 516 DW_SECT_LOC = 5, |
| 517 DW_SECT_STR_OFFSETS = 6, |
| 518 DW_SECT_MACINFO = 7, |
| 519 DW_SECT_MACRO = 8 |
495 }; | 520 }; |
496 | 521 |
497 // Source languages. These are values for DW_AT_language. | 522 // Source languages. These are values for DW_AT_language. |
498 enum DwarfLanguage | 523 enum DwarfLanguage |
499 { | 524 { |
500 DW_LANG_none =0x0000, | 525 DW_LANG_none =0x0000, |
501 DW_LANG_C89 =0x0001, | 526 DW_LANG_C89 =0x0001, |
502 DW_LANG_C =0x0002, | 527 DW_LANG_C =0x0002, |
503 DW_LANG_Ada83 =0x0003, | 528 DW_LANG_Ada83 =0x0003, |
504 DW_LANG_C_plus_plus =0x0004, | 529 DW_LANG_C_plus_plus =0x0004, |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
641 // This is not documented in LSB 4.0, but it is used in both the | 666 // This is not documented in LSB 4.0, but it is used in both the |
642 // Linux and OS X toolchains. It can be added to any other | 667 // Linux and OS X toolchains. It can be added to any other |
643 // encoding (except DW_EH_PE_aligned), and indicates that the | 668 // encoding (except DW_EH_PE_aligned), and indicates that the |
644 // encoded value represents the address at which the true address | 669 // encoded value represents the address at which the true address |
645 // is stored, not the true address itself. | 670 // is stored, not the true address itself. |
646 DW_EH_PE_indirect = 0x80 | 671 DW_EH_PE_indirect = 0x80 |
647 }; | 672 }; |
648 | 673 |
649 } // namespace dwarf2reader | 674 } // namespace dwarf2reader |
650 #endif // COMMON_DWARF_DWARF2ENUMS_H__ | 675 #endif // COMMON_DWARF_DWARF2ENUMS_H__ |
OLD | NEW |