diff options
| author | Keith Randall <khr@golang.org> | 2024-09-25 22:34:43 -0700 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2024-11-18 20:36:14 +0000 |
| commit | 45869f5931554f0db1169bc268db7ffd8d400e9e (patch) | |
| tree | 944c0783044e53eac41c9176ad73ba0ac8aca3de /src/cmd/link/internal/ld/lib.go | |
| parent | 7588cc9b00ec570043c1ee699eace8aa69c106c0 (diff) | |
| download | go-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.go | 8 |
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, |
