diff options
| author | Cherry Mui <cherryyz@google.com> | 2024-12-12 13:03:49 -0500 |
|---|---|---|
| committer | Cherry Mui <cherryyz@google.com> | 2024-12-12 11:54:53 -0800 |
| commit | fb764cdad03ae2e500100b691f77cbd0d22b7d9c (patch) | |
| tree | 02ba081a693eaf8ea41ec913798e25cb4a4b0f50 /src/cmd/link/internal | |
| parent | 9118060040ab7af4d384c2c1e2862673e2bbb8c3 (diff) | |
| download | go-fb764cdad03ae2e500100b691f77cbd0d22b7d9c.tar.xz | |
cmd/link: block new standard library linknames
In Go 1.24 we added a number of new linknames for standard library
internal uses. Add them to the linker's blocklist to keep them
internal.
Change-Id: Ibb7fa095506c161604e978ae196a7cf248475b2e
Reviewed-on: https://go-review.googlesource.com/c/go/+/635676
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Diffstat (limited to 'src/cmd/link/internal')
| -rw-r--r-- | src/cmd/link/internal/loader/loader.go | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/cmd/link/internal/loader/loader.go b/src/cmd/link/internal/loader/loader.go index 6fe895a840..e7cc30ab07 100644 --- a/src/cmd/link/internal/loader/loader.go +++ b/src/cmd/link/internal/loader/loader.go @@ -2338,6 +2338,45 @@ var blockedLinknames = map[string][]string{ "runtime.newcoro": {"iter"}, // fips info "go:fipsinfo": {"crypto/internal/fips140/check"}, + // New internal linknames in Go 1.24 + // Pushed from runtime + "crypto/internal/fips140.fatal": {"crypto/internal/fips140"}, + "crypto/internal/fips140.getIndicator": {"crypto/internal/fips140"}, + "crypto/internal/fips140.setIndicator": {"crypto/internal/fips140"}, + "crypto/internal/sysrand.fatal": {"crypto/internal/sysrand"}, + "crypto/rand.fatal": {"crypto/rand"}, + "internal/runtime/maps.errNilAssign": {"internal/runtime/maps"}, + "internal/runtime/maps.fatal": {"internal/runtime/maps"}, + "internal/runtime/maps.mapKeyError": {"internal/runtime/maps"}, + "internal/runtime/maps.newarray": {"internal/runtime/maps"}, + "internal/runtime/maps.newobject": {"internal/runtime/maps"}, + "internal/runtime/maps.typedmemclr": {"internal/runtime/maps"}, + "internal/runtime/maps.typedmemmove": {"internal/runtime/maps"}, + "internal/sync.fatal": {"internal/sync"}, + "internal/sync.runtime_canSpin": {"internal/sync"}, + "internal/sync.runtime_doSpin": {"internal/sync"}, + "internal/sync.runtime_nanotime": {"internal/sync"}, + "internal/sync.runtime_Semrelease": {"internal/sync"}, + "internal/sync.runtime_SemacquireMutex": {"internal/sync"}, + "internal/sync.throw": {"internal/sync"}, + "internal/synctest.Run": {"internal/synctest"}, + "internal/synctest.Wait": {"internal/synctest"}, + "internal/synctest.acquire": {"internal/synctest"}, + "internal/synctest.release": {"internal/synctest"}, + "internal/synctest.inBubble": {"internal/synctest"}, + "runtime.getStaticuint64s": {"reflect"}, + "sync.runtime_SemacquireWaitGroup": {"sync"}, + "time.runtimeNow": {"time"}, + "time.runtimeNano": {"time"}, + // Pushed to runtime from internal/runtime/maps + // (other map functions are already linknamed in Go 1.23) + "runtime.mapaccess1": {"runtime"}, + "runtime.mapaccess1_fast32": {"runtime"}, + "runtime.mapaccess1_fast64": {"runtime"}, + "runtime.mapaccess1_faststr": {"runtime"}, + "runtime.mapdelete_fast32": {"runtime"}, + "runtime.mapdelete_fast64": {"runtime"}, + "runtime.mapdelete_faststr": {"runtime"}, } // check if a linkname reference to symbol s from pkg is allowed |
