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 DW_AT_GNU_macros = 0x2119, ////////////needed?????????????? | |
vapier
2016/04/14 22:48:47
what's with the crazy comment ? just delete it ?
yunlian
2016/04/18 21:20:51
Done.
| |
271 // Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. | |
272 DW_AT_GNU_dwo_name = 0x2130, | |
273 DW_AT_GNU_dwo_id = 0x2131, | |
274 DW_AT_GNU_ranges_base = 0x2132, | |
275 DW_AT_GNU_addr_base = 0x2133, | |
276 DW_AT_GNU_pubnames = 0x2134, | |
277 DW_AT_GNU_pubtypes = 0x2135, | |
267 // VMS extensions. | 278 // VMS extensions. |
268 DW_AT_VMS_rtnbeg_pd_address = 0x2201, | 279 DW_AT_VMS_rtnbeg_pd_address = 0x2201, |
269 // UPC extension. | 280 // UPC extension. |
270 DW_AT_upc_threads_scaled = 0x3210, | 281 DW_AT_upc_threads_scaled = 0x3210, |
271 // PGI (STMicroelectronics) extensions. | 282 // PGI (STMicroelectronics) extensions. |
272 DW_AT_PGI_lbase = 0x3a00, | 283 DW_AT_PGI_lbase = 0x3a00, |
273 DW_AT_PGI_soffset = 0x3a01, | 284 DW_AT_PGI_soffset = 0x3a01, |
274 DW_AT_PGI_lstride = 0x3a02 | 285 DW_AT_PGI_lstride = 0x3a02 |
275 }; | 286 }; |
276 | 287 |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
484 DW_OP_push_object_address =0x97, | 495 DW_OP_push_object_address =0x97, |
485 DW_OP_call2 =0x98, | 496 DW_OP_call2 =0x98, |
486 DW_OP_call4 =0x99, | 497 DW_OP_call4 =0x99, |
487 DW_OP_call_ref =0x9a, | 498 DW_OP_call_ref =0x9a, |
488 DW_OP_form_tls_address =0x9b, | 499 DW_OP_form_tls_address =0x9b, |
489 DW_OP_call_frame_cfa =0x9c, | 500 DW_OP_call_frame_cfa =0x9c, |
490 DW_OP_bit_piece =0x9d, | 501 DW_OP_bit_piece =0x9d, |
491 DW_OP_lo_user =0xe0, | 502 DW_OP_lo_user =0xe0, |
492 DW_OP_hi_user =0xff, | 503 DW_OP_hi_user =0xff, |
493 // GNU extensions | 504 // GNU extensions |
494 DW_OP_GNU_push_tls_address =0xe0 | 505 DW_OP_GNU_push_tls_address =0xe0, |
506 // Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. | |
507 DW_OP_GNU_addr_index =0xfb, | |
508 DW_OP_GNU_const_index =0xfc | |
509 }; | |
510 | |
511 // Section identifiers for DWP files | |
512 enum DwarfSectionId { | |
513 DW_SECT_INFO = 1, | |
514 DW_SECT_TYPES = 2, | |
515 DW_SECT_ABBREV = 3, | |
516 DW_SECT_LINE = 4, | |
517 DW_SECT_LOC = 5, | |
518 DW_SECT_STR_OFFSETS = 6, | |
519 DW_SECT_MACINFO = 7, | |
520 DW_SECT_MACRO = 8 | |
495 }; | 521 }; |
496 | 522 |
497 // Source languages. These are values for DW_AT_language. | 523 // Source languages. These are values for DW_AT_language. |
498 enum DwarfLanguage | 524 enum DwarfLanguage |
499 { | 525 { |
500 DW_LANG_none =0x0000, | 526 DW_LANG_none =0x0000, |
501 DW_LANG_C89 =0x0001, | 527 DW_LANG_C89 =0x0001, |
502 DW_LANG_C =0x0002, | 528 DW_LANG_C =0x0002, |
503 DW_LANG_Ada83 =0x0003, | 529 DW_LANG_Ada83 =0x0003, |
504 DW_LANG_C_plus_plus =0x0004, | 530 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 | 667 // 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 | 668 // Linux and OS X toolchains. It can be added to any other |
643 // encoding (except DW_EH_PE_aligned), and indicates that the | 669 // encoding (except DW_EH_PE_aligned), and indicates that the |
644 // encoded value represents the address at which the true address | 670 // encoded value represents the address at which the true address |
645 // is stored, not the true address itself. | 671 // is stored, not the true address itself. |
646 DW_EH_PE_indirect = 0x80 | 672 DW_EH_PE_indirect = 0x80 |
647 }; | 673 }; |
648 | 674 |
649 } // namespace dwarf2reader | 675 } // namespace dwarf2reader |
650 #endif // COMMON_DWARF_DWARF2ENUMS_H__ | 676 #endif // COMMON_DWARF_DWARF2ENUMS_H__ |
OLD | NEW |