The controller imports mesh-host/validate through a replace onto the forge that holds it, and every build — the build agent's go build in a fresh toolchain container, the Dockerfile's go mod download — would have fetched it through the public proxy and checksum database at build time: a merge breaking main on the network, the class Phase 1 removes. vendor/ is committed; go builds from it with nothing fetched, and refuses to build when it and go.mod disagree, so a pin moved without go mod vendor fails at once. The Dockerfile copies vendor/ and builds with GOPROXY=off.
18 lines
582 B
ArmAsm
18 lines
582 B
ArmAsm
// Copyright 2026 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
//go:build gc
|
|
|
|
#include "textflag.h"
|
|
|
|
// Read the vector register length in bytes from the vlenb CSR.
|
|
// May only be called when the vector extension is present.
|
|
// func readVLENB() uint
|
|
TEXT ·readVLENB(SB), NOSPLIT|NOFRAME, $0-8
|
|
// Go 1.25's assembler does not recognize VLENB, so use its raw CSRR encoding.
|
|
// Replace WORD with CSRR VLENB, X10 once go.mod requires Go 1.27.
|
|
WORD $0xc2202573
|
|
MOV X10, ret+0(FP)
|
|
RET
|