mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/internal/objabi,cmd/link/internal/sym: add SDWARFADDR symbol type
Add a new symbol type: SDWARFADDR. This kind of symbol stores content to be added to the DWARF .debug_addr section (new with DWARF5). At the moment these symbols are created only in the linker, but it's not hard to imagine other implementations in which the compiler would create them, so they are added to both the compiler and linker symbol kind space. Updates #26379. Change-Id: I4a82ead0d59fe6028abfd6d6e3fc3df2e28c0ef6 Reviewed-on: https://go-review.googlesource.com/c/go/+/634415 Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
parent
31b800abe6
commit
282a14ec61
4 changed files with 16 additions and 11 deletions
|
|
@ -70,6 +70,7 @@ const (
|
||||||
SDWARFRANGE
|
SDWARFRANGE
|
||||||
SDWARFLOC
|
SDWARFLOC
|
||||||
SDWARFLINES
|
SDWARFLINES
|
||||||
|
SDWARFADDR
|
||||||
// Coverage instrumentation counter for libfuzzer.
|
// Coverage instrumentation counter for libfuzzer.
|
||||||
SLIBFUZZER_8BIT_COUNTER
|
SLIBFUZZER_8BIT_COUNTER
|
||||||
// Coverage instrumentation counter, aux variable for cmd/cover
|
// Coverage instrumentation counter, aux variable for cmd/cover
|
||||||
|
|
|
||||||
|
|
@ -29,15 +29,16 @@ func _() {
|
||||||
_ = x[SDWARFRANGE-18]
|
_ = x[SDWARFRANGE-18]
|
||||||
_ = x[SDWARFLOC-19]
|
_ = x[SDWARFLOC-19]
|
||||||
_ = x[SDWARFLINES-20]
|
_ = x[SDWARFLINES-20]
|
||||||
_ = x[SLIBFUZZER_8BIT_COUNTER-21]
|
_ = x[SDWARFADDR-21]
|
||||||
_ = x[SCOVERAGE_COUNTER-22]
|
_ = x[SLIBFUZZER_8BIT_COUNTER-22]
|
||||||
_ = x[SCOVERAGE_AUXVAR-23]
|
_ = x[SCOVERAGE_COUNTER-23]
|
||||||
_ = x[SSEHUNWINDINFO-24]
|
_ = x[SCOVERAGE_AUXVAR-24]
|
||||||
|
_ = x[SSEHUNWINDINFO-25]
|
||||||
}
|
}
|
||||||
|
|
||||||
const _SymKind_name = "SxxxSTEXTSTEXTFIPSSRODATASRODATAFIPSSNOPTRDATASNOPTRDATAFIPSSDATASDATAFIPSSBSSSNOPTRBSSSTLSBSSSDWARFCUINFOSDWARFCONSTSDWARFFCNSDWARFABSFCNSDWARFTYPESDWARFVARSDWARFRANGESDWARFLOCSDWARFLINESSLIBFUZZER_8BIT_COUNTERSCOVERAGE_COUNTERSCOVERAGE_AUXVARSSEHUNWINDINFO"
|
const _SymKind_name = "SxxxSTEXTSTEXTFIPSSRODATASRODATAFIPSSNOPTRDATASNOPTRDATAFIPSSDATASDATAFIPSSBSSSNOPTRBSSSTLSBSSSDWARFCUINFOSDWARFCONSTSDWARFFCNSDWARFABSFCNSDWARFTYPESDWARFVARSDWARFRANGESDWARFLOCSDWARFLINESSDWARFADDRSLIBFUZZER_8BIT_COUNTERSCOVERAGE_COUNTERSCOVERAGE_AUXVARSSEHUNWINDINFO"
|
||||||
|
|
||||||
var _SymKind_index = [...]uint16{0, 4, 9, 18, 25, 36, 46, 60, 65, 74, 78, 87, 94, 106, 117, 126, 138, 148, 157, 168, 177, 188, 211, 228, 244, 258}
|
var _SymKind_index = [...]uint16{0, 4, 9, 18, 25, 36, 46, 60, 65, 74, 78, 87, 94, 106, 117, 126, 138, 148, 157, 168, 177, 188, 198, 221, 238, 254, 268}
|
||||||
|
|
||||||
func (i SymKind) String() string {
|
func (i SymKind) String() string {
|
||||||
if i >= SymKind(len(_SymKind_index)-1) {
|
if i >= SymKind(len(_SymKind_index)-1) {
|
||||||
|
|
|
||||||
|
|
@ -141,6 +141,7 @@ const (
|
||||||
SDWARFRANGE
|
SDWARFRANGE
|
||||||
SDWARFLOC
|
SDWARFLOC
|
||||||
SDWARFLINES
|
SDWARFLINES
|
||||||
|
SDWARFADDR
|
||||||
|
|
||||||
// SEH symbol types
|
// SEH symbol types
|
||||||
SSEHUNWINDINFO
|
SSEHUNWINDINFO
|
||||||
|
|
@ -171,6 +172,7 @@ var AbiSymKindToSymKind = [...]SymKind{
|
||||||
objabi.SDWARFRANGE: SDWARFRANGE,
|
objabi.SDWARFRANGE: SDWARFRANGE,
|
||||||
objabi.SDWARFLOC: SDWARFLOC,
|
objabi.SDWARFLOC: SDWARFLOC,
|
||||||
objabi.SDWARFLINES: SDWARFLINES,
|
objabi.SDWARFLINES: SDWARFLINES,
|
||||||
|
objabi.SDWARFADDR: SDWARFADDR,
|
||||||
objabi.SLIBFUZZER_8BIT_COUNTER: SLIBFUZZER_8BIT_COUNTER,
|
objabi.SLIBFUZZER_8BIT_COUNTER: SLIBFUZZER_8BIT_COUNTER,
|
||||||
objabi.SCOVERAGE_COUNTER: SCOVERAGE_COUNTER,
|
objabi.SCOVERAGE_COUNTER: SCOVERAGE_COUNTER,
|
||||||
objabi.SCOVERAGE_AUXVAR: SCOVERAGE_AUXVAR,
|
objabi.SCOVERAGE_AUXVAR: SCOVERAGE_AUXVAR,
|
||||||
|
|
@ -232,5 +234,5 @@ func (t SymKind) IsNOPTRDATA() bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t SymKind) IsDWARF() bool {
|
func (t SymKind) IsDWARF() bool {
|
||||||
return SDWARFSECT <= t && t <= SDWARFLINES
|
return SDWARFSECT <= t && t <= SDWARFADDR
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -85,13 +85,14 @@ func _() {
|
||||||
_ = x[SDWARFRANGE-74]
|
_ = x[SDWARFRANGE-74]
|
||||||
_ = x[SDWARFLOC-75]
|
_ = x[SDWARFLOC-75]
|
||||||
_ = x[SDWARFLINES-76]
|
_ = x[SDWARFLINES-76]
|
||||||
_ = x[SSEHUNWINDINFO-77]
|
_ = x[SDWARFADDR-77]
|
||||||
_ = x[SSEHSECT-78]
|
_ = x[SSEHUNWINDINFO-78]
|
||||||
|
_ = x[SSEHSECT-79]
|
||||||
}
|
}
|
||||||
|
|
||||||
const _SymKind_name = "SxxxSTEXTSTEXTFIPSSTARTSTEXTFIPSSTEXTFIPSENDSTEXTENDSELFRXSECTSMACHOPLTSTYPESSTRINGSGOSTRINGSGOFUNCSGCBITSSRODATASRODATAFIPSSTARTSRODATAFIPSSRODATAFIPSENDSRODATAENDSFUNCTABSELFROSECTSTYPERELROSSTRINGRELROSGOSTRINGRELROSGOFUNCRELROSGCBITSRELROSRODATARELROSFUNCTABRELROSELFRELROSECTSTYPELINKSITABLINKSSYMTABSPCLNTABSFirstWritableSBUILDINFOSFIPSINFOSELFSECTSMACHOSMACHOGOTSWINDOWSSELFGOTSNOPTRDATASNOPTRDATAFIPSSTARTSNOPTRDATAFIPSSNOPTRDATAFIPSENDSNOPTRDATAENDSINITARRSDATASDATAFIPSSTARTSDATAFIPSSDATAFIPSENDSDATAENDSXCOFFTOCSBSSSNOPTRBSSSLIBFUZZER_8BIT_COUNTERSCOVERAGE_COUNTERSCOVERAGE_AUXVARSTLSBSSSXREFSMACHOSYMSTRSMACHOSYMTABSMACHOINDIRECTPLTSMACHOINDIRECTGOTSFILEPATHSDYNIMPORTSHOSTOBJSUNDEFEXTSDWARFSECTSDWARFCUINFOSDWARFCONSTSDWARFFCNSDWARFABSFCNSDWARFTYPESDWARFVARSDWARFRANGESDWARFLOCSDWARFLINESSSEHUNWINDINFOSSEHSECT"
|
const _SymKind_name = "SxxxSTEXTSTEXTFIPSSTARTSTEXTFIPSSTEXTFIPSENDSTEXTENDSELFRXSECTSMACHOPLTSTYPESSTRINGSGOSTRINGSGOFUNCSGCBITSSRODATASRODATAFIPSSTARTSRODATAFIPSSRODATAFIPSENDSRODATAENDSFUNCTABSELFROSECTSTYPERELROSSTRINGRELROSGOSTRINGRELROSGOFUNCRELROSGCBITSRELROSRODATARELROSFUNCTABRELROSELFRELROSECTSTYPELINKSITABLINKSSYMTABSPCLNTABSFirstWritableSBUILDINFOSFIPSINFOSELFSECTSMACHOSMACHOGOTSWINDOWSSELFGOTSNOPTRDATASNOPTRDATAFIPSSTARTSNOPTRDATAFIPSSNOPTRDATAFIPSENDSNOPTRDATAENDSINITARRSDATASDATAFIPSSTARTSDATAFIPSSDATAFIPSENDSDATAENDSXCOFFTOCSBSSSNOPTRBSSSLIBFUZZER_8BIT_COUNTERSCOVERAGE_COUNTERSCOVERAGE_AUXVARSTLSBSSSXREFSMACHOSYMSTRSMACHOSYMTABSMACHOINDIRECTPLTSMACHOINDIRECTGOTSFILEPATHSDYNIMPORTSHOSTOBJSUNDEFEXTSDWARFSECTSDWARFCUINFOSDWARFCONSTSDWARFFCNSDWARFABSFCNSDWARFTYPESDWARFVARSDWARFRANGESDWARFLOCSDWARFLINESSDWARFADDRSSEHUNWINDINFOSSEHSECT"
|
||||||
|
|
||||||
var _SymKind_index = [...]uint16{0, 4, 9, 23, 32, 44, 52, 62, 71, 76, 83, 92, 99, 106, 113, 129, 140, 154, 164, 172, 182, 192, 204, 218, 230, 242, 254, 267, 280, 289, 298, 305, 313, 327, 337, 346, 354, 360, 369, 377, 384, 394, 413, 427, 444, 457, 465, 470, 484, 493, 505, 513, 522, 526, 535, 558, 575, 591, 598, 603, 615, 627, 644, 661, 670, 680, 688, 697, 707, 719, 730, 739, 751, 761, 770, 781, 790, 801, 815, 823}
|
var _SymKind_index = [...]uint16{0, 4, 9, 23, 32, 44, 52, 62, 71, 76, 83, 92, 99, 106, 113, 129, 140, 154, 164, 172, 182, 192, 204, 218, 230, 242, 254, 267, 280, 289, 298, 305, 313, 327, 337, 346, 354, 360, 369, 377, 384, 394, 413, 427, 444, 457, 465, 470, 484, 493, 505, 513, 522, 526, 535, 558, 575, 591, 598, 603, 615, 627, 644, 661, 670, 680, 688, 697, 707, 719, 730, 739, 751, 761, 770, 781, 790, 801, 811, 825, 833}
|
||||||
|
|
||||||
func (i SymKind) String() string {
|
func (i SymKind) String() string {
|
||||||
if i >= SymKind(len(_SymKind_index)-1) {
|
if i >= SymKind(len(_SymKind_index)-1) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue