}
ldr := ctxt.loader
+ // SMODULEDATA needs to be writable, but the GC doesn't need to
+ // look at it. We don't use allocateSingleSymSections because
+ // the name of the section is not the name of the symbol.
+ if len(state.data[sym.SMODULEDATA]) > 0 {
+ if len(state.data[sym.SMODULEDATA]) != 1 {
+ Errorf("internal error: more than one SMODULEDATA symbol")
+ }
+ s := state.data[sym.SMODULEDATA][0]
+ sect := addsection(ldr, ctxt.Arch, &Segdata, ".go.module", 06)
+ sect.Align = symalign(ldr, s)
+ state.datsize = Rnd(state.datsize, int64(sect.Align))
+ sect.Vaddr = uint64(state.datsize)
+ ldr.SetSymSect(s, sect)
+ state.setSymType(s, sym.SDATA)
+ ldr.SetSymValue(s, int64(uint64(state.datsize)-sect.Vaddr))
+ state.datsize += ldr.SymSize(s)
+ sect.Length = uint64(state.datsize) - sect.Vaddr
+ state.checkdatsize(sym.SMODULEDATA)
+ }
+
// writable .got (note that for PIE binaries .got goes in relro)
if len(state.data[sym.SELFGOT]) > 0 {
state.allocateNamedSectionAndAssignSyms(&Segdata, ".got", sym.SELFGOT, sym.SDATA, 06)
_ = x[SFIPSINFO-34]
_ = x[SELFSECT-35]
_ = x[SMACHO-36]
- _ = x[SMACHOGOT-37]
- _ = x[SWINDOWS-38]
+ _ = x[SWINDOWS-37]
+ _ = x[SMODULEDATA-38]
_ = x[SELFGOT-39]
- _ = x[SNOPTRDATA-40]
- _ = x[SNOPTRDATAFIPSSTART-41]
- _ = x[SNOPTRDATAFIPS-42]
- _ = x[SNOPTRDATAFIPSEND-43]
- _ = x[SNOPTRDATAEND-44]
- _ = x[SINITARR-45]
- _ = x[SDATA-46]
- _ = x[SDATAFIPSSTART-47]
- _ = x[SDATAFIPS-48]
- _ = x[SDATAFIPSEND-49]
- _ = x[SDATAEND-50]
- _ = x[SXCOFFTOC-51]
- _ = x[SBSS-52]
- _ = x[SNOPTRBSS-53]
- _ = x[SLIBFUZZER_8BIT_COUNTER-54]
- _ = x[SCOVERAGE_COUNTER-55]
- _ = x[SCOVERAGE_AUXVAR-56]
- _ = x[STLSBSS-57]
- _ = x[SFirstUnallocated-58]
- _ = x[SXREF-59]
- _ = x[SMACHOSYMSTR-60]
- _ = x[SMACHOSYMTAB-61]
- _ = x[SMACHOINDIRECTPLT-62]
- _ = x[SMACHOINDIRECTGOT-63]
- _ = x[SDYNIMPORT-64]
- _ = x[SHOSTOBJ-65]
- _ = x[SUNDEFEXT-66]
- _ = x[SDWARFSECT-67]
- _ = x[SDWARFCUINFO-68]
- _ = x[SDWARFCONST-69]
- _ = x[SDWARFFCN-70]
- _ = x[SDWARFABSFCN-71]
- _ = x[SDWARFTYPE-72]
- _ = x[SDWARFVAR-73]
- _ = x[SDWARFRANGE-74]
- _ = x[SDWARFLOC-75]
- _ = x[SDWARFLINES-76]
- _ = x[SDWARFADDR-77]
- _ = x[SSEHUNWINDINFO-78]
- _ = x[SSEHSECT-79]
+ _ = x[SMACHOGOT-40]
+ _ = x[SNOPTRDATA-41]
+ _ = x[SNOPTRDATAFIPSSTART-42]
+ _ = x[SNOPTRDATAFIPS-43]
+ _ = x[SNOPTRDATAFIPSEND-44]
+ _ = x[SNOPTRDATAEND-45]
+ _ = x[SINITARR-46]
+ _ = x[SDATA-47]
+ _ = x[SDATAFIPSSTART-48]
+ _ = x[SDATAFIPS-49]
+ _ = x[SDATAFIPSEND-50]
+ _ = x[SDATAEND-51]
+ _ = x[SXCOFFTOC-52]
+ _ = x[SBSS-53]
+ _ = x[SNOPTRBSS-54]
+ _ = x[SLIBFUZZER_8BIT_COUNTER-55]
+ _ = x[SCOVERAGE_COUNTER-56]
+ _ = x[SCOVERAGE_AUXVAR-57]
+ _ = x[STLSBSS-58]
+ _ = x[SFirstUnallocated-59]
+ _ = x[SXREF-60]
+ _ = x[SMACHOSYMSTR-61]
+ _ = x[SMACHOSYMTAB-62]
+ _ = x[SMACHOINDIRECTPLT-63]
+ _ = x[SMACHOINDIRECTGOT-64]
+ _ = x[SDYNIMPORT-65]
+ _ = x[SHOSTOBJ-66]
+ _ = x[SUNDEFEXT-67]
+ _ = x[SDWARFSECT-68]
+ _ = x[SDWARFCUINFO-69]
+ _ = x[SDWARFCONST-70]
+ _ = x[SDWARFFCN-71]
+ _ = x[SDWARFABSFCN-72]
+ _ = x[SDWARFTYPE-73]
+ _ = x[SDWARFVAR-74]
+ _ = x[SDWARFRANGE-75]
+ _ = x[SDWARFLOC-76]
+ _ = x[SDWARFLINES-77]
+ _ = x[SDWARFADDR-78]
+ _ = x[SSEHUNWINDINFO-79]
+ _ = x[SSEHSECT-80]
}
-const _SymKind_name = "SxxxSTEXTSTEXTFIPSSTARTSTEXTFIPSSTEXTFIPSENDSTEXTENDSELFRXSECTSMACHOPLTSTYPESSTRINGSGOSTRINGSGOFUNCSGCBITSSRODATASRODATAFIPSSTARTSRODATAFIPSSRODATAFIPSENDSRODATAENDSFUNCTABSPCLNTABSELFROSECTSTYPERELROSSTRINGRELROSGOSTRINGRELROSGOFUNCRELROSGCBITSRELROSRODATARELROSFUNCTABRELROSELFRELROSECTSMACHORELROSECTSTYPELINKSITABLINKSFirstWritableSBUILDINFOSFIPSINFOSELFSECTSMACHOSMACHOGOTSWINDOWSSELFGOTSNOPTRDATASNOPTRDATAFIPSSTARTSNOPTRDATAFIPSSNOPTRDATAFIPSENDSNOPTRDATAENDSINITARRSDATASDATAFIPSSTARTSDATAFIPSSDATAFIPSENDSDATAENDSXCOFFTOCSBSSSNOPTRBSSSLIBFUZZER_8BIT_COUNTERSCOVERAGE_COUNTERSCOVERAGE_AUXVARSTLSBSSSFirstUnallocatedSXREFSMACHOSYMSTRSMACHOSYMTABSMACHOINDIRECTPLTSMACHOINDIRECTGOTSDYNIMPORTSHOSTOBJSUNDEFEXTSDWARFSECTSDWARFCUINFOSDWARFCONSTSDWARFFCNSDWARFABSFCNSDWARFTYPESDWARFVARSDWARFRANGESDWARFLOCSDWARFLINESSDWARFADDRSSEHUNWINDINFOSSEHSECT"
+const _SymKind_name = "SxxxSTEXTSTEXTFIPSSTARTSTEXTFIPSSTEXTFIPSENDSTEXTENDSELFRXSECTSMACHOPLTSTYPESSTRINGSGOSTRINGSGOFUNCSGCBITSSRODATASRODATAFIPSSTARTSRODATAFIPSSRODATAFIPSENDSRODATAENDSFUNCTABSPCLNTABSELFROSECTSTYPERELROSSTRINGRELROSGOSTRINGRELROSGOFUNCRELROSGCBITSRELROSRODATARELROSFUNCTABRELROSELFRELROSECTSMACHORELROSECTSTYPELINKSITABLINKSFirstWritableSBUILDINFOSFIPSINFOSELFSECTSMACHOSWINDOWSSMODULEDATASELFGOTSMACHOGOTSNOPTRDATASNOPTRDATAFIPSSTARTSNOPTRDATAFIPSSNOPTRDATAFIPSENDSNOPTRDATAENDSINITARRSDATASDATAFIPSSTARTSDATAFIPSSDATAFIPSENDSDATAENDSXCOFFTOCSBSSSNOPTRBSSSLIBFUZZER_8BIT_COUNTERSCOVERAGE_COUNTERSCOVERAGE_AUXVARSTLSBSSSFirstUnallocatedSXREFSMACHOSYMSTRSMACHOSYMTABSMACHOINDIRECTPLTSMACHOINDIRECTGOTSDYNIMPORTSHOSTOBJSUNDEFEXTSDWARFSECTSDWARFCUINFOSDWARFCONSTSDWARFFCNSDWARFABSFCNSDWARFTYPESDWARFVARSDWARFRANGESDWARFLOCSDWARFLINESSDWARFADDRSSEHUNWINDINFOSSEHSECT"
-var _SymKind_index = [...]uint16{0, 4, 9, 23, 32, 44, 52, 62, 71, 76, 83, 92, 99, 106, 113, 129, 140, 154, 164, 172, 180, 190, 200, 212, 226, 238, 250, 262, 275, 288, 303, 312, 321, 335, 345, 354, 362, 368, 377, 385, 392, 402, 421, 435, 452, 465, 473, 478, 492, 501, 513, 521, 530, 534, 543, 566, 583, 599, 606, 623, 628, 640, 652, 669, 686, 696, 704, 713, 723, 735, 746, 755, 767, 777, 786, 797, 806, 817, 827, 841, 849}
+var _SymKind_index = [...]uint16{0, 4, 9, 23, 32, 44, 52, 62, 71, 76, 83, 92, 99, 106, 113, 129, 140, 154, 164, 172, 180, 190, 200, 212, 226, 238, 250, 262, 275, 288, 303, 312, 321, 335, 345, 354, 362, 368, 376, 387, 394, 403, 413, 432, 446, 463, 476, 484, 489, 503, 512, 524, 532, 541, 545, 554, 577, 594, 610, 617, 634, 639, 651, 663, 680, 697, 707, 715, 724, 734, 746, 757, 766, 778, 788, 797, 808, 817, 828, 838, 852, 860}
func (i SymKind) String() string {
if i >= SymKind(len(_SymKind_index)-1) {