Internal change.

PiperOrigin-RevId: 702733881
This commit is contained in:
gVisor bot
2024-12-04 08:26:45 -08:00
parent f551298175
commit b78f2ee7c4
4 changed files with 16 additions and 14 deletions
+1
View File
@@ -29,6 +29,7 @@ go_library(
"runtime_constants.go",
"runtime_exectracer2.go",
"runtime_go121_unsafe.go",
"runtime_go124_unsafe.go",
"runtime_not_go121_unsafe.go",
"runtime_other.go",
"runtime_spinning_amd64.s",
+1 -1
View File
@@ -3,7 +3,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build go1.21
//go:build go1.21 && !go1.24
package sync
+14
View File
@@ -0,0 +1,14 @@
// Copyright 2024 The gVisor Authors.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build go1.24
package sync
import "unsafe"
// Use checkoffset to assert that maptype.hasher (the only field we use) has
// the correct offset.
const maptypeHasherOffset = unsafe.Offsetof(maptype{}.Hasher) // +checkoffset internal/abi SwissMapType.Hasher
-13
View File
@@ -142,19 +142,6 @@ func extractFacts(pass *analysis.Pass) {
// Accumulate all facts.
c.walkScope(pass, make([]string, 0, 128), pass.Pkg.Scope())
// "MapType" was renamed to "OldMapType" in go.dev/cl/580779, but there
// are a number of nogo tests that rely on MapType.Hasher to be present.
// Rolling out that change without breaking nogo tests is means that we
// need to support both names for a short while until we can use the go1.24
// build tag to fix the issue in sources.
//
// TODO(floriank): Remove once no longer needed
if pass.Pkg.Path() == "internal/abi" {
if cc, ok := c.Offsets["OldMapType.Hasher"]; ok {
c.Offsets["MapType.Hasher"] = cc
}
}
pass.ExportPackageFact(&c)
}