aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/link/internal/ld/lib.go
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2024-09-25 22:34:43 -0700
committerKeith Randall <khr@golang.org>2024-11-18 20:36:14 +0000
commit45869f5931554f0db1169bc268db7ffd8d400e9e (patch)
tree944c0783044e53eac41c9176ad73ba0ac8aca3de /src/cmd/link/internal/ld/lib.go
parent7588cc9b00ec570043c1ee699eace8aa69c106c0 (diff)
downloadgo-45869f5931554f0db1169bc268db7ffd8d400e9e.tar.xz
runtime: get rid of gc programs for types
Instead, have the runtime build the gc bitmaps on demand at runtime. Change-Id: If7a245bc62e4bce3ce80972410b0ed307d921abe Reviewed-on: https://go-review.googlesource.com/c/go/+/616255 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Keith Randall <khr@google.com>
Diffstat (limited to 'src/cmd/link/internal/ld/lib.go')
-rw-r--r--src/cmd/link/internal/ld/lib.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
index 48bdf73b3b..0d38593ec7 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
@@ -879,13 +879,13 @@ func (ctxt *Link) linksetup() {
if ctxt.Arch.Family == sys.ARM {
goarm := ctxt.loader.LookupOrCreateSym("runtime.goarm", 0)
sb := ctxt.loader.MakeSymbolUpdater(goarm)
- sb.SetType(sym.SDATA)
+ sb.SetType(sym.SNOPTRDATA)
sb.SetSize(0)
sb.AddUint8(uint8(buildcfg.GOARM.Version))
goarmsoftfp := ctxt.loader.LookupOrCreateSym("runtime.goarmsoftfp", 0)
sb2 := ctxt.loader.MakeSymbolUpdater(goarmsoftfp)
- sb2.SetType(sym.SDATA)
+ sb2.SetType(sym.SNOPTRDATA)
sb2.SetSize(0)
if buildcfg.GOARM.SoftFloat {
sb2.AddUint8(1)
@@ -901,7 +901,7 @@ func (ctxt *Link) linksetup() {
if memProfile != 0 && !ctxt.loader.AttrReachable(memProfile) && !ctxt.DynlinkingGo() {
memProfSym := ctxt.loader.LookupOrCreateSym("runtime.disableMemoryProfiling", 0)
sb := ctxt.loader.MakeSymbolUpdater(memProfSym)
- sb.SetType(sym.SDATA)
+ sb.SetType(sym.SNOPTRDATA)
sb.SetSize(0)
sb.AddUint8(1) // true bool
}
@@ -962,7 +962,7 @@ func (ctxt *Link) mangleTypeSym() {
ldr := ctxt.loader
for s := loader.Sym(1); s < loader.Sym(ldr.NSym()); s++ {
if !ldr.AttrReachable(s) && !ctxt.linkShared {
- // If -linkshared, the GCProg generation code may need to reach
+ // If -linkshared, the gc mask generation code may need to reach
// out to the shared library for the type descriptor's data, even
// the type descriptor itself is not actually needed at run time
// (therefore not reachable). We still need to mangle its name,