LEFT | RIGHT |
(no file at all) | |
1 // Copyright 2010 The Go Authors. All rights reserved. | 1 // Copyright 2010 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 // TODO/NICETOHAVE: | 5 // TODO/NICETOHAVE: |
6 // - eliminate DW_CLS_ if not used | 6 // - eliminate DW_CLS_ if not used |
7 // - package info in compilation units | 7 // - package info in compilation units |
8 // - assign global variables and types to their packages | 8 // - assign global variables and types to their packages |
9 // - gdb uses c syntax, meaning clumsy quoting is needed for go identifiers. e
g | 9 // - gdb uses c syntax, meaning clumsy quoting is needed for go identifiers. e
g |
10 // ptype struct '[]uint8' and qualifiers need to be quoted away | 10 // ptype struct '[]uint8' and qualifiers need to be quoted away |
(...skipping 2064 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2075 // Some types that must exist to define other ones. | 2075 // Some types that must exist to define other ones. |
2076 newdie(&dwtypes, DW_ABRV_NULLTYPE, "<unspecified>"); | 2076 newdie(&dwtypes, DW_ABRV_NULLTYPE, "<unspecified>"); |
2077 newdie(&dwtypes, DW_ABRV_NULLTYPE, "void"); | 2077 newdie(&dwtypes, DW_ABRV_NULLTYPE, "void"); |
2078 newrefattr(newdie(&dwtypes, DW_ABRV_PTRTYPE, "unsafe.Pointer"), | 2078 newrefattr(newdie(&dwtypes, DW_ABRV_PTRTYPE, "unsafe.Pointer"), |
2079 DW_AT_type, find(&dwtypes, "void")); | 2079 DW_AT_type, find(&dwtypes, "void")); |
2080 die = newdie(&dwtypes, DW_ABRV_BASETYPE, "uintptr"); // needed for arra
y size | 2080 die = newdie(&dwtypes, DW_ABRV_BASETYPE, "uintptr"); // needed for arra
y size |
2081 newattr(die, DW_AT_encoding, DW_CLS_CONSTANT, DW_ATE_unsigned, 0); | 2081 newattr(die, DW_AT_encoding, DW_CLS_CONSTANT, DW_ATE_unsigned, 0); |
2082 newattr(die, DW_AT_byte_size, DW_CLS_CONSTANT, PtrSize, 0); | 2082 newattr(die, DW_AT_byte_size, DW_CLS_CONSTANT, PtrSize, 0); |
2083 | 2083 |
2084 // Needed by the prettyprinter code for interface inspection. | 2084 // Needed by the prettyprinter code for interface inspection. |
2085 » defgotype(lookup_or_diag("type.runtime.commonType")); | 2085 » defgotype(lookup_or_diag("type.runtime.rtype")); |
2086 defgotype(lookup_or_diag("type.runtime.interfaceType")); | 2086 defgotype(lookup_or_diag("type.runtime.interfaceType")); |
2087 defgotype(lookup_or_diag("type.runtime.itab")); | 2087 defgotype(lookup_or_diag("type.runtime.itab")); |
2088 | 2088 |
2089 genasmsym(defdwsymb); | 2089 genasmsym(defdwsymb); |
2090 | 2090 |
2091 writeabbrev(); | 2091 writeabbrev(); |
2092 align(abbrevsize); | 2092 align(abbrevsize); |
2093 writelines(); | 2093 writelines(); |
2094 align(linesize); | 2094 align(linesize); |
2095 writeframes(); | 2095 writeframes(); |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2349 | 2349 |
2350 newPEDWARFSection(".debug_abbrev", abbrevsize); | 2350 newPEDWARFSection(".debug_abbrev", abbrevsize); |
2351 newPEDWARFSection(".debug_line", linesize); | 2351 newPEDWARFSection(".debug_line", linesize); |
2352 newPEDWARFSection(".debug_frame", framesize); | 2352 newPEDWARFSection(".debug_frame", framesize); |
2353 newPEDWARFSection(".debug_info", infosize); | 2353 newPEDWARFSection(".debug_info", infosize); |
2354 newPEDWARFSection(".debug_pubnames", pubnamessize); | 2354 newPEDWARFSection(".debug_pubnames", pubnamessize); |
2355 newPEDWARFSection(".debug_pubtypes", pubtypessize); | 2355 newPEDWARFSection(".debug_pubtypes", pubtypessize); |
2356 newPEDWARFSection(".debug_aranges", arangessize); | 2356 newPEDWARFSection(".debug_aranges", arangessize); |
2357 newPEDWARFSection(".debug_gdb_scripts", gdbscriptsize); | 2357 newPEDWARFSection(".debug_gdb_scripts", gdbscriptsize); |
2358 } | 2358 } |
LEFT | RIGHT |