Update linux-x86 Go prebuilts from ab/7064006 am: 0f0f207a3a am: 513c0a9b9d am: 796a507eb8
Original change: https://android-review.googlesource.com/c/platform/prebuilts/go/linux-x86/+/1541487
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I2cc43dc5482b7c037285c886cc7b137727bc9d21
diff --git a/VERSION b/VERSION
index 93c7b2d..ea3b51f 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-go1.15.3
+go1.15.6
\ No newline at end of file
diff --git a/bin/go b/bin/go
index 0f04049..94dd632 100755
--- a/bin/go
+++ b/bin/go
Binary files differ
diff --git a/bin/gofmt b/bin/gofmt
index f842d61..2c02aa2 100755
--- a/bin/gofmt
+++ b/bin/gofmt
Binary files differ
diff --git a/misc/cgo/errors/badsym_test.go b/misc/cgo/errors/badsym_test.go
new file mode 100644
index 0000000..b2701bf
--- /dev/null
+++ b/misc/cgo/errors/badsym_test.go
@@ -0,0 +1,216 @@
+// Copyright 2020 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.
+
+package errorstest
+
+import (
+ "bytes"
+ "io/ioutil"
+ "os"
+ "os/exec"
+ "path/filepath"
+ "strings"
+ "testing"
+ "unicode"
+)
+
+// A manually modified object file could pass unexpected characters
+// into the files generated by cgo.
+
+const magicInput = "abcdefghijklmnopqrstuvwxyz0123"
+const magicReplace = "\n//go:cgo_ldflag \"-badflag\"\n//"
+
+const cSymbol = "BadSymbol" + magicInput + "Name"
+const cDefSource = "int " + cSymbol + " = 1;"
+const cRefSource = "extern int " + cSymbol + "; int F() { return " + cSymbol + "; }"
+
+// goSource is the source code for the trivial Go file we use.
+// We will replace TMPDIR with the temporary directory name.
+const goSource = `
+package main
+
+// #cgo LDFLAGS: TMPDIR/cbad.o TMPDIR/cbad.so
+// extern int F();
+import "C"
+
+func main() {
+ println(C.F())
+}
+`
+
+func TestBadSymbol(t *testing.T) {
+ dir := t.TempDir()
+
+ mkdir := func(base string) string {
+ ret := filepath.Join(dir, base)
+ if err := os.Mkdir(ret, 0755); err != nil {
+ t.Fatal(err)
+ }
+ return ret
+ }
+
+ cdir := mkdir("c")
+ godir := mkdir("go")
+
+ makeFile := func(mdir, base, source string) string {
+ ret := filepath.Join(mdir, base)
+ if err := ioutil.WriteFile(ret, []byte(source), 0644); err != nil {
+ t.Fatal(err)
+ }
+ return ret
+ }
+
+ cDefFile := makeFile(cdir, "cdef.c", cDefSource)
+ cRefFile := makeFile(cdir, "cref.c", cRefSource)
+
+ ccCmd := cCompilerCmd(t)
+
+ cCompile := func(arg, base, src string) string {
+ out := filepath.Join(cdir, base)
+ run := append(ccCmd, arg, "-o", out, src)
+ output, err := exec.Command(run[0], run[1:]...).CombinedOutput()
+ if err != nil {
+ t.Log(run)
+ t.Logf("%s", output)
+ t.Fatal(err)
+ }
+ if err := os.Remove(src); err != nil {
+ t.Fatal(err)
+ }
+ return out
+ }
+
+ // Build a shared library that defines a symbol whose name
+ // contains magicInput.
+
+ cShared := cCompile("-shared", "c.so", cDefFile)
+
+ // Build an object file that refers to the symbol whose name
+ // contains magicInput.
+
+ cObj := cCompile("-c", "c.o", cRefFile)
+
+ // Rewrite the shared library and the object file, replacing
+ // magicInput with magicReplace. This will have the effect of
+ // introducing a symbol whose name looks like a cgo command.
+ // The cgo tool will use that name when it generates the
+ // _cgo_import.go file, thus smuggling a magic //go:cgo_ldflag
+ // pragma into a Go file. We used to not check the pragmas in
+ // _cgo_import.go.
+
+ rewrite := func(from, to string) {
+ obj, err := ioutil.ReadFile(from)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if bytes.Count(obj, []byte(magicInput)) == 0 {
+ t.Fatalf("%s: did not find magic string", from)
+ }
+
+ if len(magicInput) != len(magicReplace) {
+ t.Fatalf("internal test error: different magic lengths: %d != %d", len(magicInput), len(magicReplace))
+ }
+
+ obj = bytes.ReplaceAll(obj, []byte(magicInput), []byte(magicReplace))
+
+ if err := ioutil.WriteFile(to, obj, 0644); err != nil {
+ t.Fatal(err)
+ }
+ }
+
+ cBadShared := filepath.Join(godir, "cbad.so")
+ rewrite(cShared, cBadShared)
+
+ cBadObj := filepath.Join(godir, "cbad.o")
+ rewrite(cObj, cBadObj)
+
+ goSourceBadObject := strings.ReplaceAll(goSource, "TMPDIR", godir)
+ makeFile(godir, "go.go", goSourceBadObject)
+
+ makeFile(godir, "go.mod", "module badsym")
+
+ // Try to build our little package.
+ cmd := exec.Command("go", "build", "-ldflags=-v")
+ cmd.Dir = godir
+ output, err := cmd.CombinedOutput()
+
+ // The build should fail, but we want it to fail because we
+ // detected the error, not because we passed a bad flag to the
+ // C linker.
+
+ if err == nil {
+ t.Errorf("go build succeeded unexpectedly")
+ }
+
+ t.Logf("%s", output)
+
+ for _, line := range bytes.Split(output, []byte("\n")) {
+ if bytes.Contains(line, []byte("dynamic symbol")) && bytes.Contains(line, []byte("contains unsupported character")) {
+ // This is the error from cgo.
+ continue
+ }
+
+ // We passed -ldflags=-v to see the external linker invocation,
+ // which should not include -badflag.
+ if bytes.Contains(line, []byte("-badflag")) {
+ t.Error("output should not mention -badflag")
+ }
+
+ // Also check for compiler errors, just in case.
+ // GCC says "unrecognized command line option".
+ // clang says "unknown argument".
+ if bytes.Contains(line, []byte("unrecognized")) || bytes.Contains(output, []byte("unknown")) {
+ t.Error("problem should have been caught before invoking C linker")
+ }
+ }
+}
+
+func cCompilerCmd(t *testing.T) []string {
+ cc := []string{goEnv(t, "CC")}
+
+ out := goEnv(t, "GOGCCFLAGS")
+ quote := '\000'
+ start := 0
+ lastSpace := true
+ backslash := false
+ s := string(out)
+ for i, c := range s {
+ if quote == '\000' && unicode.IsSpace(c) {
+ if !lastSpace {
+ cc = append(cc, s[start:i])
+ lastSpace = true
+ }
+ } else {
+ if lastSpace {
+ start = i
+ lastSpace = false
+ }
+ if quote == '\000' && !backslash && (c == '"' || c == '\'') {
+ quote = c
+ backslash = false
+ } else if !backslash && quote == c {
+ quote = '\000'
+ } else if (quote == '\000' || quote == '"') && !backslash && c == '\\' {
+ backslash = true
+ } else {
+ backslash = false
+ }
+ }
+ }
+ if !lastSpace {
+ cc = append(cc, s[start:])
+ }
+ return cc
+}
+
+func goEnv(t *testing.T, key string) string {
+ out, err := exec.Command("go", "env", key).CombinedOutput()
+ if err != nil {
+ t.Logf("go env %s\n", key)
+ t.Logf("%s", out)
+ t.Fatal(err)
+ }
+ return strings.TrimSpace(string(out))
+}
diff --git a/pkg/linux_amd64/archive/tar.a b/pkg/linux_amd64/archive/tar.a
index 8655e64..c669d69 100644
--- a/pkg/linux_amd64/archive/tar.a
+++ b/pkg/linux_amd64/archive/tar.a
Binary files differ
diff --git a/pkg/linux_amd64/archive/zip.a b/pkg/linux_amd64/archive/zip.a
index 87c0d3e..7b57ebd 100644
--- a/pkg/linux_amd64/archive/zip.a
+++ b/pkg/linux_amd64/archive/zip.a
Binary files differ
diff --git a/pkg/linux_amd64/bufio.a b/pkg/linux_amd64/bufio.a
index 3239fe8..084d5b0 100644
--- a/pkg/linux_amd64/bufio.a
+++ b/pkg/linux_amd64/bufio.a
Binary files differ
diff --git a/pkg/linux_amd64/bytes.a b/pkg/linux_amd64/bytes.a
index 0eb7584..320823f 100644
--- a/pkg/linux_amd64/bytes.a
+++ b/pkg/linux_amd64/bytes.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/asm/internal/arch.a b/pkg/linux_amd64/cmd/asm/internal/arch.a
index c46a3e6..37d2d1d 100644
--- a/pkg/linux_amd64/cmd/asm/internal/arch.a
+++ b/pkg/linux_amd64/cmd/asm/internal/arch.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/asm/internal/asm.a b/pkg/linux_amd64/cmd/asm/internal/asm.a
index 61e2fb7..2fb6475 100644
--- a/pkg/linux_amd64/cmd/asm/internal/asm.a
+++ b/pkg/linux_amd64/cmd/asm/internal/asm.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/asm/internal/flags.a b/pkg/linux_amd64/cmd/asm/internal/flags.a
index 42b24a7..8a30eac 100644
--- a/pkg/linux_amd64/cmd/asm/internal/flags.a
+++ b/pkg/linux_amd64/cmd/asm/internal/flags.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/asm/internal/lex.a b/pkg/linux_amd64/cmd/asm/internal/lex.a
index 1c392bc..3de8b39 100644
--- a/pkg/linux_amd64/cmd/asm/internal/lex.a
+++ b/pkg/linux_amd64/cmd/asm/internal/lex.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/amd64.a b/pkg/linux_amd64/cmd/compile/internal/amd64.a
index 9ce1cb9..22d8fa8 100644
--- a/pkg/linux_amd64/cmd/compile/internal/amd64.a
+++ b/pkg/linux_amd64/cmd/compile/internal/amd64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/arm.a b/pkg/linux_amd64/cmd/compile/internal/arm.a
index efab0b9..799e2ef 100644
--- a/pkg/linux_amd64/cmd/compile/internal/arm.a
+++ b/pkg/linux_amd64/cmd/compile/internal/arm.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/arm64.a b/pkg/linux_amd64/cmd/compile/internal/arm64.a
index ef58a8e..3c1d388 100644
--- a/pkg/linux_amd64/cmd/compile/internal/arm64.a
+++ b/pkg/linux_amd64/cmd/compile/internal/arm64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/gc.a b/pkg/linux_amd64/cmd/compile/internal/gc.a
index b3959c1..9048286 100644
--- a/pkg/linux_amd64/cmd/compile/internal/gc.a
+++ b/pkg/linux_amd64/cmd/compile/internal/gc.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/logopt.a b/pkg/linux_amd64/cmd/compile/internal/logopt.a
index 655fc6b..6e9ec0c 100644
--- a/pkg/linux_amd64/cmd/compile/internal/logopt.a
+++ b/pkg/linux_amd64/cmd/compile/internal/logopt.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/mips.a b/pkg/linux_amd64/cmd/compile/internal/mips.a
index 107044a..25b83e5 100644
--- a/pkg/linux_amd64/cmd/compile/internal/mips.a
+++ b/pkg/linux_amd64/cmd/compile/internal/mips.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/mips64.a b/pkg/linux_amd64/cmd/compile/internal/mips64.a
index 7275ea3..da4f80d 100644
--- a/pkg/linux_amd64/cmd/compile/internal/mips64.a
+++ b/pkg/linux_amd64/cmd/compile/internal/mips64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/ppc64.a b/pkg/linux_amd64/cmd/compile/internal/ppc64.a
index b368e66..1d36277 100644
--- a/pkg/linux_amd64/cmd/compile/internal/ppc64.a
+++ b/pkg/linux_amd64/cmd/compile/internal/ppc64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/riscv64.a b/pkg/linux_amd64/cmd/compile/internal/riscv64.a
index adb41e2..e3863f6 100644
--- a/pkg/linux_amd64/cmd/compile/internal/riscv64.a
+++ b/pkg/linux_amd64/cmd/compile/internal/riscv64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/s390x.a b/pkg/linux_amd64/cmd/compile/internal/s390x.a
index 9680926..ad5f8c5 100644
--- a/pkg/linux_amd64/cmd/compile/internal/s390x.a
+++ b/pkg/linux_amd64/cmd/compile/internal/s390x.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/ssa.a b/pkg/linux_amd64/cmd/compile/internal/ssa.a
index 2ec463b..b983c23 100644
--- a/pkg/linux_amd64/cmd/compile/internal/ssa.a
+++ b/pkg/linux_amd64/cmd/compile/internal/ssa.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/syntax.a b/pkg/linux_amd64/cmd/compile/internal/syntax.a
index 12dce31..4794785 100644
--- a/pkg/linux_amd64/cmd/compile/internal/syntax.a
+++ b/pkg/linux_amd64/cmd/compile/internal/syntax.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/test.a b/pkg/linux_amd64/cmd/compile/internal/test.a
index 13465d6..131256c 100644
--- a/pkg/linux_amd64/cmd/compile/internal/test.a
+++ b/pkg/linux_amd64/cmd/compile/internal/test.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/types.a b/pkg/linux_amd64/cmd/compile/internal/types.a
index 88fea40..73e8339 100644
--- a/pkg/linux_amd64/cmd/compile/internal/types.a
+++ b/pkg/linux_amd64/cmd/compile/internal/types.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/wasm.a b/pkg/linux_amd64/cmd/compile/internal/wasm.a
index feeb4fd..5cdf569 100644
--- a/pkg/linux_amd64/cmd/compile/internal/wasm.a
+++ b/pkg/linux_amd64/cmd/compile/internal/wasm.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/compile/internal/x86.a b/pkg/linux_amd64/cmd/compile/internal/x86.a
index afef3e4..38c876f 100644
--- a/pkg/linux_amd64/cmd/compile/internal/x86.a
+++ b/pkg/linux_amd64/cmd/compile/internal/x86.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/auth.a b/pkg/linux_amd64/cmd/go/internal/auth.a
index 4c29809..f3f1f93 100644
--- a/pkg/linux_amd64/cmd/go/internal/auth.a
+++ b/pkg/linux_amd64/cmd/go/internal/auth.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/base.a b/pkg/linux_amd64/cmd/go/internal/base.a
index 226046e..b70547a 100644
--- a/pkg/linux_amd64/cmd/go/internal/base.a
+++ b/pkg/linux_amd64/cmd/go/internal/base.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/bug.a b/pkg/linux_amd64/cmd/go/internal/bug.a
index e5118a3..aa6ee6f 100644
--- a/pkg/linux_amd64/cmd/go/internal/bug.a
+++ b/pkg/linux_amd64/cmd/go/internal/bug.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/cache.a b/pkg/linux_amd64/cmd/go/internal/cache.a
index 404fb06..df80d44 100644
--- a/pkg/linux_amd64/cmd/go/internal/cache.a
+++ b/pkg/linux_amd64/cmd/go/internal/cache.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/cfg.a b/pkg/linux_amd64/cmd/go/internal/cfg.a
index 75fb565..0d9a655 100644
--- a/pkg/linux_amd64/cmd/go/internal/cfg.a
+++ b/pkg/linux_amd64/cmd/go/internal/cfg.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/clean.a b/pkg/linux_amd64/cmd/go/internal/clean.a
index 37feba7..1c55553 100644
--- a/pkg/linux_amd64/cmd/go/internal/clean.a
+++ b/pkg/linux_amd64/cmd/go/internal/clean.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/cmdflag.a b/pkg/linux_amd64/cmd/go/internal/cmdflag.a
index 49fe472..b5114a0 100644
--- a/pkg/linux_amd64/cmd/go/internal/cmdflag.a
+++ b/pkg/linux_amd64/cmd/go/internal/cmdflag.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/doc.a b/pkg/linux_amd64/cmd/go/internal/doc.a
index 33c329e..0c1d0c9 100644
--- a/pkg/linux_amd64/cmd/go/internal/doc.a
+++ b/pkg/linux_amd64/cmd/go/internal/doc.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/envcmd.a b/pkg/linux_amd64/cmd/go/internal/envcmd.a
index 1c73f27..7ae6912 100644
--- a/pkg/linux_amd64/cmd/go/internal/envcmd.a
+++ b/pkg/linux_amd64/cmd/go/internal/envcmd.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/fix.a b/pkg/linux_amd64/cmd/go/internal/fix.a
index 8a183b9..e3ef10e 100644
--- a/pkg/linux_amd64/cmd/go/internal/fix.a
+++ b/pkg/linux_amd64/cmd/go/internal/fix.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/fmtcmd.a b/pkg/linux_amd64/cmd/go/internal/fmtcmd.a
index b639762..8d55a26 100644
--- a/pkg/linux_amd64/cmd/go/internal/fmtcmd.a
+++ b/pkg/linux_amd64/cmd/go/internal/fmtcmd.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/generate.a b/pkg/linux_amd64/cmd/go/internal/generate.a
index 9543d75..b3bd724 100644
--- a/pkg/linux_amd64/cmd/go/internal/generate.a
+++ b/pkg/linux_amd64/cmd/go/internal/generate.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/get.a b/pkg/linux_amd64/cmd/go/internal/get.a
index b1b889f..3ac8f78 100644
--- a/pkg/linux_amd64/cmd/go/internal/get.a
+++ b/pkg/linux_amd64/cmd/go/internal/get.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/help.a b/pkg/linux_amd64/cmd/go/internal/help.a
index 4e71c3d..3b27ac4 100644
--- a/pkg/linux_amd64/cmd/go/internal/help.a
+++ b/pkg/linux_amd64/cmd/go/internal/help.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/imports.a b/pkg/linux_amd64/cmd/go/internal/imports.a
index 042f4b3..6644da4 100644
--- a/pkg/linux_amd64/cmd/go/internal/imports.a
+++ b/pkg/linux_amd64/cmd/go/internal/imports.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/list.a b/pkg/linux_amd64/cmd/go/internal/list.a
index 1ea0ed1..16e00b3 100644
--- a/pkg/linux_amd64/cmd/go/internal/list.a
+++ b/pkg/linux_amd64/cmd/go/internal/list.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/load.a b/pkg/linux_amd64/cmd/go/internal/load.a
index 9dcc7e0..b9a5213 100644
--- a/pkg/linux_amd64/cmd/go/internal/load.a
+++ b/pkg/linux_amd64/cmd/go/internal/load.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/lockedfile.a b/pkg/linux_amd64/cmd/go/internal/lockedfile.a
index 7b0c53f..526bafe 100644
--- a/pkg/linux_amd64/cmd/go/internal/lockedfile.a
+++ b/pkg/linux_amd64/cmd/go/internal/lockedfile.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/lockedfile/internal/filelock.a b/pkg/linux_amd64/cmd/go/internal/lockedfile/internal/filelock.a
index 3e0eae1..3f921ba 100644
--- a/pkg/linux_amd64/cmd/go/internal/lockedfile/internal/filelock.a
+++ b/pkg/linux_amd64/cmd/go/internal/lockedfile/internal/filelock.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/modcmd.a b/pkg/linux_amd64/cmd/go/internal/modcmd.a
index 9fa386c..5bcfb2d 100644
--- a/pkg/linux_amd64/cmd/go/internal/modcmd.a
+++ b/pkg/linux_amd64/cmd/go/internal/modcmd.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/modconv.a b/pkg/linux_amd64/cmd/go/internal/modconv.a
index ac9c995..ae8bbc5 100644
--- a/pkg/linux_amd64/cmd/go/internal/modconv.a
+++ b/pkg/linux_amd64/cmd/go/internal/modconv.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/modfetch.a b/pkg/linux_amd64/cmd/go/internal/modfetch.a
index 6b47ef1..6e7cea9 100644
--- a/pkg/linux_amd64/cmd/go/internal/modfetch.a
+++ b/pkg/linux_amd64/cmd/go/internal/modfetch.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/modfetch/codehost.a b/pkg/linux_amd64/cmd/go/internal/modfetch/codehost.a
index d135935..4e5c89f 100644
--- a/pkg/linux_amd64/cmd/go/internal/modfetch/codehost.a
+++ b/pkg/linux_amd64/cmd/go/internal/modfetch/codehost.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/modget.a b/pkg/linux_amd64/cmd/go/internal/modget.a
index 1253808..0a293c6 100644
--- a/pkg/linux_amd64/cmd/go/internal/modget.a
+++ b/pkg/linux_amd64/cmd/go/internal/modget.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/modinfo.a b/pkg/linux_amd64/cmd/go/internal/modinfo.a
index 2972a96..0ba8c1b 100644
--- a/pkg/linux_amd64/cmd/go/internal/modinfo.a
+++ b/pkg/linux_amd64/cmd/go/internal/modinfo.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/modload.a b/pkg/linux_amd64/cmd/go/internal/modload.a
index 1479333..e061e62 100644
--- a/pkg/linux_amd64/cmd/go/internal/modload.a
+++ b/pkg/linux_amd64/cmd/go/internal/modload.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/mvs.a b/pkg/linux_amd64/cmd/go/internal/mvs.a
index 7cdc40b..cfccaa6 100644
--- a/pkg/linux_amd64/cmd/go/internal/mvs.a
+++ b/pkg/linux_amd64/cmd/go/internal/mvs.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/par.a b/pkg/linux_amd64/cmd/go/internal/par.a
index ea26e4c..a7381f3 100644
--- a/pkg/linux_amd64/cmd/go/internal/par.a
+++ b/pkg/linux_amd64/cmd/go/internal/par.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/renameio.a b/pkg/linux_amd64/cmd/go/internal/renameio.a
index b7669ee..0f7b925 100644
--- a/pkg/linux_amd64/cmd/go/internal/renameio.a
+++ b/pkg/linux_amd64/cmd/go/internal/renameio.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/robustio.a b/pkg/linux_amd64/cmd/go/internal/robustio.a
index 7f5ef58..f599f62 100644
--- a/pkg/linux_amd64/cmd/go/internal/robustio.a
+++ b/pkg/linux_amd64/cmd/go/internal/robustio.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/run.a b/pkg/linux_amd64/cmd/go/internal/run.a
index a8dc71e..eeb4342 100644
--- a/pkg/linux_amd64/cmd/go/internal/run.a
+++ b/pkg/linux_amd64/cmd/go/internal/run.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/search.a b/pkg/linux_amd64/cmd/go/internal/search.a
index 87356ed..2d25fbc 100644
--- a/pkg/linux_amd64/cmd/go/internal/search.a
+++ b/pkg/linux_amd64/cmd/go/internal/search.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/str.a b/pkg/linux_amd64/cmd/go/internal/str.a
index 0e15f69..d249696 100644
--- a/pkg/linux_amd64/cmd/go/internal/str.a
+++ b/pkg/linux_amd64/cmd/go/internal/str.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/test.a b/pkg/linux_amd64/cmd/go/internal/test.a
index a86718e..198ed7d 100644
--- a/pkg/linux_amd64/cmd/go/internal/test.a
+++ b/pkg/linux_amd64/cmd/go/internal/test.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/tool.a b/pkg/linux_amd64/cmd/go/internal/tool.a
index 142b687..fa7afb1 100644
--- a/pkg/linux_amd64/cmd/go/internal/tool.a
+++ b/pkg/linux_amd64/cmd/go/internal/tool.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/txtar.a b/pkg/linux_amd64/cmd/go/internal/txtar.a
index 30ea98b..0a28164 100644
--- a/pkg/linux_amd64/cmd/go/internal/txtar.a
+++ b/pkg/linux_amd64/cmd/go/internal/txtar.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/version.a b/pkg/linux_amd64/cmd/go/internal/version.a
index 3ec385a..c1b957c 100644
--- a/pkg/linux_amd64/cmd/go/internal/version.a
+++ b/pkg/linux_amd64/cmd/go/internal/version.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/vet.a b/pkg/linux_amd64/cmd/go/internal/vet.a
index eb8eaef..e4d6071 100644
--- a/pkg/linux_amd64/cmd/go/internal/vet.a
+++ b/pkg/linux_amd64/cmd/go/internal/vet.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/web.a b/pkg/linux_amd64/cmd/go/internal/web.a
index dff866d..5154b71 100644
--- a/pkg/linux_amd64/cmd/go/internal/web.a
+++ b/pkg/linux_amd64/cmd/go/internal/web.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/go/internal/work.a b/pkg/linux_amd64/cmd/go/internal/work.a
index 9506434..b979294 100644
--- a/pkg/linux_amd64/cmd/go/internal/work.a
+++ b/pkg/linux_amd64/cmd/go/internal/work.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/bio.a b/pkg/linux_amd64/cmd/internal/bio.a
index 9f511b3..1d8f165 100644
--- a/pkg/linux_amd64/cmd/internal/bio.a
+++ b/pkg/linux_amd64/cmd/internal/bio.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/browser.a b/pkg/linux_amd64/cmd/internal/browser.a
index b2d8004..2a14f4e 100644
--- a/pkg/linux_amd64/cmd/internal/browser.a
+++ b/pkg/linux_amd64/cmd/internal/browser.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/buildid.a b/pkg/linux_amd64/cmd/internal/buildid.a
index 5a0ecb0..15819ac 100644
--- a/pkg/linux_amd64/cmd/internal/buildid.a
+++ b/pkg/linux_amd64/cmd/internal/buildid.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/diff.a b/pkg/linux_amd64/cmd/internal/diff.a
index 0de0994..7377002 100644
--- a/pkg/linux_amd64/cmd/internal/diff.a
+++ b/pkg/linux_amd64/cmd/internal/diff.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/dwarf.a b/pkg/linux_amd64/cmd/internal/dwarf.a
index c3158a1..4ef30e6 100644
--- a/pkg/linux_amd64/cmd/internal/dwarf.a
+++ b/pkg/linux_amd64/cmd/internal/dwarf.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/edit.a b/pkg/linux_amd64/cmd/internal/edit.a
index 7f22559..0068d07 100644
--- a/pkg/linux_amd64/cmd/internal/edit.a
+++ b/pkg/linux_amd64/cmd/internal/edit.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/gcprog.a b/pkg/linux_amd64/cmd/internal/gcprog.a
index 67ecd60..b001734 100644
--- a/pkg/linux_amd64/cmd/internal/gcprog.a
+++ b/pkg/linux_amd64/cmd/internal/gcprog.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/goobj.a b/pkg/linux_amd64/cmd/internal/goobj.a
index 8787352..648d44c 100644
--- a/pkg/linux_amd64/cmd/internal/goobj.a
+++ b/pkg/linux_amd64/cmd/internal/goobj.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/goobj2.a b/pkg/linux_amd64/cmd/internal/goobj2.a
index 2daec47..9542620 100644
--- a/pkg/linux_amd64/cmd/internal/goobj2.a
+++ b/pkg/linux_amd64/cmd/internal/goobj2.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/obj.a b/pkg/linux_amd64/cmd/internal/obj.a
index 85666b8..234da10 100644
--- a/pkg/linux_amd64/cmd/internal/obj.a
+++ b/pkg/linux_amd64/cmd/internal/obj.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/obj/arm.a b/pkg/linux_amd64/cmd/internal/obj/arm.a
index c0170de..1e71ae2 100644
--- a/pkg/linux_amd64/cmd/internal/obj/arm.a
+++ b/pkg/linux_amd64/cmd/internal/obj/arm.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/obj/arm64.a b/pkg/linux_amd64/cmd/internal/obj/arm64.a
index 0c7b8c0..782ef27 100644
--- a/pkg/linux_amd64/cmd/internal/obj/arm64.a
+++ b/pkg/linux_amd64/cmd/internal/obj/arm64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/obj/mips.a b/pkg/linux_amd64/cmd/internal/obj/mips.a
index fe901cc..f2022c9 100644
--- a/pkg/linux_amd64/cmd/internal/obj/mips.a
+++ b/pkg/linux_amd64/cmd/internal/obj/mips.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/obj/ppc64.a b/pkg/linux_amd64/cmd/internal/obj/ppc64.a
index 7fca34c..e408347 100644
--- a/pkg/linux_amd64/cmd/internal/obj/ppc64.a
+++ b/pkg/linux_amd64/cmd/internal/obj/ppc64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/obj/riscv.a b/pkg/linux_amd64/cmd/internal/obj/riscv.a
index 72a4918..d0b950c 100644
--- a/pkg/linux_amd64/cmd/internal/obj/riscv.a
+++ b/pkg/linux_amd64/cmd/internal/obj/riscv.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/obj/s390x.a b/pkg/linux_amd64/cmd/internal/obj/s390x.a
index a151fa1..db4869a 100644
--- a/pkg/linux_amd64/cmd/internal/obj/s390x.a
+++ b/pkg/linux_amd64/cmd/internal/obj/s390x.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/obj/wasm.a b/pkg/linux_amd64/cmd/internal/obj/wasm.a
index 89d8fd1..ccd4c71 100644
--- a/pkg/linux_amd64/cmd/internal/obj/wasm.a
+++ b/pkg/linux_amd64/cmd/internal/obj/wasm.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/obj/x86.a b/pkg/linux_amd64/cmd/internal/obj/x86.a
index 01d0a31..6a3235b 100644
--- a/pkg/linux_amd64/cmd/internal/obj/x86.a
+++ b/pkg/linux_amd64/cmd/internal/obj/x86.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/objabi.a b/pkg/linux_amd64/cmd/internal/objabi.a
index da350e8..f465005 100644
--- a/pkg/linux_amd64/cmd/internal/objabi.a
+++ b/pkg/linux_amd64/cmd/internal/objabi.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/objfile.a b/pkg/linux_amd64/cmd/internal/objfile.a
index 9b212ab..0dc9be1 100644
--- a/pkg/linux_amd64/cmd/internal/objfile.a
+++ b/pkg/linux_amd64/cmd/internal/objfile.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/src.a b/pkg/linux_amd64/cmd/internal/src.a
index 7369296..57125a9 100644
--- a/pkg/linux_amd64/cmd/internal/src.a
+++ b/pkg/linux_amd64/cmd/internal/src.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/sys.a b/pkg/linux_amd64/cmd/internal/sys.a
index d868569..db22ba2 100644
--- a/pkg/linux_amd64/cmd/internal/sys.a
+++ b/pkg/linux_amd64/cmd/internal/sys.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/internal/test2json.a b/pkg/linux_amd64/cmd/internal/test2json.a
index c79020b..acc9622 100644
--- a/pkg/linux_amd64/cmd/internal/test2json.a
+++ b/pkg/linux_amd64/cmd/internal/test2json.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/amd64.a b/pkg/linux_amd64/cmd/link/internal/amd64.a
index ef9dbbb..199797a 100644
--- a/pkg/linux_amd64/cmd/link/internal/amd64.a
+++ b/pkg/linux_amd64/cmd/link/internal/amd64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/arm.a b/pkg/linux_amd64/cmd/link/internal/arm.a
index a9ba137..8cf0cac 100644
--- a/pkg/linux_amd64/cmd/link/internal/arm.a
+++ b/pkg/linux_amd64/cmd/link/internal/arm.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/arm64.a b/pkg/linux_amd64/cmd/link/internal/arm64.a
index 91eee8e..9fa7e58 100644
--- a/pkg/linux_amd64/cmd/link/internal/arm64.a
+++ b/pkg/linux_amd64/cmd/link/internal/arm64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/benchmark.a b/pkg/linux_amd64/cmd/link/internal/benchmark.a
index cc1246f..67da0bf 100644
--- a/pkg/linux_amd64/cmd/link/internal/benchmark.a
+++ b/pkg/linux_amd64/cmd/link/internal/benchmark.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/ld.a b/pkg/linux_amd64/cmd/link/internal/ld.a
index 95d2e85..90c7d0a 100644
--- a/pkg/linux_amd64/cmd/link/internal/ld.a
+++ b/pkg/linux_amd64/cmd/link/internal/ld.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/loadelf.a b/pkg/linux_amd64/cmd/link/internal/loadelf.a
index b38cb37..07506b1 100644
--- a/pkg/linux_amd64/cmd/link/internal/loadelf.a
+++ b/pkg/linux_amd64/cmd/link/internal/loadelf.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/loader.a b/pkg/linux_amd64/cmd/link/internal/loader.a
index a682dd3..5e5d20a 100644
--- a/pkg/linux_amd64/cmd/link/internal/loader.a
+++ b/pkg/linux_amd64/cmd/link/internal/loader.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/loadmacho.a b/pkg/linux_amd64/cmd/link/internal/loadmacho.a
index 39bb95e..6a1c99c 100644
--- a/pkg/linux_amd64/cmd/link/internal/loadmacho.a
+++ b/pkg/linux_amd64/cmd/link/internal/loadmacho.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/loadpe.a b/pkg/linux_amd64/cmd/link/internal/loadpe.a
index c9652b1..3fe9361 100644
--- a/pkg/linux_amd64/cmd/link/internal/loadpe.a
+++ b/pkg/linux_amd64/cmd/link/internal/loadpe.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/loadxcoff.a b/pkg/linux_amd64/cmd/link/internal/loadxcoff.a
index eed9ee4..9a448ba 100644
--- a/pkg/linux_amd64/cmd/link/internal/loadxcoff.a
+++ b/pkg/linux_amd64/cmd/link/internal/loadxcoff.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/mips.a b/pkg/linux_amd64/cmd/link/internal/mips.a
index d50a2ea..dcc32fa 100644
--- a/pkg/linux_amd64/cmd/link/internal/mips.a
+++ b/pkg/linux_amd64/cmd/link/internal/mips.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/mips64.a b/pkg/linux_amd64/cmd/link/internal/mips64.a
index 2164bed..a728f5c 100644
--- a/pkg/linux_amd64/cmd/link/internal/mips64.a
+++ b/pkg/linux_amd64/cmd/link/internal/mips64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/ppc64.a b/pkg/linux_amd64/cmd/link/internal/ppc64.a
index 7188475..6645459 100644
--- a/pkg/linux_amd64/cmd/link/internal/ppc64.a
+++ b/pkg/linux_amd64/cmd/link/internal/ppc64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/riscv64.a b/pkg/linux_amd64/cmd/link/internal/riscv64.a
index c3feff5..8f215e5 100644
--- a/pkg/linux_amd64/cmd/link/internal/riscv64.a
+++ b/pkg/linux_amd64/cmd/link/internal/riscv64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/s390x.a b/pkg/linux_amd64/cmd/link/internal/s390x.a
index dca0552..881299d 100644
--- a/pkg/linux_amd64/cmd/link/internal/s390x.a
+++ b/pkg/linux_amd64/cmd/link/internal/s390x.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/sym.a b/pkg/linux_amd64/cmd/link/internal/sym.a
index 2340e3a..21388cd 100644
--- a/pkg/linux_amd64/cmd/link/internal/sym.a
+++ b/pkg/linux_amd64/cmd/link/internal/sym.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/wasm.a b/pkg/linux_amd64/cmd/link/internal/wasm.a
index 95f31bc..29ade59 100644
--- a/pkg/linux_amd64/cmd/link/internal/wasm.a
+++ b/pkg/linux_amd64/cmd/link/internal/wasm.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/link/internal/x86.a b/pkg/linux_amd64/cmd/link/internal/x86.a
index 564bc44..051134f 100644
--- a/pkg/linux_amd64/cmd/link/internal/x86.a
+++ b/pkg/linux_amd64/cmd/link/internal/x86.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/amd64.a b/pkg/linux_amd64/cmd/oldlink/internal/amd64.a
index cc5486b..98ef8f1 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/amd64.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/amd64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/arm.a b/pkg/linux_amd64/cmd/oldlink/internal/arm.a
index c80ded6..4cfbc32 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/arm.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/arm.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/arm64.a b/pkg/linux_amd64/cmd/oldlink/internal/arm64.a
index 1e7bdb0..7c6b8c0 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/arm64.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/arm64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/ld.a b/pkg/linux_amd64/cmd/oldlink/internal/ld.a
index d5cdbf4..46615bf 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/ld.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/ld.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/loadelf.a b/pkg/linux_amd64/cmd/oldlink/internal/loadelf.a
index 7a20db3..90c4130 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/loadelf.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/loadelf.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/loader.a b/pkg/linux_amd64/cmd/oldlink/internal/loader.a
index 80f9281..2fe7663 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/loader.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/loader.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/loadmacho.a b/pkg/linux_amd64/cmd/oldlink/internal/loadmacho.a
index 57b5bee..132a9df 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/loadmacho.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/loadmacho.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/loadpe.a b/pkg/linux_amd64/cmd/oldlink/internal/loadpe.a
index 4f03ab7..46b1777 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/loadpe.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/loadpe.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/loadxcoff.a b/pkg/linux_amd64/cmd/oldlink/internal/loadxcoff.a
index 73bdbbc..20680dc 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/loadxcoff.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/loadxcoff.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/mips.a b/pkg/linux_amd64/cmd/oldlink/internal/mips.a
index 2f5b58c..11a1ee2 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/mips.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/mips.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/mips64.a b/pkg/linux_amd64/cmd/oldlink/internal/mips64.a
index 6aeb4e1..b616d4c 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/mips64.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/mips64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/objfile.a b/pkg/linux_amd64/cmd/oldlink/internal/objfile.a
index 7e0998e..584c901 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/objfile.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/objfile.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/ppc64.a b/pkg/linux_amd64/cmd/oldlink/internal/ppc64.a
index 237ddcd..fb318dc 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/ppc64.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/ppc64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/riscv64.a b/pkg/linux_amd64/cmd/oldlink/internal/riscv64.a
index b55bc1f..f78e7b5 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/riscv64.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/riscv64.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/s390x.a b/pkg/linux_amd64/cmd/oldlink/internal/s390x.a
index be16fda..3b69d7c 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/s390x.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/s390x.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/sym.a b/pkg/linux_amd64/cmd/oldlink/internal/sym.a
index c9115a6..af64e65 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/sym.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/sym.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/wasm.a b/pkg/linux_amd64/cmd/oldlink/internal/wasm.a
index a3c280a..1af2aab 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/wasm.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/wasm.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/oldlink/internal/x86.a b/pkg/linux_amd64/cmd/oldlink/internal/x86.a
index 519490e..ccdf739 100644
--- a/pkg/linux_amd64/cmd/oldlink/internal/x86.a
+++ b/pkg/linux_amd64/cmd/oldlink/internal/x86.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/driver.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/driver.a
index 6c5f468..aa6af4a 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/driver.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/driver.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/binutils.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/binutils.a
index b1c0fe7..5a760f9 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/binutils.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/binutils.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/driver.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/driver.a
index 8fa1d2a..61d5b51 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/driver.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/driver.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/elfexec.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/elfexec.a
index 76087bf..0349c22 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/elfexec.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/elfexec.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/graph.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/graph.a
index a190b21..63e24a3 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/graph.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/graph.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/measurement.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/measurement.a
index 72bb4d7..07bd115 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/measurement.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/measurement.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/plugin.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/plugin.a
index b3f7cd2..9a0d36c 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/plugin.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/plugin.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/report.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/report.a
index d15ff41..a9d2a1a 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/report.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/report.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/symbolizer.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/symbolizer.a
index 9026c6f..ff2ffb6 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/symbolizer.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/symbolizer.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/symbolz.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/symbolz.a
index 81f8019..39cea41 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/symbolz.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/symbolz.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/transport.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/transport.a
index 48674d3..ac73279 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/transport.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/transport.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/profile.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/profile.a
index b304346..6a86899 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/profile.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/profile.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/third_party/d3.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/third_party/d3.a
index a65be7d..4041d55 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/third_party/d3.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/third_party/d3.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/third_party/d3flamegraph.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/third_party/d3flamegraph.a
index 01986bb..51345dc 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/third_party/d3flamegraph.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/third_party/d3flamegraph.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/third_party/svgpan.a b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/third_party/svgpan.a
index 97f2a80..9ebe5f1 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/third_party/svgpan.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/third_party/svgpan.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/github.com/ianlancetaylor/demangle.a b/pkg/linux_amd64/cmd/vendor/github.com/ianlancetaylor/demangle.a
index afdb809..0a13224 100644
--- a/pkg/linux_amd64/cmd/vendor/github.com/ianlancetaylor/demangle.a
+++ b/pkg/linux_amd64/cmd/vendor/github.com/ianlancetaylor/demangle.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/arm/armasm.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/arm/armasm.a
index edb0ba8..71b4711 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/arm/armasm.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/arm/armasm.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/arm64/arm64asm.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/arm64/arm64asm.a
index 210683b..279b0ed 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/arm64/arm64asm.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/arm64/arm64asm.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm.a
index 142443d..1711f0b 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/x86/x86asm.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/x86/x86asm.a
index 42e176b..871eca2 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/x86/x86asm.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/arch/x86/x86asm.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ed25519.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ed25519.a
index d55b3a4..22b1435 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ed25519.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ed25519.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ed25519/internal/edwards25519.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ed25519/internal/edwards25519.a
index ba8e731..688f096 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ed25519/internal/edwards25519.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ed25519/internal/edwards25519.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh/terminal.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh/terminal.a
index 840990b..062a76a 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh/terminal.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh/terminal.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/internal/lazyregexp.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/internal/lazyregexp.a
index 7b77c75..196aa7d 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/internal/lazyregexp.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/internal/lazyregexp.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/modfile.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/modfile.a
index e79f2dc..d08d3c5 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/modfile.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/modfile.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/module.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/module.a
index 53f0bd5..7218c3f 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/module.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/module.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/semver.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/semver.a
index fe756cf..6a9bc60 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/semver.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/semver.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb.a
index 052b986..e8e9f54 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb/dirhash.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb/dirhash.a
index 0c1613f..dc8c750 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb/dirhash.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb/dirhash.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb/note.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb/note.a
index 0606301..7feeae5 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb/note.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb/note.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb/tlog.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb/tlog.a
index 5542477..1347c8a 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb/tlog.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/sumdb/tlog.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/zip.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/zip.a
index c9807a9..97d5dc6 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/zip.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/mod/zip.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/sys/internal/unsafeheader.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/sys/internal/unsafeheader.a
index d55b7ea..7d351f2 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/sys/internal/unsafeheader.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/sys/internal/unsafeheader.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/sys/unix.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/sys/unix.a
index e34af55..628b047 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/sys/unix.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/sys/unix.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis.a
index fe36569..10620d7 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/internal/analysisflags.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/internal/analysisflags.a
index cfb5c0e..41e2a52 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/internal/analysisflags.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/internal/analysisflags.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/internal/facts.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/internal/facts.a
index 2af3653..0bfeee1 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/internal/facts.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/internal/facts.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/asmdecl.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/asmdecl.a
index 53c49d3..f011283 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/asmdecl.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/asmdecl.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/assign.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/assign.a
index b5dd04a..d9820ce 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/assign.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/assign.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/atomic.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/atomic.a
index 8692cda..443bc5d 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/atomic.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/atomic.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/bools.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/bools.a
index eed624e..85747e4 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/bools.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/bools.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/buildtag.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/buildtag.a
index 3d06e34..67c396b 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/buildtag.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/buildtag.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/cgocall.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/cgocall.a
index 20c2fff..a05c953 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/cgocall.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/cgocall.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/composite.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/composite.a
index b3013ed..44cccf1 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/composite.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/composite.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/copylock.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/copylock.a
index 5a54bd6..cc791c4 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/copylock.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/copylock.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/ctrlflow.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/ctrlflow.a
index 6bd339f..e148e79 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/ctrlflow.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/ctrlflow.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/errorsas.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/errorsas.a
index ff101d0..7078da3 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/errorsas.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/errorsas.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/httpresponse.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/httpresponse.a
index ffb556d..25012dc 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/httpresponse.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/httpresponse.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/ifaceassert.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/ifaceassert.a
index 385bddb..195e922 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/ifaceassert.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/ifaceassert.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/inspect.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/inspect.a
index c89ff6b..738018d 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/inspect.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/inspect.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/internal/analysisutil.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/internal/analysisutil.a
index 87a6b40..2d309b8 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/internal/analysisutil.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/internal/analysisutil.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/loopclosure.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/loopclosure.a
index 27d622b..82efe01 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/loopclosure.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/loopclosure.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/lostcancel.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/lostcancel.a
index c72afe1..972ab94 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/lostcancel.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/lostcancel.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/nilfunc.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/nilfunc.a
index e76f71b..e31e7e6 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/nilfunc.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/nilfunc.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/printf.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/printf.a
index 9504e5e..73611e5 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/printf.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/printf.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/shift.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/shift.a
index 8632e5d..ca871c4 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/shift.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/shift.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/stdmethods.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/stdmethods.a
index ca84ba0..610e0ba 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/stdmethods.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/stdmethods.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/stringintconv.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/stringintconv.a
index c80fe4d..0585747 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/stringintconv.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/stringintconv.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/structtag.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/structtag.a
index 73fdf01..145a116 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/structtag.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/structtag.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/tests.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/tests.a
index 5f49612..a35ba47 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/tests.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/tests.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unmarshal.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unmarshal.a
index 887a1c9..3dd7f3f 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unmarshal.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unmarshal.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unreachable.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unreachable.a
index d3993ad..eaf6b48 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unreachable.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unreachable.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unsafeptr.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unsafeptr.a
index 5f89605..050344b 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unsafeptr.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unsafeptr.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unusedresult.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unusedresult.a
index d781c5d..afcdfc4 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unusedresult.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/passes/unusedresult.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.a
index eb5a03c..de29f39 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/ast/astutil.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/ast/astutil.a
index e816c5b..de7eb63 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/ast/astutil.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/ast/astutil.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/ast/inspector.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/ast/inspector.a
index 02083e3..3389148 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/ast/inspector.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/ast/inspector.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/cfg.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/cfg.a
index c123b67..9e894d7 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/cfg.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/cfg.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/types/objectpath.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/types/objectpath.a
index d68cc17..47d8e67 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/types/objectpath.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/types/objectpath.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/types/typeutil.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/types/typeutil.a
index 7579d56..765fe13 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/types/typeutil.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/go/types/typeutil.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/internal/analysisinternal.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/internal/analysisinternal.a
index e08df01..d58fe6b 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/internal/analysisinternal.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/tools/internal/analysisinternal.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/xerrors.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/xerrors.a
index dc6bd7a..e0996e9 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/xerrors.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/xerrors.a
Binary files differ
diff --git a/pkg/linux_amd64/cmd/vendor/golang.org/x/xerrors/internal.a b/pkg/linux_amd64/cmd/vendor/golang.org/x/xerrors/internal.a
index 501ae27..63601ef 100644
--- a/pkg/linux_amd64/cmd/vendor/golang.org/x/xerrors/internal.a
+++ b/pkg/linux_amd64/cmd/vendor/golang.org/x/xerrors/internal.a
Binary files differ
diff --git a/pkg/linux_amd64/compress/bzip2.a b/pkg/linux_amd64/compress/bzip2.a
index d3fbe82..b4389ec 100644
--- a/pkg/linux_amd64/compress/bzip2.a
+++ b/pkg/linux_amd64/compress/bzip2.a
Binary files differ
diff --git a/pkg/linux_amd64/compress/flate.a b/pkg/linux_amd64/compress/flate.a
index 8fa9afc..93d208d 100644
--- a/pkg/linux_amd64/compress/flate.a
+++ b/pkg/linux_amd64/compress/flate.a
Binary files differ
diff --git a/pkg/linux_amd64/compress/gzip.a b/pkg/linux_amd64/compress/gzip.a
index 75b0c2a..f6cc20b 100644
--- a/pkg/linux_amd64/compress/gzip.a
+++ b/pkg/linux_amd64/compress/gzip.a
Binary files differ
diff --git a/pkg/linux_amd64/compress/lzw.a b/pkg/linux_amd64/compress/lzw.a
index aadb416..27fd8d8 100644
--- a/pkg/linux_amd64/compress/lzw.a
+++ b/pkg/linux_amd64/compress/lzw.a
Binary files differ
diff --git a/pkg/linux_amd64/compress/zlib.a b/pkg/linux_amd64/compress/zlib.a
index a4ee3b6..9cd9929 100644
--- a/pkg/linux_amd64/compress/zlib.a
+++ b/pkg/linux_amd64/compress/zlib.a
Binary files differ
diff --git a/pkg/linux_amd64/container/heap.a b/pkg/linux_amd64/container/heap.a
index e2fafb3..6757651 100644
--- a/pkg/linux_amd64/container/heap.a
+++ b/pkg/linux_amd64/container/heap.a
Binary files differ
diff --git a/pkg/linux_amd64/container/list.a b/pkg/linux_amd64/container/list.a
index 4dc6206..a791a89 100644
--- a/pkg/linux_amd64/container/list.a
+++ b/pkg/linux_amd64/container/list.a
Binary files differ
diff --git a/pkg/linux_amd64/container/ring.a b/pkg/linux_amd64/container/ring.a
index 83a020f..97aab97 100644
--- a/pkg/linux_amd64/container/ring.a
+++ b/pkg/linux_amd64/container/ring.a
Binary files differ
diff --git a/pkg/linux_amd64/context.a b/pkg/linux_amd64/context.a
index 6c29219..a29512a 100644
--- a/pkg/linux_amd64/context.a
+++ b/pkg/linux_amd64/context.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto.a b/pkg/linux_amd64/crypto.a
index 1265d65..e68c5db 100644
--- a/pkg/linux_amd64/crypto.a
+++ b/pkg/linux_amd64/crypto.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/aes.a b/pkg/linux_amd64/crypto/aes.a
index 3d3a140..1c9b307 100644
--- a/pkg/linux_amd64/crypto/aes.a
+++ b/pkg/linux_amd64/crypto/aes.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/cipher.a b/pkg/linux_amd64/crypto/cipher.a
index c655e6b..1a1575f 100644
--- a/pkg/linux_amd64/crypto/cipher.a
+++ b/pkg/linux_amd64/crypto/cipher.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/des.a b/pkg/linux_amd64/crypto/des.a
index 7b9c0a6..65eaad3 100644
--- a/pkg/linux_amd64/crypto/des.a
+++ b/pkg/linux_amd64/crypto/des.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/dsa.a b/pkg/linux_amd64/crypto/dsa.a
index a3b22d8..aaaec0b 100644
--- a/pkg/linux_amd64/crypto/dsa.a
+++ b/pkg/linux_amd64/crypto/dsa.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/ecdsa.a b/pkg/linux_amd64/crypto/ecdsa.a
index 84b266e..cb7e3ea 100644
--- a/pkg/linux_amd64/crypto/ecdsa.a
+++ b/pkg/linux_amd64/crypto/ecdsa.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/ed25519.a b/pkg/linux_amd64/crypto/ed25519.a
index c72dc63..25f6b3b 100644
--- a/pkg/linux_amd64/crypto/ed25519.a
+++ b/pkg/linux_amd64/crypto/ed25519.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/ed25519/internal/edwards25519.a b/pkg/linux_amd64/crypto/ed25519/internal/edwards25519.a
index 22e19d3..6aa58b5 100644
--- a/pkg/linux_amd64/crypto/ed25519/internal/edwards25519.a
+++ b/pkg/linux_amd64/crypto/ed25519/internal/edwards25519.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/elliptic.a b/pkg/linux_amd64/crypto/elliptic.a
index 8e75559..94765fc 100644
--- a/pkg/linux_amd64/crypto/elliptic.a
+++ b/pkg/linux_amd64/crypto/elliptic.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/hmac.a b/pkg/linux_amd64/crypto/hmac.a
index 36761e0..2aa360b 100644
--- a/pkg/linux_amd64/crypto/hmac.a
+++ b/pkg/linux_amd64/crypto/hmac.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/internal/randutil.a b/pkg/linux_amd64/crypto/internal/randutil.a
index e3b5eeb..f48bf8d 100644
--- a/pkg/linux_amd64/crypto/internal/randutil.a
+++ b/pkg/linux_amd64/crypto/internal/randutil.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/internal/subtle.a b/pkg/linux_amd64/crypto/internal/subtle.a
index e8ea31c..d69a62b 100644
--- a/pkg/linux_amd64/crypto/internal/subtle.a
+++ b/pkg/linux_amd64/crypto/internal/subtle.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/md5.a b/pkg/linux_amd64/crypto/md5.a
index 0603f61..4496d6f 100644
--- a/pkg/linux_amd64/crypto/md5.a
+++ b/pkg/linux_amd64/crypto/md5.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/rand.a b/pkg/linux_amd64/crypto/rand.a
index 60cd9fc..443c2a7 100644
--- a/pkg/linux_amd64/crypto/rand.a
+++ b/pkg/linux_amd64/crypto/rand.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/rc4.a b/pkg/linux_amd64/crypto/rc4.a
index ff1c4ed..3a676fa 100644
--- a/pkg/linux_amd64/crypto/rc4.a
+++ b/pkg/linux_amd64/crypto/rc4.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/rsa.a b/pkg/linux_amd64/crypto/rsa.a
index 9d947c9..e5efd6f 100644
--- a/pkg/linux_amd64/crypto/rsa.a
+++ b/pkg/linux_amd64/crypto/rsa.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/sha1.a b/pkg/linux_amd64/crypto/sha1.a
index 7d3715e..430009f 100644
--- a/pkg/linux_amd64/crypto/sha1.a
+++ b/pkg/linux_amd64/crypto/sha1.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/sha256.a b/pkg/linux_amd64/crypto/sha256.a
index 7756b01..e891687 100644
--- a/pkg/linux_amd64/crypto/sha256.a
+++ b/pkg/linux_amd64/crypto/sha256.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/sha512.a b/pkg/linux_amd64/crypto/sha512.a
index 576b4fd..4a4bb54 100644
--- a/pkg/linux_amd64/crypto/sha512.a
+++ b/pkg/linux_amd64/crypto/sha512.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/subtle.a b/pkg/linux_amd64/crypto/subtle.a
index 5df461a..16ef1e9 100644
--- a/pkg/linux_amd64/crypto/subtle.a
+++ b/pkg/linux_amd64/crypto/subtle.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/tls.a b/pkg/linux_amd64/crypto/tls.a
index f447113..85fcb7e 100644
--- a/pkg/linux_amd64/crypto/tls.a
+++ b/pkg/linux_amd64/crypto/tls.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/x509.a b/pkg/linux_amd64/crypto/x509.a
index a2b35b0..6b73fd1 100644
--- a/pkg/linux_amd64/crypto/x509.a
+++ b/pkg/linux_amd64/crypto/x509.a
Binary files differ
diff --git a/pkg/linux_amd64/crypto/x509/pkix.a b/pkg/linux_amd64/crypto/x509/pkix.a
index e8a46f9..5e0b71e 100644
--- a/pkg/linux_amd64/crypto/x509/pkix.a
+++ b/pkg/linux_amd64/crypto/x509/pkix.a
Binary files differ
diff --git a/pkg/linux_amd64/database/sql.a b/pkg/linux_amd64/database/sql.a
index 12932f8..66d7288 100644
--- a/pkg/linux_amd64/database/sql.a
+++ b/pkg/linux_amd64/database/sql.a
Binary files differ
diff --git a/pkg/linux_amd64/database/sql/driver.a b/pkg/linux_amd64/database/sql/driver.a
index 274b71a..1051502 100644
--- a/pkg/linux_amd64/database/sql/driver.a
+++ b/pkg/linux_amd64/database/sql/driver.a
Binary files differ
diff --git a/pkg/linux_amd64/debug/dwarf.a b/pkg/linux_amd64/debug/dwarf.a
index a153d40..9521e30 100644
--- a/pkg/linux_amd64/debug/dwarf.a
+++ b/pkg/linux_amd64/debug/dwarf.a
Binary files differ
diff --git a/pkg/linux_amd64/debug/elf.a b/pkg/linux_amd64/debug/elf.a
index e9cdaaf..91373b3 100644
--- a/pkg/linux_amd64/debug/elf.a
+++ b/pkg/linux_amd64/debug/elf.a
Binary files differ
diff --git a/pkg/linux_amd64/debug/gosym.a b/pkg/linux_amd64/debug/gosym.a
index 817d6b3..115d6e4 100644
--- a/pkg/linux_amd64/debug/gosym.a
+++ b/pkg/linux_amd64/debug/gosym.a
Binary files differ
diff --git a/pkg/linux_amd64/debug/macho.a b/pkg/linux_amd64/debug/macho.a
index 2b81d79..399c9c5 100644
--- a/pkg/linux_amd64/debug/macho.a
+++ b/pkg/linux_amd64/debug/macho.a
Binary files differ
diff --git a/pkg/linux_amd64/debug/pe.a b/pkg/linux_amd64/debug/pe.a
index a9549dd..7589ca8 100644
--- a/pkg/linux_amd64/debug/pe.a
+++ b/pkg/linux_amd64/debug/pe.a
Binary files differ
diff --git a/pkg/linux_amd64/debug/plan9obj.a b/pkg/linux_amd64/debug/plan9obj.a
index de013aa..3e8639e 100644
--- a/pkg/linux_amd64/debug/plan9obj.a
+++ b/pkg/linux_amd64/debug/plan9obj.a
Binary files differ
diff --git a/pkg/linux_amd64/encoding.a b/pkg/linux_amd64/encoding.a
index 2188602..9194125 100644
--- a/pkg/linux_amd64/encoding.a
+++ b/pkg/linux_amd64/encoding.a
Binary files differ
diff --git a/pkg/linux_amd64/encoding/ascii85.a b/pkg/linux_amd64/encoding/ascii85.a
index c6f0865..88498d9 100644
--- a/pkg/linux_amd64/encoding/ascii85.a
+++ b/pkg/linux_amd64/encoding/ascii85.a
Binary files differ
diff --git a/pkg/linux_amd64/encoding/asn1.a b/pkg/linux_amd64/encoding/asn1.a
index d61410e..1c7d15b 100644
--- a/pkg/linux_amd64/encoding/asn1.a
+++ b/pkg/linux_amd64/encoding/asn1.a
Binary files differ
diff --git a/pkg/linux_amd64/encoding/base32.a b/pkg/linux_amd64/encoding/base32.a
index 75233db..8bec1e0 100644
--- a/pkg/linux_amd64/encoding/base32.a
+++ b/pkg/linux_amd64/encoding/base32.a
Binary files differ
diff --git a/pkg/linux_amd64/encoding/base64.a b/pkg/linux_amd64/encoding/base64.a
index b28c9b4..5f60fc4 100644
--- a/pkg/linux_amd64/encoding/base64.a
+++ b/pkg/linux_amd64/encoding/base64.a
Binary files differ
diff --git a/pkg/linux_amd64/encoding/binary.a b/pkg/linux_amd64/encoding/binary.a
index ed4cfc9..f80475c 100644
--- a/pkg/linux_amd64/encoding/binary.a
+++ b/pkg/linux_amd64/encoding/binary.a
Binary files differ
diff --git a/pkg/linux_amd64/encoding/csv.a b/pkg/linux_amd64/encoding/csv.a
index 7456894..f1fb93f 100644
--- a/pkg/linux_amd64/encoding/csv.a
+++ b/pkg/linux_amd64/encoding/csv.a
Binary files differ
diff --git a/pkg/linux_amd64/encoding/gob.a b/pkg/linux_amd64/encoding/gob.a
index ad55ff6..6152194 100644
--- a/pkg/linux_amd64/encoding/gob.a
+++ b/pkg/linux_amd64/encoding/gob.a
Binary files differ
diff --git a/pkg/linux_amd64/encoding/hex.a b/pkg/linux_amd64/encoding/hex.a
index 37f891d..f7b9052 100644
--- a/pkg/linux_amd64/encoding/hex.a
+++ b/pkg/linux_amd64/encoding/hex.a
Binary files differ
diff --git a/pkg/linux_amd64/encoding/json.a b/pkg/linux_amd64/encoding/json.a
index 3e359dd..f5b2332 100644
--- a/pkg/linux_amd64/encoding/json.a
+++ b/pkg/linux_amd64/encoding/json.a
Binary files differ
diff --git a/pkg/linux_amd64/encoding/pem.a b/pkg/linux_amd64/encoding/pem.a
index 3ec42d5..6ae393a 100644
--- a/pkg/linux_amd64/encoding/pem.a
+++ b/pkg/linux_amd64/encoding/pem.a
Binary files differ
diff --git a/pkg/linux_amd64/encoding/xml.a b/pkg/linux_amd64/encoding/xml.a
index c6db79c..ad9e7dd 100644
--- a/pkg/linux_amd64/encoding/xml.a
+++ b/pkg/linux_amd64/encoding/xml.a
Binary files differ
diff --git a/pkg/linux_amd64/errors.a b/pkg/linux_amd64/errors.a
index 7bb61a0..e3e8cc8 100644
--- a/pkg/linux_amd64/errors.a
+++ b/pkg/linux_amd64/errors.a
Binary files differ
diff --git a/pkg/linux_amd64/expvar.a b/pkg/linux_amd64/expvar.a
index 4f83861..915f61f 100644
--- a/pkg/linux_amd64/expvar.a
+++ b/pkg/linux_amd64/expvar.a
Binary files differ
diff --git a/pkg/linux_amd64/flag.a b/pkg/linux_amd64/flag.a
index 5d2f694..19db0a1 100644
--- a/pkg/linux_amd64/flag.a
+++ b/pkg/linux_amd64/flag.a
Binary files differ
diff --git a/pkg/linux_amd64/fmt.a b/pkg/linux_amd64/fmt.a
index f365b0c..b0044ce 100644
--- a/pkg/linux_amd64/fmt.a
+++ b/pkg/linux_amd64/fmt.a
Binary files differ
diff --git a/pkg/linux_amd64/go/ast.a b/pkg/linux_amd64/go/ast.a
index c1e870e..368916b 100644
--- a/pkg/linux_amd64/go/ast.a
+++ b/pkg/linux_amd64/go/ast.a
Binary files differ
diff --git a/pkg/linux_amd64/go/build.a b/pkg/linux_amd64/go/build.a
index 46717c7..3435175 100644
--- a/pkg/linux_amd64/go/build.a
+++ b/pkg/linux_amd64/go/build.a
Binary files differ
diff --git a/pkg/linux_amd64/go/constant.a b/pkg/linux_amd64/go/constant.a
index 558a628..33c5802 100644
--- a/pkg/linux_amd64/go/constant.a
+++ b/pkg/linux_amd64/go/constant.a
Binary files differ
diff --git a/pkg/linux_amd64/go/doc.a b/pkg/linux_amd64/go/doc.a
index d58e056..dfdbbf3 100644
--- a/pkg/linux_amd64/go/doc.a
+++ b/pkg/linux_amd64/go/doc.a
Binary files differ
diff --git a/pkg/linux_amd64/go/format.a b/pkg/linux_amd64/go/format.a
index 95f0049..6f9f502 100644
--- a/pkg/linux_amd64/go/format.a
+++ b/pkg/linux_amd64/go/format.a
Binary files differ
diff --git a/pkg/linux_amd64/go/importer.a b/pkg/linux_amd64/go/importer.a
index bc04a01..ec11a3f 100644
--- a/pkg/linux_amd64/go/importer.a
+++ b/pkg/linux_amd64/go/importer.a
Binary files differ
diff --git a/pkg/linux_amd64/go/internal/gccgoimporter.a b/pkg/linux_amd64/go/internal/gccgoimporter.a
index 3a8fa8f..a079289 100644
--- a/pkg/linux_amd64/go/internal/gccgoimporter.a
+++ b/pkg/linux_amd64/go/internal/gccgoimporter.a
Binary files differ
diff --git a/pkg/linux_amd64/go/internal/gcimporter.a b/pkg/linux_amd64/go/internal/gcimporter.a
index b912c7c..a5ed923 100644
--- a/pkg/linux_amd64/go/internal/gcimporter.a
+++ b/pkg/linux_amd64/go/internal/gcimporter.a
Binary files differ
diff --git a/pkg/linux_amd64/go/internal/srcimporter.a b/pkg/linux_amd64/go/internal/srcimporter.a
index 5d04a25..83b85a9 100644
--- a/pkg/linux_amd64/go/internal/srcimporter.a
+++ b/pkg/linux_amd64/go/internal/srcimporter.a
Binary files differ
diff --git a/pkg/linux_amd64/go/parser.a b/pkg/linux_amd64/go/parser.a
index 992c8c5..9f3b0f3 100644
--- a/pkg/linux_amd64/go/parser.a
+++ b/pkg/linux_amd64/go/parser.a
Binary files differ
diff --git a/pkg/linux_amd64/go/printer.a b/pkg/linux_amd64/go/printer.a
index 8ace840..60ea10c 100644
--- a/pkg/linux_amd64/go/printer.a
+++ b/pkg/linux_amd64/go/printer.a
Binary files differ
diff --git a/pkg/linux_amd64/go/scanner.a b/pkg/linux_amd64/go/scanner.a
index 03699e6..0ca60a7 100644
--- a/pkg/linux_amd64/go/scanner.a
+++ b/pkg/linux_amd64/go/scanner.a
Binary files differ
diff --git a/pkg/linux_amd64/go/token.a b/pkg/linux_amd64/go/token.a
index d99d64b..1e2410e 100644
--- a/pkg/linux_amd64/go/token.a
+++ b/pkg/linux_amd64/go/token.a
Binary files differ
diff --git a/pkg/linux_amd64/go/types.a b/pkg/linux_amd64/go/types.a
index 47764d4..cb84281 100644
--- a/pkg/linux_amd64/go/types.a
+++ b/pkg/linux_amd64/go/types.a
Binary files differ
diff --git a/pkg/linux_amd64/hash.a b/pkg/linux_amd64/hash.a
index 4e5ffe1..e27de93 100644
--- a/pkg/linux_amd64/hash.a
+++ b/pkg/linux_amd64/hash.a
Binary files differ
diff --git a/pkg/linux_amd64/hash/adler32.a b/pkg/linux_amd64/hash/adler32.a
index 9302096..bc05a82 100644
--- a/pkg/linux_amd64/hash/adler32.a
+++ b/pkg/linux_amd64/hash/adler32.a
Binary files differ
diff --git a/pkg/linux_amd64/hash/crc32.a b/pkg/linux_amd64/hash/crc32.a
index 12335b1..0933070 100644
--- a/pkg/linux_amd64/hash/crc32.a
+++ b/pkg/linux_amd64/hash/crc32.a
Binary files differ
diff --git a/pkg/linux_amd64/hash/crc64.a b/pkg/linux_amd64/hash/crc64.a
index 8d392be..2b6205c 100644
--- a/pkg/linux_amd64/hash/crc64.a
+++ b/pkg/linux_amd64/hash/crc64.a
Binary files differ
diff --git a/pkg/linux_amd64/hash/fnv.a b/pkg/linux_amd64/hash/fnv.a
index 5b1a342..a26b92c 100644
--- a/pkg/linux_amd64/hash/fnv.a
+++ b/pkg/linux_amd64/hash/fnv.a
Binary files differ
diff --git a/pkg/linux_amd64/hash/maphash.a b/pkg/linux_amd64/hash/maphash.a
index 5d8f96f..cd26d67 100644
--- a/pkg/linux_amd64/hash/maphash.a
+++ b/pkg/linux_amd64/hash/maphash.a
Binary files differ
diff --git a/pkg/linux_amd64/html.a b/pkg/linux_amd64/html.a
index 98a4352..9208be2 100644
--- a/pkg/linux_amd64/html.a
+++ b/pkg/linux_amd64/html.a
Binary files differ
diff --git a/pkg/linux_amd64/html/template.a b/pkg/linux_amd64/html/template.a
index 29b20f6..804a2c6 100644
--- a/pkg/linux_amd64/html/template.a
+++ b/pkg/linux_amd64/html/template.a
Binary files differ
diff --git a/pkg/linux_amd64/image.a b/pkg/linux_amd64/image.a
index b087d6a..cd17236 100644
--- a/pkg/linux_amd64/image.a
+++ b/pkg/linux_amd64/image.a
Binary files differ
diff --git a/pkg/linux_amd64/image/color.a b/pkg/linux_amd64/image/color.a
index c011278..e5ff5ae 100644
--- a/pkg/linux_amd64/image/color.a
+++ b/pkg/linux_amd64/image/color.a
Binary files differ
diff --git a/pkg/linux_amd64/image/color/palette.a b/pkg/linux_amd64/image/color/palette.a
index 18aeb3c..970f800 100644
--- a/pkg/linux_amd64/image/color/palette.a
+++ b/pkg/linux_amd64/image/color/palette.a
Binary files differ
diff --git a/pkg/linux_amd64/image/draw.a b/pkg/linux_amd64/image/draw.a
index 34280e8..486c0f3 100644
--- a/pkg/linux_amd64/image/draw.a
+++ b/pkg/linux_amd64/image/draw.a
Binary files differ
diff --git a/pkg/linux_amd64/image/gif.a b/pkg/linux_amd64/image/gif.a
index d23b13e..acee1ea 100644
--- a/pkg/linux_amd64/image/gif.a
+++ b/pkg/linux_amd64/image/gif.a
Binary files differ
diff --git a/pkg/linux_amd64/image/internal/imageutil.a b/pkg/linux_amd64/image/internal/imageutil.a
index 125d953..1b69de5 100644
--- a/pkg/linux_amd64/image/internal/imageutil.a
+++ b/pkg/linux_amd64/image/internal/imageutil.a
Binary files differ
diff --git a/pkg/linux_amd64/image/jpeg.a b/pkg/linux_amd64/image/jpeg.a
index 48f38ad..5e18cd8 100644
--- a/pkg/linux_amd64/image/jpeg.a
+++ b/pkg/linux_amd64/image/jpeg.a
Binary files differ
diff --git a/pkg/linux_amd64/image/png.a b/pkg/linux_amd64/image/png.a
index be726df..08d360f 100644
--- a/pkg/linux_amd64/image/png.a
+++ b/pkg/linux_amd64/image/png.a
Binary files differ
diff --git a/pkg/linux_amd64/index/suffixarray.a b/pkg/linux_amd64/index/suffixarray.a
index 9b44684..e89ed26 100644
--- a/pkg/linux_amd64/index/suffixarray.a
+++ b/pkg/linux_amd64/index/suffixarray.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/bytealg.a b/pkg/linux_amd64/internal/bytealg.a
index 453bb0b..e8f3f6e 100644
--- a/pkg/linux_amd64/internal/bytealg.a
+++ b/pkg/linux_amd64/internal/bytealg.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/cfg.a b/pkg/linux_amd64/internal/cfg.a
index 433d63d..edd499e 100644
--- a/pkg/linux_amd64/internal/cfg.a
+++ b/pkg/linux_amd64/internal/cfg.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/cpu.a b/pkg/linux_amd64/internal/cpu.a
index af88551..c414015 100644
--- a/pkg/linux_amd64/internal/cpu.a
+++ b/pkg/linux_amd64/internal/cpu.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/fmtsort.a b/pkg/linux_amd64/internal/fmtsort.a
index 31767dd..6f2a0cc 100644
--- a/pkg/linux_amd64/internal/fmtsort.a
+++ b/pkg/linux_amd64/internal/fmtsort.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/goroot.a b/pkg/linux_amd64/internal/goroot.a
index df83228..1a01d69 100644
--- a/pkg/linux_amd64/internal/goroot.a
+++ b/pkg/linux_amd64/internal/goroot.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/goversion.a b/pkg/linux_amd64/internal/goversion.a
index ae55504..57af00d 100644
--- a/pkg/linux_amd64/internal/goversion.a
+++ b/pkg/linux_amd64/internal/goversion.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/lazyregexp.a b/pkg/linux_amd64/internal/lazyregexp.a
index d8695d3..ff7fb89 100644
--- a/pkg/linux_amd64/internal/lazyregexp.a
+++ b/pkg/linux_amd64/internal/lazyregexp.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/lazytemplate.a b/pkg/linux_amd64/internal/lazytemplate.a
index 8b27cfc..5729d37 100644
--- a/pkg/linux_amd64/internal/lazytemplate.a
+++ b/pkg/linux_amd64/internal/lazytemplate.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/nettrace.a b/pkg/linux_amd64/internal/nettrace.a
index 82af6d3..afb5a38 100644
--- a/pkg/linux_amd64/internal/nettrace.a
+++ b/pkg/linux_amd64/internal/nettrace.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/obscuretestdata.a b/pkg/linux_amd64/internal/obscuretestdata.a
index 5690546..fa60230 100644
--- a/pkg/linux_amd64/internal/obscuretestdata.a
+++ b/pkg/linux_amd64/internal/obscuretestdata.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/oserror.a b/pkg/linux_amd64/internal/oserror.a
index 2978809..302ec89 100644
--- a/pkg/linux_amd64/internal/oserror.a
+++ b/pkg/linux_amd64/internal/oserror.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/poll.a b/pkg/linux_amd64/internal/poll.a
index e8f79fb..22724b9 100644
--- a/pkg/linux_amd64/internal/poll.a
+++ b/pkg/linux_amd64/internal/poll.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/profile.a b/pkg/linux_amd64/internal/profile.a
index 5961507..398de46 100644
--- a/pkg/linux_amd64/internal/profile.a
+++ b/pkg/linux_amd64/internal/profile.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/race.a b/pkg/linux_amd64/internal/race.a
index b88e0b4..a336353 100644
--- a/pkg/linux_amd64/internal/race.a
+++ b/pkg/linux_amd64/internal/race.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/reflectlite.a b/pkg/linux_amd64/internal/reflectlite.a
index 97e8d6c..f30c7eb 100644
--- a/pkg/linux_amd64/internal/reflectlite.a
+++ b/pkg/linux_amd64/internal/reflectlite.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/singleflight.a b/pkg/linux_amd64/internal/singleflight.a
index d141787..e2de0e9 100644
--- a/pkg/linux_amd64/internal/singleflight.a
+++ b/pkg/linux_amd64/internal/singleflight.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/syscall/execenv.a b/pkg/linux_amd64/internal/syscall/execenv.a
index 7e86069..6b75fa6 100644
--- a/pkg/linux_amd64/internal/syscall/execenv.a
+++ b/pkg/linux_amd64/internal/syscall/execenv.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/syscall/unix.a b/pkg/linux_amd64/internal/syscall/unix.a
index 9ed99a0..4d75b9f 100644
--- a/pkg/linux_amd64/internal/syscall/unix.a
+++ b/pkg/linux_amd64/internal/syscall/unix.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/testenv.a b/pkg/linux_amd64/internal/testenv.a
index 2c645b4..575f7de 100644
--- a/pkg/linux_amd64/internal/testenv.a
+++ b/pkg/linux_amd64/internal/testenv.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/testlog.a b/pkg/linux_amd64/internal/testlog.a
index 50daf20..cbe3ac7 100644
--- a/pkg/linux_amd64/internal/testlog.a
+++ b/pkg/linux_amd64/internal/testlog.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/trace.a b/pkg/linux_amd64/internal/trace.a
index c33fc5f..3d70c81 100644
--- a/pkg/linux_amd64/internal/trace.a
+++ b/pkg/linux_amd64/internal/trace.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/unsafeheader.a b/pkg/linux_amd64/internal/unsafeheader.a
index 3277844..55807f4 100644
--- a/pkg/linux_amd64/internal/unsafeheader.a
+++ b/pkg/linux_amd64/internal/unsafeheader.a
Binary files differ
diff --git a/pkg/linux_amd64/internal/xcoff.a b/pkg/linux_amd64/internal/xcoff.a
index 5bdba2d..2517dbe 100644
--- a/pkg/linux_amd64/internal/xcoff.a
+++ b/pkg/linux_amd64/internal/xcoff.a
Binary files differ
diff --git a/pkg/linux_amd64/io.a b/pkg/linux_amd64/io.a
index f2c3ce8..f614092 100644
--- a/pkg/linux_amd64/io.a
+++ b/pkg/linux_amd64/io.a
Binary files differ
diff --git a/pkg/linux_amd64/io/ioutil.a b/pkg/linux_amd64/io/ioutil.a
index 034bc0b..9502d7f 100644
--- a/pkg/linux_amd64/io/ioutil.a
+++ b/pkg/linux_amd64/io/ioutil.a
Binary files differ
diff --git a/pkg/linux_amd64/log.a b/pkg/linux_amd64/log.a
index 3a86c7b..4895bb0 100644
--- a/pkg/linux_amd64/log.a
+++ b/pkg/linux_amd64/log.a
Binary files differ
diff --git a/pkg/linux_amd64/log/syslog.a b/pkg/linux_amd64/log/syslog.a
index 76d6566..20a62bc 100644
--- a/pkg/linux_amd64/log/syslog.a
+++ b/pkg/linux_amd64/log/syslog.a
Binary files differ
diff --git a/pkg/linux_amd64/math.a b/pkg/linux_amd64/math.a
index 8274731..9dc87d5 100644
--- a/pkg/linux_amd64/math.a
+++ b/pkg/linux_amd64/math.a
Binary files differ
diff --git a/pkg/linux_amd64/math/big.a b/pkg/linux_amd64/math/big.a
index 6e6b622..5d01f1b 100644
--- a/pkg/linux_amd64/math/big.a
+++ b/pkg/linux_amd64/math/big.a
Binary files differ
diff --git a/pkg/linux_amd64/math/bits.a b/pkg/linux_amd64/math/bits.a
index 6d29893..53a085d 100644
--- a/pkg/linux_amd64/math/bits.a
+++ b/pkg/linux_amd64/math/bits.a
Binary files differ
diff --git a/pkg/linux_amd64/math/cmplx.a b/pkg/linux_amd64/math/cmplx.a
index 2b1f0fd..219febf 100644
--- a/pkg/linux_amd64/math/cmplx.a
+++ b/pkg/linux_amd64/math/cmplx.a
Binary files differ
diff --git a/pkg/linux_amd64/math/rand.a b/pkg/linux_amd64/math/rand.a
index a73ff4e..15f3782 100644
--- a/pkg/linux_amd64/math/rand.a
+++ b/pkg/linux_amd64/math/rand.a
Binary files differ
diff --git a/pkg/linux_amd64/mime.a b/pkg/linux_amd64/mime.a
index b97f64b..264b6f7 100644
--- a/pkg/linux_amd64/mime.a
+++ b/pkg/linux_amd64/mime.a
Binary files differ
diff --git a/pkg/linux_amd64/mime/multipart.a b/pkg/linux_amd64/mime/multipart.a
index 0d058cd..6f6f8b5 100644
--- a/pkg/linux_amd64/mime/multipart.a
+++ b/pkg/linux_amd64/mime/multipart.a
Binary files differ
diff --git a/pkg/linux_amd64/mime/quotedprintable.a b/pkg/linux_amd64/mime/quotedprintable.a
index 64179a8..d46f606 100644
--- a/pkg/linux_amd64/mime/quotedprintable.a
+++ b/pkg/linux_amd64/mime/quotedprintable.a
Binary files differ
diff --git a/pkg/linux_amd64/net.a b/pkg/linux_amd64/net.a
index 6f214cc..5152946 100644
--- a/pkg/linux_amd64/net.a
+++ b/pkg/linux_amd64/net.a
Binary files differ
diff --git a/pkg/linux_amd64/net/http.a b/pkg/linux_amd64/net/http.a
index e5a264a..8e74eeb 100644
--- a/pkg/linux_amd64/net/http.a
+++ b/pkg/linux_amd64/net/http.a
Binary files differ
diff --git a/pkg/linux_amd64/net/http/cgi.a b/pkg/linux_amd64/net/http/cgi.a
index 4078a56..725b574 100644
--- a/pkg/linux_amd64/net/http/cgi.a
+++ b/pkg/linux_amd64/net/http/cgi.a
Binary files differ
diff --git a/pkg/linux_amd64/net/http/cookiejar.a b/pkg/linux_amd64/net/http/cookiejar.a
index 9b838f2..a240e8f 100644
--- a/pkg/linux_amd64/net/http/cookiejar.a
+++ b/pkg/linux_amd64/net/http/cookiejar.a
Binary files differ
diff --git a/pkg/linux_amd64/net/http/fcgi.a b/pkg/linux_amd64/net/http/fcgi.a
index 09465d2..2ef58bf 100644
--- a/pkg/linux_amd64/net/http/fcgi.a
+++ b/pkg/linux_amd64/net/http/fcgi.a
Binary files differ
diff --git a/pkg/linux_amd64/net/http/httptest.a b/pkg/linux_amd64/net/http/httptest.a
index 334584c..df984c0 100644
--- a/pkg/linux_amd64/net/http/httptest.a
+++ b/pkg/linux_amd64/net/http/httptest.a
Binary files differ
diff --git a/pkg/linux_amd64/net/http/httptrace.a b/pkg/linux_amd64/net/http/httptrace.a
index 9e09cc1..872ebea 100644
--- a/pkg/linux_amd64/net/http/httptrace.a
+++ b/pkg/linux_amd64/net/http/httptrace.a
Binary files differ
diff --git a/pkg/linux_amd64/net/http/httputil.a b/pkg/linux_amd64/net/http/httputil.a
index 559e7ac..32f6419 100644
--- a/pkg/linux_amd64/net/http/httputil.a
+++ b/pkg/linux_amd64/net/http/httputil.a
Binary files differ
diff --git a/pkg/linux_amd64/net/http/internal.a b/pkg/linux_amd64/net/http/internal.a
index 8f9d797..740b616 100644
--- a/pkg/linux_amd64/net/http/internal.a
+++ b/pkg/linux_amd64/net/http/internal.a
Binary files differ
diff --git a/pkg/linux_amd64/net/http/pprof.a b/pkg/linux_amd64/net/http/pprof.a
index e3a8c89..18fd5cb 100644
--- a/pkg/linux_amd64/net/http/pprof.a
+++ b/pkg/linux_amd64/net/http/pprof.a
Binary files differ
diff --git a/pkg/linux_amd64/net/internal/socktest.a b/pkg/linux_amd64/net/internal/socktest.a
index d4670ad..1115855 100644
--- a/pkg/linux_amd64/net/internal/socktest.a
+++ b/pkg/linux_amd64/net/internal/socktest.a
Binary files differ
diff --git a/pkg/linux_amd64/net/mail.a b/pkg/linux_amd64/net/mail.a
index 47464d8..529761f 100644
--- a/pkg/linux_amd64/net/mail.a
+++ b/pkg/linux_amd64/net/mail.a
Binary files differ
diff --git a/pkg/linux_amd64/net/rpc.a b/pkg/linux_amd64/net/rpc.a
index 622dbe5..85ee1cb 100644
--- a/pkg/linux_amd64/net/rpc.a
+++ b/pkg/linux_amd64/net/rpc.a
Binary files differ
diff --git a/pkg/linux_amd64/net/rpc/jsonrpc.a b/pkg/linux_amd64/net/rpc/jsonrpc.a
index 4418c89..ac76e75 100644
--- a/pkg/linux_amd64/net/rpc/jsonrpc.a
+++ b/pkg/linux_amd64/net/rpc/jsonrpc.a
Binary files differ
diff --git a/pkg/linux_amd64/net/smtp.a b/pkg/linux_amd64/net/smtp.a
index 85afae8..1409c4a 100644
--- a/pkg/linux_amd64/net/smtp.a
+++ b/pkg/linux_amd64/net/smtp.a
Binary files differ
diff --git a/pkg/linux_amd64/net/textproto.a b/pkg/linux_amd64/net/textproto.a
index 4d547ab..cecaec0 100644
--- a/pkg/linux_amd64/net/textproto.a
+++ b/pkg/linux_amd64/net/textproto.a
Binary files differ
diff --git a/pkg/linux_amd64/net/url.a b/pkg/linux_amd64/net/url.a
index 7010ec9..630d3e0 100644
--- a/pkg/linux_amd64/net/url.a
+++ b/pkg/linux_amd64/net/url.a
Binary files differ
diff --git a/pkg/linux_amd64/os.a b/pkg/linux_amd64/os.a
index 6c497e6..6da7ee5 100644
--- a/pkg/linux_amd64/os.a
+++ b/pkg/linux_amd64/os.a
Binary files differ
diff --git a/pkg/linux_amd64/os/exec.a b/pkg/linux_amd64/os/exec.a
index 8b96b66..c87260a 100644
--- a/pkg/linux_amd64/os/exec.a
+++ b/pkg/linux_amd64/os/exec.a
Binary files differ
diff --git a/pkg/linux_amd64/os/signal.a b/pkg/linux_amd64/os/signal.a
index 14a844f..837cbaa 100644
--- a/pkg/linux_amd64/os/signal.a
+++ b/pkg/linux_amd64/os/signal.a
Binary files differ
diff --git a/pkg/linux_amd64/os/signal/internal/pty.a b/pkg/linux_amd64/os/signal/internal/pty.a
index df4f6b6..4487e76 100644
--- a/pkg/linux_amd64/os/signal/internal/pty.a
+++ b/pkg/linux_amd64/os/signal/internal/pty.a
Binary files differ
diff --git a/pkg/linux_amd64/os/user.a b/pkg/linux_amd64/os/user.a
index 13820f8..9b3942b 100644
--- a/pkg/linux_amd64/os/user.a
+++ b/pkg/linux_amd64/os/user.a
Binary files differ
diff --git a/pkg/linux_amd64/path.a b/pkg/linux_amd64/path.a
index 40d6930..4042689 100644
--- a/pkg/linux_amd64/path.a
+++ b/pkg/linux_amd64/path.a
Binary files differ
diff --git a/pkg/linux_amd64/path/filepath.a b/pkg/linux_amd64/path/filepath.a
index e130ab7..c660a10 100644
--- a/pkg/linux_amd64/path/filepath.a
+++ b/pkg/linux_amd64/path/filepath.a
Binary files differ
diff --git a/pkg/linux_amd64/plugin.a b/pkg/linux_amd64/plugin.a
index 0210ca0..2ce79a0 100644
--- a/pkg/linux_amd64/plugin.a
+++ b/pkg/linux_amd64/plugin.a
Binary files differ
diff --git a/pkg/linux_amd64/reflect.a b/pkg/linux_amd64/reflect.a
index c2119d3..dbef68b 100644
--- a/pkg/linux_amd64/reflect.a
+++ b/pkg/linux_amd64/reflect.a
Binary files differ
diff --git a/pkg/linux_amd64/regexp.a b/pkg/linux_amd64/regexp.a
index e57d6c9..105bd2c 100644
--- a/pkg/linux_amd64/regexp.a
+++ b/pkg/linux_amd64/regexp.a
Binary files differ
diff --git a/pkg/linux_amd64/regexp/syntax.a b/pkg/linux_amd64/regexp/syntax.a
index 2919bc8..3f85d72 100644
--- a/pkg/linux_amd64/regexp/syntax.a
+++ b/pkg/linux_amd64/regexp/syntax.a
Binary files differ
diff --git a/pkg/linux_amd64/runtime.a b/pkg/linux_amd64/runtime.a
index 1c41c11..40c2d74 100644
--- a/pkg/linux_amd64/runtime.a
+++ b/pkg/linux_amd64/runtime.a
Binary files differ
diff --git a/pkg/linux_amd64/runtime/cgo.a b/pkg/linux_amd64/runtime/cgo.a
index 599b541..25665af 100644
--- a/pkg/linux_amd64/runtime/cgo.a
+++ b/pkg/linux_amd64/runtime/cgo.a
Binary files differ
diff --git a/pkg/linux_amd64/runtime/debug.a b/pkg/linux_amd64/runtime/debug.a
index 6575db2..42bd9b9 100644
--- a/pkg/linux_amd64/runtime/debug.a
+++ b/pkg/linux_amd64/runtime/debug.a
Binary files differ
diff --git a/pkg/linux_amd64/runtime/internal/atomic.a b/pkg/linux_amd64/runtime/internal/atomic.a
index bb56ec7..f228ca2 100644
--- a/pkg/linux_amd64/runtime/internal/atomic.a
+++ b/pkg/linux_amd64/runtime/internal/atomic.a
Binary files differ
diff --git a/pkg/linux_amd64/runtime/internal/math.a b/pkg/linux_amd64/runtime/internal/math.a
index 9a2de51..7ca9350 100644
--- a/pkg/linux_amd64/runtime/internal/math.a
+++ b/pkg/linux_amd64/runtime/internal/math.a
Binary files differ
diff --git a/pkg/linux_amd64/runtime/internal/sys.a b/pkg/linux_amd64/runtime/internal/sys.a
index 4476992..61a232f 100644
--- a/pkg/linux_amd64/runtime/internal/sys.a
+++ b/pkg/linux_amd64/runtime/internal/sys.a
Binary files differ
diff --git a/pkg/linux_amd64/runtime/pprof.a b/pkg/linux_amd64/runtime/pprof.a
index 3aa26fe..2448514 100644
--- a/pkg/linux_amd64/runtime/pprof.a
+++ b/pkg/linux_amd64/runtime/pprof.a
Binary files differ
diff --git a/pkg/linux_amd64/runtime/race.a b/pkg/linux_amd64/runtime/race.a
index bd29104..84890b3 100644
--- a/pkg/linux_amd64/runtime/race.a
+++ b/pkg/linux_amd64/runtime/race.a
Binary files differ
diff --git a/pkg/linux_amd64/runtime/trace.a b/pkg/linux_amd64/runtime/trace.a
index d3b37ff..a87482f 100644
--- a/pkg/linux_amd64/runtime/trace.a
+++ b/pkg/linux_amd64/runtime/trace.a
Binary files differ
diff --git a/pkg/linux_amd64/sort.a b/pkg/linux_amd64/sort.a
index 78b5e1f..52549ba 100644
--- a/pkg/linux_amd64/sort.a
+++ b/pkg/linux_amd64/sort.a
Binary files differ
diff --git a/pkg/linux_amd64/strconv.a b/pkg/linux_amd64/strconv.a
index 43beb88..93548eb 100644
--- a/pkg/linux_amd64/strconv.a
+++ b/pkg/linux_amd64/strconv.a
Binary files differ
diff --git a/pkg/linux_amd64/strings.a b/pkg/linux_amd64/strings.a
index d7c8feb..7897bcb 100644
--- a/pkg/linux_amd64/strings.a
+++ b/pkg/linux_amd64/strings.a
Binary files differ
diff --git a/pkg/linux_amd64/sync.a b/pkg/linux_amd64/sync.a
index 0b39cd5..06851a0 100644
--- a/pkg/linux_amd64/sync.a
+++ b/pkg/linux_amd64/sync.a
Binary files differ
diff --git a/pkg/linux_amd64/sync/atomic.a b/pkg/linux_amd64/sync/atomic.a
index 9ad62d3..9a8e3e5 100644
--- a/pkg/linux_amd64/sync/atomic.a
+++ b/pkg/linux_amd64/sync/atomic.a
Binary files differ
diff --git a/pkg/linux_amd64/syscall.a b/pkg/linux_amd64/syscall.a
index e3d053d..f29f8dc 100644
--- a/pkg/linux_amd64/syscall.a
+++ b/pkg/linux_amd64/syscall.a
Binary files differ
diff --git a/pkg/linux_amd64/testing.a b/pkg/linux_amd64/testing.a
index baa2cb6..c3a810c 100644
--- a/pkg/linux_amd64/testing.a
+++ b/pkg/linux_amd64/testing.a
Binary files differ
diff --git a/pkg/linux_amd64/testing/internal/testdeps.a b/pkg/linux_amd64/testing/internal/testdeps.a
index e68f904..66a1230 100644
--- a/pkg/linux_amd64/testing/internal/testdeps.a
+++ b/pkg/linux_amd64/testing/internal/testdeps.a
Binary files differ
diff --git a/pkg/linux_amd64/testing/iotest.a b/pkg/linux_amd64/testing/iotest.a
index 4a4d745..c6fa177 100644
--- a/pkg/linux_amd64/testing/iotest.a
+++ b/pkg/linux_amd64/testing/iotest.a
Binary files differ
diff --git a/pkg/linux_amd64/testing/quick.a b/pkg/linux_amd64/testing/quick.a
index a0fc5bc..6362c11 100644
--- a/pkg/linux_amd64/testing/quick.a
+++ b/pkg/linux_amd64/testing/quick.a
Binary files differ
diff --git a/pkg/linux_amd64/text/scanner.a b/pkg/linux_amd64/text/scanner.a
index 648a3ba..476d1a0 100644
--- a/pkg/linux_amd64/text/scanner.a
+++ b/pkg/linux_amd64/text/scanner.a
Binary files differ
diff --git a/pkg/linux_amd64/text/tabwriter.a b/pkg/linux_amd64/text/tabwriter.a
index 768ff0e..27b8f8c 100644
--- a/pkg/linux_amd64/text/tabwriter.a
+++ b/pkg/linux_amd64/text/tabwriter.a
Binary files differ
diff --git a/pkg/linux_amd64/text/template.a b/pkg/linux_amd64/text/template.a
index 0704abf..b1d809c 100644
--- a/pkg/linux_amd64/text/template.a
+++ b/pkg/linux_amd64/text/template.a
Binary files differ
diff --git a/pkg/linux_amd64/text/template/parse.a b/pkg/linux_amd64/text/template/parse.a
index be65af6..c75fa47 100644
--- a/pkg/linux_amd64/text/template/parse.a
+++ b/pkg/linux_amd64/text/template/parse.a
Binary files differ
diff --git a/pkg/linux_amd64/time.a b/pkg/linux_amd64/time.a
index 85dd209..796f3a8 100644
--- a/pkg/linux_amd64/time.a
+++ b/pkg/linux_amd64/time.a
Binary files differ
diff --git a/pkg/linux_amd64/time/tzdata.a b/pkg/linux_amd64/time/tzdata.a
index 4893b59..9b4ee40 100644
--- a/pkg/linux_amd64/time/tzdata.a
+++ b/pkg/linux_amd64/time/tzdata.a
Binary files differ
diff --git a/pkg/linux_amd64/unicode.a b/pkg/linux_amd64/unicode.a
index f4bb3b1..43e87a3 100644
--- a/pkg/linux_amd64/unicode.a
+++ b/pkg/linux_amd64/unicode.a
Binary files differ
diff --git a/pkg/linux_amd64/unicode/utf16.a b/pkg/linux_amd64/unicode/utf16.a
index 12da27d..6190bfd 100644
--- a/pkg/linux_amd64/unicode/utf16.a
+++ b/pkg/linux_amd64/unicode/utf16.a
Binary files differ
diff --git a/pkg/linux_amd64/unicode/utf8.a b/pkg/linux_amd64/unicode/utf8.a
index 4197a4e..116e7a7 100644
--- a/pkg/linux_amd64/unicode/utf8.a
+++ b/pkg/linux_amd64/unicode/utf8.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/crypto/chacha20.a b/pkg/linux_amd64/vendor/golang.org/x/crypto/chacha20.a
index b6d58e7..c8ecce1 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/crypto/chacha20.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/crypto/chacha20.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/crypto/chacha20poly1305.a b/pkg/linux_amd64/vendor/golang.org/x/crypto/chacha20poly1305.a
index da0bf1d..2583460 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/crypto/chacha20poly1305.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/crypto/chacha20poly1305.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/crypto/cryptobyte.a b/pkg/linux_amd64/vendor/golang.org/x/crypto/cryptobyte.a
index a7f3a55..302f439 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/crypto/cryptobyte.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/crypto/cryptobyte.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/crypto/cryptobyte/asn1.a b/pkg/linux_amd64/vendor/golang.org/x/crypto/cryptobyte/asn1.a
index 6f0a308..a40c298 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/crypto/cryptobyte/asn1.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/crypto/cryptobyte/asn1.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/crypto/curve25519.a b/pkg/linux_amd64/vendor/golang.org/x/crypto/curve25519.a
index a285bf1..753dc30 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/crypto/curve25519.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/crypto/curve25519.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/crypto/hkdf.a b/pkg/linux_amd64/vendor/golang.org/x/crypto/hkdf.a
index 3d83985..0b0d030 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/crypto/hkdf.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/crypto/hkdf.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/crypto/internal/subtle.a b/pkg/linux_amd64/vendor/golang.org/x/crypto/internal/subtle.a
index 662288f..d3241d0 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/crypto/internal/subtle.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/crypto/internal/subtle.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/crypto/poly1305.a b/pkg/linux_amd64/vendor/golang.org/x/crypto/poly1305.a
index 573d251..0b248c4 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/crypto/poly1305.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/crypto/poly1305.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/net/dns/dnsmessage.a b/pkg/linux_amd64/vendor/golang.org/x/net/dns/dnsmessage.a
index aa1aada..2bf1984 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/net/dns/dnsmessage.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/net/dns/dnsmessage.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/net/http/httpguts.a b/pkg/linux_amd64/vendor/golang.org/x/net/http/httpguts.a
index 7a39f08..3bd9a7b 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/net/http/httpguts.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/net/http/httpguts.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/net/http/httpproxy.a b/pkg/linux_amd64/vendor/golang.org/x/net/http/httpproxy.a
index 2edd2e2..184714f 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/net/http/httpproxy.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/net/http/httpproxy.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/net/http2/hpack.a b/pkg/linux_amd64/vendor/golang.org/x/net/http2/hpack.a
index 8663101..7c5a8ba 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/net/http2/hpack.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/net/http2/hpack.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/net/idna.a b/pkg/linux_amd64/vendor/golang.org/x/net/idna.a
index b976cff..f880353 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/net/idna.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/net/idna.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/net/nettest.a b/pkg/linux_amd64/vendor/golang.org/x/net/nettest.a
index 0021b24..8e50bdd 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/net/nettest.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/net/nettest.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/sys/cpu.a b/pkg/linux_amd64/vendor/golang.org/x/sys/cpu.a
index 2c7c458..3ad505c 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/sys/cpu.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/sys/cpu.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/text/secure/bidirule.a b/pkg/linux_amd64/vendor/golang.org/x/text/secure/bidirule.a
index b6d24fb..576cea3 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/text/secure/bidirule.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/text/secure/bidirule.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/text/transform.a b/pkg/linux_amd64/vendor/golang.org/x/text/transform.a
index dfb512b..4bd14c2 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/text/transform.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/text/transform.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/text/unicode/bidi.a b/pkg/linux_amd64/vendor/golang.org/x/text/unicode/bidi.a
index 2f8b798..d24dc8e 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/text/unicode/bidi.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/text/unicode/bidi.a
Binary files differ
diff --git a/pkg/linux_amd64/vendor/golang.org/x/text/unicode/norm.a b/pkg/linux_amd64/vendor/golang.org/x/text/unicode/norm.a
index 4e6cc55..8d3d949 100644
--- a/pkg/linux_amd64/vendor/golang.org/x/text/unicode/norm.a
+++ b/pkg/linux_amd64/vendor/golang.org/x/text/unicode/norm.a
Binary files differ
diff --git a/pkg/linux_amd64_race/archive/tar.a b/pkg/linux_amd64_race/archive/tar.a
index 101c816..9a82178 100644
--- a/pkg/linux_amd64_race/archive/tar.a
+++ b/pkg/linux_amd64_race/archive/tar.a
Binary files differ
diff --git a/pkg/linux_amd64_race/archive/zip.a b/pkg/linux_amd64_race/archive/zip.a
index e1f5ed9..0bdb38f 100644
--- a/pkg/linux_amd64_race/archive/zip.a
+++ b/pkg/linux_amd64_race/archive/zip.a
Binary files differ
diff --git a/pkg/linux_amd64_race/bufio.a b/pkg/linux_amd64_race/bufio.a
index 386cd1d..dacfe6c 100644
--- a/pkg/linux_amd64_race/bufio.a
+++ b/pkg/linux_amd64_race/bufio.a
Binary files differ
diff --git a/pkg/linux_amd64_race/bytes.a b/pkg/linux_amd64_race/bytes.a
index 1ef5153..f3f934c 100644
--- a/pkg/linux_amd64_race/bytes.a
+++ b/pkg/linux_amd64_race/bytes.a
Binary files differ
diff --git a/pkg/linux_amd64_race/compress/bzip2.a b/pkg/linux_amd64_race/compress/bzip2.a
index 08889f5..63cc51c 100644
--- a/pkg/linux_amd64_race/compress/bzip2.a
+++ b/pkg/linux_amd64_race/compress/bzip2.a
Binary files differ
diff --git a/pkg/linux_amd64_race/compress/flate.a b/pkg/linux_amd64_race/compress/flate.a
index 4d8ec0e..a155e73 100644
--- a/pkg/linux_amd64_race/compress/flate.a
+++ b/pkg/linux_amd64_race/compress/flate.a
Binary files differ
diff --git a/pkg/linux_amd64_race/compress/gzip.a b/pkg/linux_amd64_race/compress/gzip.a
index 2afaacc..b6aa7a2 100644
--- a/pkg/linux_amd64_race/compress/gzip.a
+++ b/pkg/linux_amd64_race/compress/gzip.a
Binary files differ
diff --git a/pkg/linux_amd64_race/compress/lzw.a b/pkg/linux_amd64_race/compress/lzw.a
index f84a4f1..dd0132a 100644
--- a/pkg/linux_amd64_race/compress/lzw.a
+++ b/pkg/linux_amd64_race/compress/lzw.a
Binary files differ
diff --git a/pkg/linux_amd64_race/compress/zlib.a b/pkg/linux_amd64_race/compress/zlib.a
index 7cd79d9..06ee195 100644
--- a/pkg/linux_amd64_race/compress/zlib.a
+++ b/pkg/linux_amd64_race/compress/zlib.a
Binary files differ
diff --git a/pkg/linux_amd64_race/container/heap.a b/pkg/linux_amd64_race/container/heap.a
index 41e5c32..ccfd33a 100644
--- a/pkg/linux_amd64_race/container/heap.a
+++ b/pkg/linux_amd64_race/container/heap.a
Binary files differ
diff --git a/pkg/linux_amd64_race/container/list.a b/pkg/linux_amd64_race/container/list.a
index 9a4abf5..731bc8c 100644
--- a/pkg/linux_amd64_race/container/list.a
+++ b/pkg/linux_amd64_race/container/list.a
Binary files differ
diff --git a/pkg/linux_amd64_race/container/ring.a b/pkg/linux_amd64_race/container/ring.a
index 24b157d..70598d4 100644
--- a/pkg/linux_amd64_race/container/ring.a
+++ b/pkg/linux_amd64_race/container/ring.a
Binary files differ
diff --git a/pkg/linux_amd64_race/context.a b/pkg/linux_amd64_race/context.a
index 102264a..5d9346e 100644
--- a/pkg/linux_amd64_race/context.a
+++ b/pkg/linux_amd64_race/context.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto.a b/pkg/linux_amd64_race/crypto.a
index 12a5c63..cf87cec 100644
--- a/pkg/linux_amd64_race/crypto.a
+++ b/pkg/linux_amd64_race/crypto.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/aes.a b/pkg/linux_amd64_race/crypto/aes.a
index 8e5acb5..814f1c9 100644
--- a/pkg/linux_amd64_race/crypto/aes.a
+++ b/pkg/linux_amd64_race/crypto/aes.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/cipher.a b/pkg/linux_amd64_race/crypto/cipher.a
index 747134f..ac0f2d1 100644
--- a/pkg/linux_amd64_race/crypto/cipher.a
+++ b/pkg/linux_amd64_race/crypto/cipher.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/des.a b/pkg/linux_amd64_race/crypto/des.a
index f8e32b0..326c47a 100644
--- a/pkg/linux_amd64_race/crypto/des.a
+++ b/pkg/linux_amd64_race/crypto/des.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/dsa.a b/pkg/linux_amd64_race/crypto/dsa.a
index 4bf7d2d..2739c14 100644
--- a/pkg/linux_amd64_race/crypto/dsa.a
+++ b/pkg/linux_amd64_race/crypto/dsa.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/ecdsa.a b/pkg/linux_amd64_race/crypto/ecdsa.a
index 5aaf917..3528aaa 100644
--- a/pkg/linux_amd64_race/crypto/ecdsa.a
+++ b/pkg/linux_amd64_race/crypto/ecdsa.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/ed25519.a b/pkg/linux_amd64_race/crypto/ed25519.a
index 662ffdb..1b1865c 100644
--- a/pkg/linux_amd64_race/crypto/ed25519.a
+++ b/pkg/linux_amd64_race/crypto/ed25519.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/ed25519/internal/edwards25519.a b/pkg/linux_amd64_race/crypto/ed25519/internal/edwards25519.a
index 3ef58da..4b23210 100644
--- a/pkg/linux_amd64_race/crypto/ed25519/internal/edwards25519.a
+++ b/pkg/linux_amd64_race/crypto/ed25519/internal/edwards25519.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/elliptic.a b/pkg/linux_amd64_race/crypto/elliptic.a
index 3a46a8f..214249a 100644
--- a/pkg/linux_amd64_race/crypto/elliptic.a
+++ b/pkg/linux_amd64_race/crypto/elliptic.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/hmac.a b/pkg/linux_amd64_race/crypto/hmac.a
index 836cc77..7d633f0 100644
--- a/pkg/linux_amd64_race/crypto/hmac.a
+++ b/pkg/linux_amd64_race/crypto/hmac.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/internal/randutil.a b/pkg/linux_amd64_race/crypto/internal/randutil.a
index 8b8fead..4776598 100644
--- a/pkg/linux_amd64_race/crypto/internal/randutil.a
+++ b/pkg/linux_amd64_race/crypto/internal/randutil.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/internal/subtle.a b/pkg/linux_amd64_race/crypto/internal/subtle.a
index 7deb477..86ed201 100644
--- a/pkg/linux_amd64_race/crypto/internal/subtle.a
+++ b/pkg/linux_amd64_race/crypto/internal/subtle.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/md5.a b/pkg/linux_amd64_race/crypto/md5.a
index 8248ab2..4874e32 100644
--- a/pkg/linux_amd64_race/crypto/md5.a
+++ b/pkg/linux_amd64_race/crypto/md5.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/rand.a b/pkg/linux_amd64_race/crypto/rand.a
index 2ebe7fc..488d795 100644
--- a/pkg/linux_amd64_race/crypto/rand.a
+++ b/pkg/linux_amd64_race/crypto/rand.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/rc4.a b/pkg/linux_amd64_race/crypto/rc4.a
index 22d5a31..2407923 100644
--- a/pkg/linux_amd64_race/crypto/rc4.a
+++ b/pkg/linux_amd64_race/crypto/rc4.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/rsa.a b/pkg/linux_amd64_race/crypto/rsa.a
index efb5868..094dff8 100644
--- a/pkg/linux_amd64_race/crypto/rsa.a
+++ b/pkg/linux_amd64_race/crypto/rsa.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/sha1.a b/pkg/linux_amd64_race/crypto/sha1.a
index 20e6b8a..83be3cb 100644
--- a/pkg/linux_amd64_race/crypto/sha1.a
+++ b/pkg/linux_amd64_race/crypto/sha1.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/sha256.a b/pkg/linux_amd64_race/crypto/sha256.a
index 5861be1..a5a81bc 100644
--- a/pkg/linux_amd64_race/crypto/sha256.a
+++ b/pkg/linux_amd64_race/crypto/sha256.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/sha512.a b/pkg/linux_amd64_race/crypto/sha512.a
index 9b03c79..5c7a3f9 100644
--- a/pkg/linux_amd64_race/crypto/sha512.a
+++ b/pkg/linux_amd64_race/crypto/sha512.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/subtle.a b/pkg/linux_amd64_race/crypto/subtle.a
index 7d47d22..bceca76 100644
--- a/pkg/linux_amd64_race/crypto/subtle.a
+++ b/pkg/linux_amd64_race/crypto/subtle.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/tls.a b/pkg/linux_amd64_race/crypto/tls.a
index 89ecb62..ed3a216 100644
--- a/pkg/linux_amd64_race/crypto/tls.a
+++ b/pkg/linux_amd64_race/crypto/tls.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/x509.a b/pkg/linux_amd64_race/crypto/x509.a
index d8c3ac3..bec3537 100644
--- a/pkg/linux_amd64_race/crypto/x509.a
+++ b/pkg/linux_amd64_race/crypto/x509.a
Binary files differ
diff --git a/pkg/linux_amd64_race/crypto/x509/pkix.a b/pkg/linux_amd64_race/crypto/x509/pkix.a
index 287d8f2..edeac45 100644
--- a/pkg/linux_amd64_race/crypto/x509/pkix.a
+++ b/pkg/linux_amd64_race/crypto/x509/pkix.a
Binary files differ
diff --git a/pkg/linux_amd64_race/database/sql.a b/pkg/linux_amd64_race/database/sql.a
index 85defde..4319e35 100644
--- a/pkg/linux_amd64_race/database/sql.a
+++ b/pkg/linux_amd64_race/database/sql.a
Binary files differ
diff --git a/pkg/linux_amd64_race/database/sql/driver.a b/pkg/linux_amd64_race/database/sql/driver.a
index 0442c01..35ee77f 100644
--- a/pkg/linux_amd64_race/database/sql/driver.a
+++ b/pkg/linux_amd64_race/database/sql/driver.a
Binary files differ
diff --git a/pkg/linux_amd64_race/debug/dwarf.a b/pkg/linux_amd64_race/debug/dwarf.a
index 8496119..211ec68 100644
--- a/pkg/linux_amd64_race/debug/dwarf.a
+++ b/pkg/linux_amd64_race/debug/dwarf.a
Binary files differ
diff --git a/pkg/linux_amd64_race/debug/elf.a b/pkg/linux_amd64_race/debug/elf.a
index e29b81f..1960314 100644
--- a/pkg/linux_amd64_race/debug/elf.a
+++ b/pkg/linux_amd64_race/debug/elf.a
Binary files differ
diff --git a/pkg/linux_amd64_race/debug/gosym.a b/pkg/linux_amd64_race/debug/gosym.a
index 0b4cc88..cad0b34 100644
--- a/pkg/linux_amd64_race/debug/gosym.a
+++ b/pkg/linux_amd64_race/debug/gosym.a
Binary files differ
diff --git a/pkg/linux_amd64_race/debug/macho.a b/pkg/linux_amd64_race/debug/macho.a
index 6f53b41..aeed85e 100644
--- a/pkg/linux_amd64_race/debug/macho.a
+++ b/pkg/linux_amd64_race/debug/macho.a
Binary files differ
diff --git a/pkg/linux_amd64_race/debug/pe.a b/pkg/linux_amd64_race/debug/pe.a
index 0ab46a5..8b48b63 100644
--- a/pkg/linux_amd64_race/debug/pe.a
+++ b/pkg/linux_amd64_race/debug/pe.a
Binary files differ
diff --git a/pkg/linux_amd64_race/debug/plan9obj.a b/pkg/linux_amd64_race/debug/plan9obj.a
index f69a21a..8e8690b 100644
--- a/pkg/linux_amd64_race/debug/plan9obj.a
+++ b/pkg/linux_amd64_race/debug/plan9obj.a
Binary files differ
diff --git a/pkg/linux_amd64_race/encoding.a b/pkg/linux_amd64_race/encoding.a
index 9b1c617..e0cb075 100644
--- a/pkg/linux_amd64_race/encoding.a
+++ b/pkg/linux_amd64_race/encoding.a
Binary files differ
diff --git a/pkg/linux_amd64_race/encoding/ascii85.a b/pkg/linux_amd64_race/encoding/ascii85.a
index aaf6c69..fc34df5 100644
--- a/pkg/linux_amd64_race/encoding/ascii85.a
+++ b/pkg/linux_amd64_race/encoding/ascii85.a
Binary files differ
diff --git a/pkg/linux_amd64_race/encoding/asn1.a b/pkg/linux_amd64_race/encoding/asn1.a
index 765efee..f940c43 100644
--- a/pkg/linux_amd64_race/encoding/asn1.a
+++ b/pkg/linux_amd64_race/encoding/asn1.a
Binary files differ
diff --git a/pkg/linux_amd64_race/encoding/base32.a b/pkg/linux_amd64_race/encoding/base32.a
index f009d51..ff0f473 100644
--- a/pkg/linux_amd64_race/encoding/base32.a
+++ b/pkg/linux_amd64_race/encoding/base32.a
Binary files differ
diff --git a/pkg/linux_amd64_race/encoding/base64.a b/pkg/linux_amd64_race/encoding/base64.a
index f821cf1..44ab52c 100644
--- a/pkg/linux_amd64_race/encoding/base64.a
+++ b/pkg/linux_amd64_race/encoding/base64.a
Binary files differ
diff --git a/pkg/linux_amd64_race/encoding/binary.a b/pkg/linux_amd64_race/encoding/binary.a
index e6a094d..a01c7db 100644
--- a/pkg/linux_amd64_race/encoding/binary.a
+++ b/pkg/linux_amd64_race/encoding/binary.a
Binary files differ
diff --git a/pkg/linux_amd64_race/encoding/csv.a b/pkg/linux_amd64_race/encoding/csv.a
index 0bb4239..c4f8936 100644
--- a/pkg/linux_amd64_race/encoding/csv.a
+++ b/pkg/linux_amd64_race/encoding/csv.a
Binary files differ
diff --git a/pkg/linux_amd64_race/encoding/gob.a b/pkg/linux_amd64_race/encoding/gob.a
index d272668..89c5bb8 100644
--- a/pkg/linux_amd64_race/encoding/gob.a
+++ b/pkg/linux_amd64_race/encoding/gob.a
Binary files differ
diff --git a/pkg/linux_amd64_race/encoding/hex.a b/pkg/linux_amd64_race/encoding/hex.a
index aa1ab71..673bb10 100644
--- a/pkg/linux_amd64_race/encoding/hex.a
+++ b/pkg/linux_amd64_race/encoding/hex.a
Binary files differ
diff --git a/pkg/linux_amd64_race/encoding/json.a b/pkg/linux_amd64_race/encoding/json.a
index 28ecbfd..106159f 100644
--- a/pkg/linux_amd64_race/encoding/json.a
+++ b/pkg/linux_amd64_race/encoding/json.a
Binary files differ
diff --git a/pkg/linux_amd64_race/encoding/pem.a b/pkg/linux_amd64_race/encoding/pem.a
index 86cfae9..19dbd2a 100644
--- a/pkg/linux_amd64_race/encoding/pem.a
+++ b/pkg/linux_amd64_race/encoding/pem.a
Binary files differ
diff --git a/pkg/linux_amd64_race/encoding/xml.a b/pkg/linux_amd64_race/encoding/xml.a
index a0be16c..ece1099 100644
--- a/pkg/linux_amd64_race/encoding/xml.a
+++ b/pkg/linux_amd64_race/encoding/xml.a
Binary files differ
diff --git a/pkg/linux_amd64_race/errors.a b/pkg/linux_amd64_race/errors.a
index 0436b64..2d4d03a 100644
--- a/pkg/linux_amd64_race/errors.a
+++ b/pkg/linux_amd64_race/errors.a
Binary files differ
diff --git a/pkg/linux_amd64_race/expvar.a b/pkg/linux_amd64_race/expvar.a
index 3ccdbec..6837068 100644
--- a/pkg/linux_amd64_race/expvar.a
+++ b/pkg/linux_amd64_race/expvar.a
Binary files differ
diff --git a/pkg/linux_amd64_race/flag.a b/pkg/linux_amd64_race/flag.a
index f72f1e0..54e7373 100644
--- a/pkg/linux_amd64_race/flag.a
+++ b/pkg/linux_amd64_race/flag.a
Binary files differ
diff --git a/pkg/linux_amd64_race/fmt.a b/pkg/linux_amd64_race/fmt.a
index b15db17..f157ae4 100644
--- a/pkg/linux_amd64_race/fmt.a
+++ b/pkg/linux_amd64_race/fmt.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/ast.a b/pkg/linux_amd64_race/go/ast.a
index ca34b51..d94fc43 100644
--- a/pkg/linux_amd64_race/go/ast.a
+++ b/pkg/linux_amd64_race/go/ast.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/build.a b/pkg/linux_amd64_race/go/build.a
index 561e898..19c41f8 100644
--- a/pkg/linux_amd64_race/go/build.a
+++ b/pkg/linux_amd64_race/go/build.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/constant.a b/pkg/linux_amd64_race/go/constant.a
index 8eb98db..79864e4 100644
--- a/pkg/linux_amd64_race/go/constant.a
+++ b/pkg/linux_amd64_race/go/constant.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/doc.a b/pkg/linux_amd64_race/go/doc.a
index 951d4e5..d5eb7f7 100644
--- a/pkg/linux_amd64_race/go/doc.a
+++ b/pkg/linux_amd64_race/go/doc.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/format.a b/pkg/linux_amd64_race/go/format.a
index 2c8a9e2..d71bd50 100644
--- a/pkg/linux_amd64_race/go/format.a
+++ b/pkg/linux_amd64_race/go/format.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/importer.a b/pkg/linux_amd64_race/go/importer.a
index 70b03f3..439354d 100644
--- a/pkg/linux_amd64_race/go/importer.a
+++ b/pkg/linux_amd64_race/go/importer.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/internal/gccgoimporter.a b/pkg/linux_amd64_race/go/internal/gccgoimporter.a
index 6b8acad..9077a2c 100644
--- a/pkg/linux_amd64_race/go/internal/gccgoimporter.a
+++ b/pkg/linux_amd64_race/go/internal/gccgoimporter.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/internal/gcimporter.a b/pkg/linux_amd64_race/go/internal/gcimporter.a
index b8eeabb..cb6f34d 100644
--- a/pkg/linux_amd64_race/go/internal/gcimporter.a
+++ b/pkg/linux_amd64_race/go/internal/gcimporter.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/internal/srcimporter.a b/pkg/linux_amd64_race/go/internal/srcimporter.a
index 4c1db73..9d7eb2b 100644
--- a/pkg/linux_amd64_race/go/internal/srcimporter.a
+++ b/pkg/linux_amd64_race/go/internal/srcimporter.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/parser.a b/pkg/linux_amd64_race/go/parser.a
index 2871c7c..e87104c 100644
--- a/pkg/linux_amd64_race/go/parser.a
+++ b/pkg/linux_amd64_race/go/parser.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/printer.a b/pkg/linux_amd64_race/go/printer.a
index cf3fb6d..1d7cb8d 100644
--- a/pkg/linux_amd64_race/go/printer.a
+++ b/pkg/linux_amd64_race/go/printer.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/scanner.a b/pkg/linux_amd64_race/go/scanner.a
index ed96982..2636776 100644
--- a/pkg/linux_amd64_race/go/scanner.a
+++ b/pkg/linux_amd64_race/go/scanner.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/token.a b/pkg/linux_amd64_race/go/token.a
index fac392d..6860b71 100644
--- a/pkg/linux_amd64_race/go/token.a
+++ b/pkg/linux_amd64_race/go/token.a
Binary files differ
diff --git a/pkg/linux_amd64_race/go/types.a b/pkg/linux_amd64_race/go/types.a
index beff180..37f9489 100644
--- a/pkg/linux_amd64_race/go/types.a
+++ b/pkg/linux_amd64_race/go/types.a
Binary files differ
diff --git a/pkg/linux_amd64_race/hash.a b/pkg/linux_amd64_race/hash.a
index dd3dd1e..2ce4566 100644
--- a/pkg/linux_amd64_race/hash.a
+++ b/pkg/linux_amd64_race/hash.a
Binary files differ
diff --git a/pkg/linux_amd64_race/hash/adler32.a b/pkg/linux_amd64_race/hash/adler32.a
index d2f1f20..a6cb769 100644
--- a/pkg/linux_amd64_race/hash/adler32.a
+++ b/pkg/linux_amd64_race/hash/adler32.a
Binary files differ
diff --git a/pkg/linux_amd64_race/hash/crc32.a b/pkg/linux_amd64_race/hash/crc32.a
index c98954a..f7d8d34 100644
--- a/pkg/linux_amd64_race/hash/crc32.a
+++ b/pkg/linux_amd64_race/hash/crc32.a
Binary files differ
diff --git a/pkg/linux_amd64_race/hash/crc64.a b/pkg/linux_amd64_race/hash/crc64.a
index 290798d..57abccb 100644
--- a/pkg/linux_amd64_race/hash/crc64.a
+++ b/pkg/linux_amd64_race/hash/crc64.a
Binary files differ
diff --git a/pkg/linux_amd64_race/hash/fnv.a b/pkg/linux_amd64_race/hash/fnv.a
index 6f4185c..fc815aa 100644
--- a/pkg/linux_amd64_race/hash/fnv.a
+++ b/pkg/linux_amd64_race/hash/fnv.a
Binary files differ
diff --git a/pkg/linux_amd64_race/hash/maphash.a b/pkg/linux_amd64_race/hash/maphash.a
index fe47185..6e47f67 100644
--- a/pkg/linux_amd64_race/hash/maphash.a
+++ b/pkg/linux_amd64_race/hash/maphash.a
Binary files differ
diff --git a/pkg/linux_amd64_race/html.a b/pkg/linux_amd64_race/html.a
index 1a08ce0..b69bf39 100644
--- a/pkg/linux_amd64_race/html.a
+++ b/pkg/linux_amd64_race/html.a
Binary files differ
diff --git a/pkg/linux_amd64_race/html/template.a b/pkg/linux_amd64_race/html/template.a
index 830424a..1a7b2af 100644
--- a/pkg/linux_amd64_race/html/template.a
+++ b/pkg/linux_amd64_race/html/template.a
Binary files differ
diff --git a/pkg/linux_amd64_race/image.a b/pkg/linux_amd64_race/image.a
index 6aae50a..ccf530e 100644
--- a/pkg/linux_amd64_race/image.a
+++ b/pkg/linux_amd64_race/image.a
Binary files differ
diff --git a/pkg/linux_amd64_race/image/color.a b/pkg/linux_amd64_race/image/color.a
index 2965a5b..ca71e7b 100644
--- a/pkg/linux_amd64_race/image/color.a
+++ b/pkg/linux_amd64_race/image/color.a
Binary files differ
diff --git a/pkg/linux_amd64_race/image/color/palette.a b/pkg/linux_amd64_race/image/color/palette.a
index ab9e20b..2211aa5 100644
--- a/pkg/linux_amd64_race/image/color/palette.a
+++ b/pkg/linux_amd64_race/image/color/palette.a
Binary files differ
diff --git a/pkg/linux_amd64_race/image/draw.a b/pkg/linux_amd64_race/image/draw.a
index 4b81144..0337d17 100644
--- a/pkg/linux_amd64_race/image/draw.a
+++ b/pkg/linux_amd64_race/image/draw.a
Binary files differ
diff --git a/pkg/linux_amd64_race/image/gif.a b/pkg/linux_amd64_race/image/gif.a
index 3de3e0a..4861542 100644
--- a/pkg/linux_amd64_race/image/gif.a
+++ b/pkg/linux_amd64_race/image/gif.a
Binary files differ
diff --git a/pkg/linux_amd64_race/image/internal/imageutil.a b/pkg/linux_amd64_race/image/internal/imageutil.a
index 1f555d6..53e229b 100644
--- a/pkg/linux_amd64_race/image/internal/imageutil.a
+++ b/pkg/linux_amd64_race/image/internal/imageutil.a
Binary files differ
diff --git a/pkg/linux_amd64_race/image/jpeg.a b/pkg/linux_amd64_race/image/jpeg.a
index d994079..4cca368 100644
--- a/pkg/linux_amd64_race/image/jpeg.a
+++ b/pkg/linux_amd64_race/image/jpeg.a
Binary files differ
diff --git a/pkg/linux_amd64_race/image/png.a b/pkg/linux_amd64_race/image/png.a
index f9bd2a7..cf45d7b 100644
--- a/pkg/linux_amd64_race/image/png.a
+++ b/pkg/linux_amd64_race/image/png.a
Binary files differ
diff --git a/pkg/linux_amd64_race/index/suffixarray.a b/pkg/linux_amd64_race/index/suffixarray.a
index fc88848..f65477f 100644
--- a/pkg/linux_amd64_race/index/suffixarray.a
+++ b/pkg/linux_amd64_race/index/suffixarray.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/bytealg.a b/pkg/linux_amd64_race/internal/bytealg.a
index 6a0f2b0..2dafb91 100644
--- a/pkg/linux_amd64_race/internal/bytealg.a
+++ b/pkg/linux_amd64_race/internal/bytealg.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/cfg.a b/pkg/linux_amd64_race/internal/cfg.a
index d70543d..0d839d0 100644
--- a/pkg/linux_amd64_race/internal/cfg.a
+++ b/pkg/linux_amd64_race/internal/cfg.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/cpu.a b/pkg/linux_amd64_race/internal/cpu.a
index e03900e..9f74441 100644
--- a/pkg/linux_amd64_race/internal/cpu.a
+++ b/pkg/linux_amd64_race/internal/cpu.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/fmtsort.a b/pkg/linux_amd64_race/internal/fmtsort.a
index e0721c2..9ac167d 100644
--- a/pkg/linux_amd64_race/internal/fmtsort.a
+++ b/pkg/linux_amd64_race/internal/fmtsort.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/goroot.a b/pkg/linux_amd64_race/internal/goroot.a
index 2306b48..0b1a25b 100644
--- a/pkg/linux_amd64_race/internal/goroot.a
+++ b/pkg/linux_amd64_race/internal/goroot.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/goversion.a b/pkg/linux_amd64_race/internal/goversion.a
index 81ab09e..8a395d1 100644
--- a/pkg/linux_amd64_race/internal/goversion.a
+++ b/pkg/linux_amd64_race/internal/goversion.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/lazyregexp.a b/pkg/linux_amd64_race/internal/lazyregexp.a
index 8319349..1ad560f 100644
--- a/pkg/linux_amd64_race/internal/lazyregexp.a
+++ b/pkg/linux_amd64_race/internal/lazyregexp.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/lazytemplate.a b/pkg/linux_amd64_race/internal/lazytemplate.a
index ac2636e..2edf294 100644
--- a/pkg/linux_amd64_race/internal/lazytemplate.a
+++ b/pkg/linux_amd64_race/internal/lazytemplate.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/nettrace.a b/pkg/linux_amd64_race/internal/nettrace.a
index 928b914..eaa76ba 100644
--- a/pkg/linux_amd64_race/internal/nettrace.a
+++ b/pkg/linux_amd64_race/internal/nettrace.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/obscuretestdata.a b/pkg/linux_amd64_race/internal/obscuretestdata.a
index bfe643d..8db5784 100644
--- a/pkg/linux_amd64_race/internal/obscuretestdata.a
+++ b/pkg/linux_amd64_race/internal/obscuretestdata.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/oserror.a b/pkg/linux_amd64_race/internal/oserror.a
index cf597d7..e92f3d1 100644
--- a/pkg/linux_amd64_race/internal/oserror.a
+++ b/pkg/linux_amd64_race/internal/oserror.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/poll.a b/pkg/linux_amd64_race/internal/poll.a
index 3530352..1d0045b 100644
--- a/pkg/linux_amd64_race/internal/poll.a
+++ b/pkg/linux_amd64_race/internal/poll.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/profile.a b/pkg/linux_amd64_race/internal/profile.a
index 751cff6..9b8017d 100644
--- a/pkg/linux_amd64_race/internal/profile.a
+++ b/pkg/linux_amd64_race/internal/profile.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/race.a b/pkg/linux_amd64_race/internal/race.a
index 024325b..a5b5292 100644
--- a/pkg/linux_amd64_race/internal/race.a
+++ b/pkg/linux_amd64_race/internal/race.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/reflectlite.a b/pkg/linux_amd64_race/internal/reflectlite.a
index 77b812f..4820394 100644
--- a/pkg/linux_amd64_race/internal/reflectlite.a
+++ b/pkg/linux_amd64_race/internal/reflectlite.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/singleflight.a b/pkg/linux_amd64_race/internal/singleflight.a
index 030fc69..1a6308b 100644
--- a/pkg/linux_amd64_race/internal/singleflight.a
+++ b/pkg/linux_amd64_race/internal/singleflight.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/syscall/execenv.a b/pkg/linux_amd64_race/internal/syscall/execenv.a
index 8e80342..84fc06b 100644
--- a/pkg/linux_amd64_race/internal/syscall/execenv.a
+++ b/pkg/linux_amd64_race/internal/syscall/execenv.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/syscall/unix.a b/pkg/linux_amd64_race/internal/syscall/unix.a
index eb5cbf8..717761f 100644
--- a/pkg/linux_amd64_race/internal/syscall/unix.a
+++ b/pkg/linux_amd64_race/internal/syscall/unix.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/testenv.a b/pkg/linux_amd64_race/internal/testenv.a
index 8e47224..fbc52cc 100644
--- a/pkg/linux_amd64_race/internal/testenv.a
+++ b/pkg/linux_amd64_race/internal/testenv.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/testlog.a b/pkg/linux_amd64_race/internal/testlog.a
index 952e2f1..2705bfe 100644
--- a/pkg/linux_amd64_race/internal/testlog.a
+++ b/pkg/linux_amd64_race/internal/testlog.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/trace.a b/pkg/linux_amd64_race/internal/trace.a
index b49b146..f1064f2 100644
--- a/pkg/linux_amd64_race/internal/trace.a
+++ b/pkg/linux_amd64_race/internal/trace.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/unsafeheader.a b/pkg/linux_amd64_race/internal/unsafeheader.a
index b4ffab0..3f181be 100644
--- a/pkg/linux_amd64_race/internal/unsafeheader.a
+++ b/pkg/linux_amd64_race/internal/unsafeheader.a
Binary files differ
diff --git a/pkg/linux_amd64_race/internal/xcoff.a b/pkg/linux_amd64_race/internal/xcoff.a
index 25d4516..0bb4e7a 100644
--- a/pkg/linux_amd64_race/internal/xcoff.a
+++ b/pkg/linux_amd64_race/internal/xcoff.a
Binary files differ
diff --git a/pkg/linux_amd64_race/io.a b/pkg/linux_amd64_race/io.a
index 71f5c95..6eca35c 100644
--- a/pkg/linux_amd64_race/io.a
+++ b/pkg/linux_amd64_race/io.a
Binary files differ
diff --git a/pkg/linux_amd64_race/io/ioutil.a b/pkg/linux_amd64_race/io/ioutil.a
index 4c244e7..7007279 100644
--- a/pkg/linux_amd64_race/io/ioutil.a
+++ b/pkg/linux_amd64_race/io/ioutil.a
Binary files differ
diff --git a/pkg/linux_amd64_race/log.a b/pkg/linux_amd64_race/log.a
index 01cbbf2..1133b98 100644
--- a/pkg/linux_amd64_race/log.a
+++ b/pkg/linux_amd64_race/log.a
Binary files differ
diff --git a/pkg/linux_amd64_race/log/syslog.a b/pkg/linux_amd64_race/log/syslog.a
index 84c8604..507e42f 100644
--- a/pkg/linux_amd64_race/log/syslog.a
+++ b/pkg/linux_amd64_race/log/syslog.a
Binary files differ
diff --git a/pkg/linux_amd64_race/math.a b/pkg/linux_amd64_race/math.a
index 87df23f..ed6aa7e 100644
--- a/pkg/linux_amd64_race/math.a
+++ b/pkg/linux_amd64_race/math.a
Binary files differ
diff --git a/pkg/linux_amd64_race/math/big.a b/pkg/linux_amd64_race/math/big.a
index b330593..01f9cb7 100644
--- a/pkg/linux_amd64_race/math/big.a
+++ b/pkg/linux_amd64_race/math/big.a
Binary files differ
diff --git a/pkg/linux_amd64_race/math/bits.a b/pkg/linux_amd64_race/math/bits.a
index 4b3cd2e..10c7b66 100644
--- a/pkg/linux_amd64_race/math/bits.a
+++ b/pkg/linux_amd64_race/math/bits.a
Binary files differ
diff --git a/pkg/linux_amd64_race/math/cmplx.a b/pkg/linux_amd64_race/math/cmplx.a
index 61a9bef..67c5613 100644
--- a/pkg/linux_amd64_race/math/cmplx.a
+++ b/pkg/linux_amd64_race/math/cmplx.a
Binary files differ
diff --git a/pkg/linux_amd64_race/math/rand.a b/pkg/linux_amd64_race/math/rand.a
index cf4aa9d..afc1444 100644
--- a/pkg/linux_amd64_race/math/rand.a
+++ b/pkg/linux_amd64_race/math/rand.a
Binary files differ
diff --git a/pkg/linux_amd64_race/mime.a b/pkg/linux_amd64_race/mime.a
index 770a135..88f2e31 100644
--- a/pkg/linux_amd64_race/mime.a
+++ b/pkg/linux_amd64_race/mime.a
Binary files differ
diff --git a/pkg/linux_amd64_race/mime/multipart.a b/pkg/linux_amd64_race/mime/multipart.a
index d1f9f91..bc2a512 100644
--- a/pkg/linux_amd64_race/mime/multipart.a
+++ b/pkg/linux_amd64_race/mime/multipart.a
Binary files differ
diff --git a/pkg/linux_amd64_race/mime/quotedprintable.a b/pkg/linux_amd64_race/mime/quotedprintable.a
index 85c7c27..a1e13f5 100644
--- a/pkg/linux_amd64_race/mime/quotedprintable.a
+++ b/pkg/linux_amd64_race/mime/quotedprintable.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net.a b/pkg/linux_amd64_race/net.a
index d2a24a3..80d89c8 100644
--- a/pkg/linux_amd64_race/net.a
+++ b/pkg/linux_amd64_race/net.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/http.a b/pkg/linux_amd64_race/net/http.a
index be6cbac..948a3e8 100644
--- a/pkg/linux_amd64_race/net/http.a
+++ b/pkg/linux_amd64_race/net/http.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/http/cgi.a b/pkg/linux_amd64_race/net/http/cgi.a
index 78b0964..054aabd 100644
--- a/pkg/linux_amd64_race/net/http/cgi.a
+++ b/pkg/linux_amd64_race/net/http/cgi.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/http/cookiejar.a b/pkg/linux_amd64_race/net/http/cookiejar.a
index 909d08f..ecc4481 100644
--- a/pkg/linux_amd64_race/net/http/cookiejar.a
+++ b/pkg/linux_amd64_race/net/http/cookiejar.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/http/fcgi.a b/pkg/linux_amd64_race/net/http/fcgi.a
index 89ae88e..273e94e 100644
--- a/pkg/linux_amd64_race/net/http/fcgi.a
+++ b/pkg/linux_amd64_race/net/http/fcgi.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/http/httptest.a b/pkg/linux_amd64_race/net/http/httptest.a
index 070101e..04f089b 100644
--- a/pkg/linux_amd64_race/net/http/httptest.a
+++ b/pkg/linux_amd64_race/net/http/httptest.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/http/httptrace.a b/pkg/linux_amd64_race/net/http/httptrace.a
index 00a4144..6caeb9a 100644
--- a/pkg/linux_amd64_race/net/http/httptrace.a
+++ b/pkg/linux_amd64_race/net/http/httptrace.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/http/httputil.a b/pkg/linux_amd64_race/net/http/httputil.a
index be76e1b..072db95 100644
--- a/pkg/linux_amd64_race/net/http/httputil.a
+++ b/pkg/linux_amd64_race/net/http/httputil.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/http/internal.a b/pkg/linux_amd64_race/net/http/internal.a
index 42667ba..96c9cdb 100644
--- a/pkg/linux_amd64_race/net/http/internal.a
+++ b/pkg/linux_amd64_race/net/http/internal.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/http/pprof.a b/pkg/linux_amd64_race/net/http/pprof.a
index a560e75..85588a3 100644
--- a/pkg/linux_amd64_race/net/http/pprof.a
+++ b/pkg/linux_amd64_race/net/http/pprof.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/internal/socktest.a b/pkg/linux_amd64_race/net/internal/socktest.a
index 10ef49f..e2f5dd4 100644
--- a/pkg/linux_amd64_race/net/internal/socktest.a
+++ b/pkg/linux_amd64_race/net/internal/socktest.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/mail.a b/pkg/linux_amd64_race/net/mail.a
index c51b0b5..616cf48 100644
--- a/pkg/linux_amd64_race/net/mail.a
+++ b/pkg/linux_amd64_race/net/mail.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/rpc.a b/pkg/linux_amd64_race/net/rpc.a
index e9567fd..d01e817 100644
--- a/pkg/linux_amd64_race/net/rpc.a
+++ b/pkg/linux_amd64_race/net/rpc.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/rpc/jsonrpc.a b/pkg/linux_amd64_race/net/rpc/jsonrpc.a
index f3b822f..6cd2131 100644
--- a/pkg/linux_amd64_race/net/rpc/jsonrpc.a
+++ b/pkg/linux_amd64_race/net/rpc/jsonrpc.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/smtp.a b/pkg/linux_amd64_race/net/smtp.a
index 2cddd66..df4e35b 100644
--- a/pkg/linux_amd64_race/net/smtp.a
+++ b/pkg/linux_amd64_race/net/smtp.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/textproto.a b/pkg/linux_amd64_race/net/textproto.a
index e20ac81..e7441b5 100644
--- a/pkg/linux_amd64_race/net/textproto.a
+++ b/pkg/linux_amd64_race/net/textproto.a
Binary files differ
diff --git a/pkg/linux_amd64_race/net/url.a b/pkg/linux_amd64_race/net/url.a
index 7b0d7c8..a730d75 100644
--- a/pkg/linux_amd64_race/net/url.a
+++ b/pkg/linux_amd64_race/net/url.a
Binary files differ
diff --git a/pkg/linux_amd64_race/os.a b/pkg/linux_amd64_race/os.a
index 0e01f0b..39ae807 100644
--- a/pkg/linux_amd64_race/os.a
+++ b/pkg/linux_amd64_race/os.a
Binary files differ
diff --git a/pkg/linux_amd64_race/os/exec.a b/pkg/linux_amd64_race/os/exec.a
index 9acfdcd..ad0af91 100644
--- a/pkg/linux_amd64_race/os/exec.a
+++ b/pkg/linux_amd64_race/os/exec.a
Binary files differ
diff --git a/pkg/linux_amd64_race/os/signal.a b/pkg/linux_amd64_race/os/signal.a
index aadccd1..bf94b4f 100644
--- a/pkg/linux_amd64_race/os/signal.a
+++ b/pkg/linux_amd64_race/os/signal.a
Binary files differ
diff --git a/pkg/linux_amd64_race/os/signal/internal/pty.a b/pkg/linux_amd64_race/os/signal/internal/pty.a
index de602e8..37b5ddc 100644
--- a/pkg/linux_amd64_race/os/signal/internal/pty.a
+++ b/pkg/linux_amd64_race/os/signal/internal/pty.a
Binary files differ
diff --git a/pkg/linux_amd64_race/os/user.a b/pkg/linux_amd64_race/os/user.a
index b77ff8f..8ad7376 100644
--- a/pkg/linux_amd64_race/os/user.a
+++ b/pkg/linux_amd64_race/os/user.a
Binary files differ
diff --git a/pkg/linux_amd64_race/path.a b/pkg/linux_amd64_race/path.a
index 60e64e8..f87c6ee 100644
--- a/pkg/linux_amd64_race/path.a
+++ b/pkg/linux_amd64_race/path.a
Binary files differ
diff --git a/pkg/linux_amd64_race/path/filepath.a b/pkg/linux_amd64_race/path/filepath.a
index 2cfff21..1a1b3b8 100644
--- a/pkg/linux_amd64_race/path/filepath.a
+++ b/pkg/linux_amd64_race/path/filepath.a
Binary files differ
diff --git a/pkg/linux_amd64_race/plugin.a b/pkg/linux_amd64_race/plugin.a
index bef22b6..1e25f21 100644
--- a/pkg/linux_amd64_race/plugin.a
+++ b/pkg/linux_amd64_race/plugin.a
Binary files differ
diff --git a/pkg/linux_amd64_race/reflect.a b/pkg/linux_amd64_race/reflect.a
index 57cc8b5..f3b0357 100644
--- a/pkg/linux_amd64_race/reflect.a
+++ b/pkg/linux_amd64_race/reflect.a
Binary files differ
diff --git a/pkg/linux_amd64_race/regexp.a b/pkg/linux_amd64_race/regexp.a
index fdc8766..e5651e7 100644
--- a/pkg/linux_amd64_race/regexp.a
+++ b/pkg/linux_amd64_race/regexp.a
Binary files differ
diff --git a/pkg/linux_amd64_race/regexp/syntax.a b/pkg/linux_amd64_race/regexp/syntax.a
index bfc7bd1..4f53ecf 100644
--- a/pkg/linux_amd64_race/regexp/syntax.a
+++ b/pkg/linux_amd64_race/regexp/syntax.a
Binary files differ
diff --git a/pkg/linux_amd64_race/runtime.a b/pkg/linux_amd64_race/runtime.a
index 9c5ab8f..17f1d7f 100644
--- a/pkg/linux_amd64_race/runtime.a
+++ b/pkg/linux_amd64_race/runtime.a
Binary files differ
diff --git a/pkg/linux_amd64_race/runtime/cgo.a b/pkg/linux_amd64_race/runtime/cgo.a
index a35f084..2dc8bea 100644
--- a/pkg/linux_amd64_race/runtime/cgo.a
+++ b/pkg/linux_amd64_race/runtime/cgo.a
Binary files differ
diff --git a/pkg/linux_amd64_race/runtime/debug.a b/pkg/linux_amd64_race/runtime/debug.a
index a67f57b..ccc52e8 100644
--- a/pkg/linux_amd64_race/runtime/debug.a
+++ b/pkg/linux_amd64_race/runtime/debug.a
Binary files differ
diff --git a/pkg/linux_amd64_race/runtime/internal/atomic.a b/pkg/linux_amd64_race/runtime/internal/atomic.a
index cb0bca3..4a83ffa 100644
--- a/pkg/linux_amd64_race/runtime/internal/atomic.a
+++ b/pkg/linux_amd64_race/runtime/internal/atomic.a
Binary files differ
diff --git a/pkg/linux_amd64_race/runtime/internal/math.a b/pkg/linux_amd64_race/runtime/internal/math.a
index 69b7a62..a6355c5 100644
--- a/pkg/linux_amd64_race/runtime/internal/math.a
+++ b/pkg/linux_amd64_race/runtime/internal/math.a
Binary files differ
diff --git a/pkg/linux_amd64_race/runtime/internal/sys.a b/pkg/linux_amd64_race/runtime/internal/sys.a
index c2eb002..cc2d08c 100644
--- a/pkg/linux_amd64_race/runtime/internal/sys.a
+++ b/pkg/linux_amd64_race/runtime/internal/sys.a
Binary files differ
diff --git a/pkg/linux_amd64_race/runtime/pprof.a b/pkg/linux_amd64_race/runtime/pprof.a
index a920c5e..cd1303b 100644
--- a/pkg/linux_amd64_race/runtime/pprof.a
+++ b/pkg/linux_amd64_race/runtime/pprof.a
Binary files differ
diff --git a/pkg/linux_amd64_race/runtime/race.a b/pkg/linux_amd64_race/runtime/race.a
index 417f472..9a23a7b 100644
--- a/pkg/linux_amd64_race/runtime/race.a
+++ b/pkg/linux_amd64_race/runtime/race.a
Binary files differ
diff --git a/pkg/linux_amd64_race/runtime/trace.a b/pkg/linux_amd64_race/runtime/trace.a
index 4e461dc..be058f3 100644
--- a/pkg/linux_amd64_race/runtime/trace.a
+++ b/pkg/linux_amd64_race/runtime/trace.a
Binary files differ
diff --git a/pkg/linux_amd64_race/sort.a b/pkg/linux_amd64_race/sort.a
index 06bb209..56e5da0 100644
--- a/pkg/linux_amd64_race/sort.a
+++ b/pkg/linux_amd64_race/sort.a
Binary files differ
diff --git a/pkg/linux_amd64_race/strconv.a b/pkg/linux_amd64_race/strconv.a
index af742ad..78c5c40 100644
--- a/pkg/linux_amd64_race/strconv.a
+++ b/pkg/linux_amd64_race/strconv.a
Binary files differ
diff --git a/pkg/linux_amd64_race/strings.a b/pkg/linux_amd64_race/strings.a
index cd34199..a379338 100644
--- a/pkg/linux_amd64_race/strings.a
+++ b/pkg/linux_amd64_race/strings.a
Binary files differ
diff --git a/pkg/linux_amd64_race/sync.a b/pkg/linux_amd64_race/sync.a
index 2ec4c56..63a4e1b 100644
--- a/pkg/linux_amd64_race/sync.a
+++ b/pkg/linux_amd64_race/sync.a
Binary files differ
diff --git a/pkg/linux_amd64_race/sync/atomic.a b/pkg/linux_amd64_race/sync/atomic.a
index 54c7d48..a3e6d7f 100644
--- a/pkg/linux_amd64_race/sync/atomic.a
+++ b/pkg/linux_amd64_race/sync/atomic.a
Binary files differ
diff --git a/pkg/linux_amd64_race/syscall.a b/pkg/linux_amd64_race/syscall.a
index 92f635b..98bc7be 100644
--- a/pkg/linux_amd64_race/syscall.a
+++ b/pkg/linux_amd64_race/syscall.a
Binary files differ
diff --git a/pkg/linux_amd64_race/testing.a b/pkg/linux_amd64_race/testing.a
index 9dd7dca..5bc510c 100644
--- a/pkg/linux_amd64_race/testing.a
+++ b/pkg/linux_amd64_race/testing.a
Binary files differ
diff --git a/pkg/linux_amd64_race/testing/internal/testdeps.a b/pkg/linux_amd64_race/testing/internal/testdeps.a
index 29c2255..93f99c5 100644
--- a/pkg/linux_amd64_race/testing/internal/testdeps.a
+++ b/pkg/linux_amd64_race/testing/internal/testdeps.a
Binary files differ
diff --git a/pkg/linux_amd64_race/testing/iotest.a b/pkg/linux_amd64_race/testing/iotest.a
index 3ba3793..4208d1a 100644
--- a/pkg/linux_amd64_race/testing/iotest.a
+++ b/pkg/linux_amd64_race/testing/iotest.a
Binary files differ
diff --git a/pkg/linux_amd64_race/testing/quick.a b/pkg/linux_amd64_race/testing/quick.a
index 91d70f0..1e6d557 100644
--- a/pkg/linux_amd64_race/testing/quick.a
+++ b/pkg/linux_amd64_race/testing/quick.a
Binary files differ
diff --git a/pkg/linux_amd64_race/text/scanner.a b/pkg/linux_amd64_race/text/scanner.a
index 605445c..94dfa51 100644
--- a/pkg/linux_amd64_race/text/scanner.a
+++ b/pkg/linux_amd64_race/text/scanner.a
Binary files differ
diff --git a/pkg/linux_amd64_race/text/tabwriter.a b/pkg/linux_amd64_race/text/tabwriter.a
index 0d9f03e..c2c0aa8 100644
--- a/pkg/linux_amd64_race/text/tabwriter.a
+++ b/pkg/linux_amd64_race/text/tabwriter.a
Binary files differ
diff --git a/pkg/linux_amd64_race/text/template.a b/pkg/linux_amd64_race/text/template.a
index ee0a9ac..ec64a0c 100644
--- a/pkg/linux_amd64_race/text/template.a
+++ b/pkg/linux_amd64_race/text/template.a
Binary files differ
diff --git a/pkg/linux_amd64_race/text/template/parse.a b/pkg/linux_amd64_race/text/template/parse.a
index eaef16c..7fda0c3 100644
--- a/pkg/linux_amd64_race/text/template/parse.a
+++ b/pkg/linux_amd64_race/text/template/parse.a
Binary files differ
diff --git a/pkg/linux_amd64_race/time.a b/pkg/linux_amd64_race/time.a
index 017df84..28d2aca 100644
--- a/pkg/linux_amd64_race/time.a
+++ b/pkg/linux_amd64_race/time.a
Binary files differ
diff --git a/pkg/linux_amd64_race/time/tzdata.a b/pkg/linux_amd64_race/time/tzdata.a
index 3b79635..3af0a9e 100644
--- a/pkg/linux_amd64_race/time/tzdata.a
+++ b/pkg/linux_amd64_race/time/tzdata.a
Binary files differ
diff --git a/pkg/linux_amd64_race/unicode.a b/pkg/linux_amd64_race/unicode.a
index 4b2bffb..822e1b9 100644
--- a/pkg/linux_amd64_race/unicode.a
+++ b/pkg/linux_amd64_race/unicode.a
Binary files differ
diff --git a/pkg/linux_amd64_race/unicode/utf16.a b/pkg/linux_amd64_race/unicode/utf16.a
index 36793ae..8ba62c1 100644
--- a/pkg/linux_amd64_race/unicode/utf16.a
+++ b/pkg/linux_amd64_race/unicode/utf16.a
Binary files differ
diff --git a/pkg/linux_amd64_race/unicode/utf8.a b/pkg/linux_amd64_race/unicode/utf8.a
index 1e3465b..12e4d23 100644
--- a/pkg/linux_amd64_race/unicode/utf8.a
+++ b/pkg/linux_amd64_race/unicode/utf8.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/chacha20.a b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/chacha20.a
index 218c15f..0a8d40e 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/chacha20.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/chacha20.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/chacha20poly1305.a b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/chacha20poly1305.a
index 3c43ea8..aa001a3 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/chacha20poly1305.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/chacha20poly1305.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/cryptobyte.a b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/cryptobyte.a
index 14f5275..fe7e10a 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/cryptobyte.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/cryptobyte.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/cryptobyte/asn1.a b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/cryptobyte/asn1.a
index 699f88d..6b20520 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/cryptobyte/asn1.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/cryptobyte/asn1.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/curve25519.a b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/curve25519.a
index 30e927a..d55c9f1 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/curve25519.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/curve25519.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/hkdf.a b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/hkdf.a
index 0f0090c..7a723a6 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/hkdf.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/hkdf.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/internal/subtle.a b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/internal/subtle.a
index 14a4f06..60bdce4 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/internal/subtle.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/internal/subtle.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/poly1305.a b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/poly1305.a
index fbd936c..97d4d6c 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/crypto/poly1305.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/crypto/poly1305.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/net/dns/dnsmessage.a b/pkg/linux_amd64_race/vendor/golang.org/x/net/dns/dnsmessage.a
index 7909320..fa2d4d1 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/net/dns/dnsmessage.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/net/dns/dnsmessage.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/net/http/httpguts.a b/pkg/linux_amd64_race/vendor/golang.org/x/net/http/httpguts.a
index 900edf9..5f9220b 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/net/http/httpguts.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/net/http/httpguts.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/net/http/httpproxy.a b/pkg/linux_amd64_race/vendor/golang.org/x/net/http/httpproxy.a
index 8505e9c..e11142d 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/net/http/httpproxy.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/net/http/httpproxy.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/net/http2/hpack.a b/pkg/linux_amd64_race/vendor/golang.org/x/net/http2/hpack.a
index 12c31e3..978cd65 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/net/http2/hpack.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/net/http2/hpack.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/net/idna.a b/pkg/linux_amd64_race/vendor/golang.org/x/net/idna.a
index 9015a09..04541e4 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/net/idna.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/net/idna.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/net/nettest.a b/pkg/linux_amd64_race/vendor/golang.org/x/net/nettest.a
index 7298325..9873273 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/net/nettest.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/net/nettest.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/sys/cpu.a b/pkg/linux_amd64_race/vendor/golang.org/x/sys/cpu.a
index d16a67e..7327ca5 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/sys/cpu.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/sys/cpu.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/text/secure/bidirule.a b/pkg/linux_amd64_race/vendor/golang.org/x/text/secure/bidirule.a
index d043eca..dcab347 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/text/secure/bidirule.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/text/secure/bidirule.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/text/transform.a b/pkg/linux_amd64_race/vendor/golang.org/x/text/transform.a
index c789939..5ca3698 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/text/transform.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/text/transform.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/text/unicode/bidi.a b/pkg/linux_amd64_race/vendor/golang.org/x/text/unicode/bidi.a
index a24ad8e..074aabc 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/text/unicode/bidi.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/text/unicode/bidi.a
Binary files differ
diff --git a/pkg/linux_amd64_race/vendor/golang.org/x/text/unicode/norm.a b/pkg/linux_amd64_race/vendor/golang.org/x/text/unicode/norm.a
index 3d0bc82..bc43909 100644
--- a/pkg/linux_amd64_race/vendor/golang.org/x/text/unicode/norm.a
+++ b/pkg/linux_amd64_race/vendor/golang.org/x/text/unicode/norm.a
Binary files differ
diff --git a/pkg/tool/linux_amd64/addr2line b/pkg/tool/linux_amd64/addr2line
index 2cc2b26..1499391 100755
--- a/pkg/tool/linux_amd64/addr2line
+++ b/pkg/tool/linux_amd64/addr2line
Binary files differ
diff --git a/pkg/tool/linux_amd64/api b/pkg/tool/linux_amd64/api
index b86ae65..ecb7fda 100755
--- a/pkg/tool/linux_amd64/api
+++ b/pkg/tool/linux_amd64/api
Binary files differ
diff --git a/pkg/tool/linux_amd64/asm b/pkg/tool/linux_amd64/asm
index 773033e..0bffc00 100755
--- a/pkg/tool/linux_amd64/asm
+++ b/pkg/tool/linux_amd64/asm
Binary files differ
diff --git a/pkg/tool/linux_amd64/buildid b/pkg/tool/linux_amd64/buildid
index f8618a2..65fa78d 100755
--- a/pkg/tool/linux_amd64/buildid
+++ b/pkg/tool/linux_amd64/buildid
Binary files differ
diff --git a/pkg/tool/linux_amd64/cgo b/pkg/tool/linux_amd64/cgo
index b4c342a..884f7cb 100755
--- a/pkg/tool/linux_amd64/cgo
+++ b/pkg/tool/linux_amd64/cgo
Binary files differ
diff --git a/pkg/tool/linux_amd64/compile b/pkg/tool/linux_amd64/compile
index 210eeb3..d19d63c 100755
--- a/pkg/tool/linux_amd64/compile
+++ b/pkg/tool/linux_amd64/compile
Binary files differ
diff --git a/pkg/tool/linux_amd64/cover b/pkg/tool/linux_amd64/cover
index ecabce3..93869eb 100755
--- a/pkg/tool/linux_amd64/cover
+++ b/pkg/tool/linux_amd64/cover
Binary files differ
diff --git a/pkg/tool/linux_amd64/dist b/pkg/tool/linux_amd64/dist
index 4d31745..4db621d 100755
--- a/pkg/tool/linux_amd64/dist
+++ b/pkg/tool/linux_amd64/dist
Binary files differ
diff --git a/pkg/tool/linux_amd64/doc b/pkg/tool/linux_amd64/doc
index bdf3db9..b09a114 100755
--- a/pkg/tool/linux_amd64/doc
+++ b/pkg/tool/linux_amd64/doc
Binary files differ
diff --git a/pkg/tool/linux_amd64/fix b/pkg/tool/linux_amd64/fix
index 4d96d7d..898c14a 100755
--- a/pkg/tool/linux_amd64/fix
+++ b/pkg/tool/linux_amd64/fix
Binary files differ
diff --git a/pkg/tool/linux_amd64/link b/pkg/tool/linux_amd64/link
index 0c9eff5..1a31653 100755
--- a/pkg/tool/linux_amd64/link
+++ b/pkg/tool/linux_amd64/link
Binary files differ
diff --git a/pkg/tool/linux_amd64/nm b/pkg/tool/linux_amd64/nm
index 0af022d..337df6f 100755
--- a/pkg/tool/linux_amd64/nm
+++ b/pkg/tool/linux_amd64/nm
Binary files differ
diff --git a/pkg/tool/linux_amd64/objdump b/pkg/tool/linux_amd64/objdump
index f9c8cc7..d5a33fe 100755
--- a/pkg/tool/linux_amd64/objdump
+++ b/pkg/tool/linux_amd64/objdump
Binary files differ
diff --git a/pkg/tool/linux_amd64/oldlink b/pkg/tool/linux_amd64/oldlink
index 15cdff6..dcf8679 100755
--- a/pkg/tool/linux_amd64/oldlink
+++ b/pkg/tool/linux_amd64/oldlink
Binary files differ
diff --git a/pkg/tool/linux_amd64/pack b/pkg/tool/linux_amd64/pack
index dd3979a..674e1ea 100755
--- a/pkg/tool/linux_amd64/pack
+++ b/pkg/tool/linux_amd64/pack
Binary files differ
diff --git a/pkg/tool/linux_amd64/pprof b/pkg/tool/linux_amd64/pprof
index 2577458..dfda92f 100755
--- a/pkg/tool/linux_amd64/pprof
+++ b/pkg/tool/linux_amd64/pprof
Binary files differ
diff --git a/pkg/tool/linux_amd64/test2json b/pkg/tool/linux_amd64/test2json
index b868a97..f12187f 100755
--- a/pkg/tool/linux_amd64/test2json
+++ b/pkg/tool/linux_amd64/test2json
Binary files differ
diff --git a/pkg/tool/linux_amd64/trace b/pkg/tool/linux_amd64/trace
index a15c110..fca433b 100755
--- a/pkg/tool/linux_amd64/trace
+++ b/pkg/tool/linux_amd64/trace
Binary files differ
diff --git a/pkg/tool/linux_amd64/vet b/pkg/tool/linux_amd64/vet
index 8dd5212..7347e0a 100755
--- a/pkg/tool/linux_amd64/vet
+++ b/pkg/tool/linux_amd64/vet
Binary files differ
diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go
index cbdb4e0..dcd69ed 100644
--- a/src/cmd/cgo/out.go
+++ b/src/cmd/cgo/out.go
@@ -336,6 +336,8 @@
if s.Version != "" {
targ += "#" + s.Version
}
+ checkImportSymName(s.Name)
+ checkImportSymName(targ)
fmt.Fprintf(stdout, "//go:cgo_import_dynamic %s %s %q\n", s.Name, targ, s.Library)
}
lib, _ := f.ImportedLibraries()
@@ -351,6 +353,7 @@
if len(s) > 0 && s[0] == '_' {
s = s[1:]
}
+ checkImportSymName(s)
fmt.Fprintf(stdout, "//go:cgo_import_dynamic %s %s %q\n", s, s, "")
}
lib, _ := f.ImportedLibraries()
@@ -365,6 +368,8 @@
for _, s := range sym {
ss := strings.Split(s, ":")
name := strings.Split(ss[0], "@")[0]
+ checkImportSymName(name)
+ checkImportSymName(ss[0])
fmt.Fprintf(stdout, "//go:cgo_import_dynamic %s %s %q\n", name, ss[0], strings.ToLower(ss[1]))
}
return
@@ -382,6 +387,7 @@
// Go symbols.
continue
}
+ checkImportSymName(s.Name)
fmt.Fprintf(stdout, "//go:cgo_import_dynamic %s %s %q\n", s.Name, s.Name, s.Library)
}
lib, err := f.ImportedLibraries()
@@ -397,6 +403,23 @@
fatalf("cannot parse %s as ELF, Mach-O, PE or XCOFF", obj)
}
+// checkImportSymName checks a symbol name we are going to emit as part
+// of a //go:cgo_import_dynamic pragma. These names come from object
+// files, so they may be corrupt. We are going to emit them unquoted,
+// so while they don't need to be valid symbol names (and in some cases,
+// involving symbol versions, they won't be) they must contain only
+// graphic characters and must not contain Go comments.
+func checkImportSymName(s string) {
+ for _, c := range s {
+ if !unicode.IsGraphic(c) || unicode.IsSpace(c) {
+ fatalf("dynamic symbol %q contains unsupported character", s)
+ }
+ }
+ if strings.Index(s, "//") >= 0 || strings.Index(s, "/*") >= 0 {
+ fatalf("dynamic symbol %q contains Go comment")
+ }
+}
+
// Construct a gcc struct matching the gc argument frame.
// Assumes that in gcc, char is 1 byte, short 2 bytes, int 4 bytes, long long 8 bytes.
// These assumptions are checked by the gccProlog.
diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go
index 3e21450..7da0454 100644
--- a/src/cmd/compile/internal/gc/ssa.go
+++ b/src/cmd/compile/internal/gc/ssa.go
@@ -4976,7 +4976,10 @@
case t.IsBoolean() || t.IsInteger() || t.IsFloat() || t.IsComplex():
s.store(t, left, right)
case t.IsPtrShaped():
- // no scalar fields.
+ if t.IsPtr() && t.Elem().NotInHeap() {
+ s.store(t, left, right) // see issue 42032
+ }
+ // otherwise, no scalar fields.
case t.IsString():
if skip&skipLen != 0 {
return
@@ -5020,6 +5023,9 @@
func (s *state) storeTypePtrs(t *types.Type, left, right *ssa.Value) {
switch {
case t.IsPtrShaped():
+ if t.IsPtr() && t.Elem().NotInHeap() {
+ break // see issue 42032
+ }
s.store(t, left, right)
case t.IsString():
ptr := s.newValue1(ssa.OpStringPtr, s.f.Config.Types.BytePtr, right)
diff --git a/src/cmd/compile/internal/gc/subr.go b/src/cmd/compile/internal/gc/subr.go
index c82eefb..9118405 100644
--- a/src/cmd/compile/internal/gc/subr.go
+++ b/src/cmd/compile/internal/gc/subr.go
@@ -1876,8 +1876,10 @@
}
switch t.Etype {
- case TPTR,
- TCHAN,
+ case TPTR:
+ // Pointers to notinheap types must be stored indirectly. See issue 42076.
+ return !t.Elem().NotInHeap()
+ case TCHAN,
TMAP,
TFUNC,
TUNSAFEPTR:
diff --git a/src/cmd/compile/internal/gc/typecheck.go b/src/cmd/compile/internal/gc/typecheck.go
index 98b52a5..b187612 100644
--- a/src/cmd/compile/internal/gc/typecheck.go
+++ b/src/cmd/compile/internal/gc/typecheck.go
@@ -2502,7 +2502,7 @@
n.Left = nod(OADDR, n.Left, nil)
n.Left.SetImplicit(true)
n.Left = typecheck(n.Left, ctxType|ctxExpr)
- } else if tt.IsPtr() && !rcvr.IsPtr() && types.Identical(tt.Elem(), rcvr) {
+ } else if tt.IsPtr() && (!rcvr.IsPtr() || rcvr.IsPtr() && rcvr.Elem().NotInHeap()) && types.Identical(tt.Elem(), rcvr) {
n.Left = nod(ODEREF, n.Left, nil)
n.Left.SetImplicit(true)
n.Left = typecheck(n.Left, ctxType|ctxExpr)
diff --git a/src/cmd/compile/internal/ssa/gen/AMD64.rules b/src/cmd/compile/internal/ssa/gen/AMD64.rules
index ee9ccfb..f7eb92d 100644
--- a/src/cmd/compile/internal/ssa/gen/AMD64.rules
+++ b/src/cmd/compile/internal/ssa/gen/AMD64.rules
@@ -1429,11 +1429,11 @@
(NOTQ (MOVQconst [c])) -> (MOVQconst [^c])
(NOTL (MOVLconst [c])) -> (MOVLconst [^c])
(BTSQconst [c] (MOVQconst [d])) -> (MOVQconst [d|(1<<uint32(c))])
-(BTSLconst [c] (MOVLconst [d])) -> (MOVLconst [d|(1<<uint32(c))])
+(BTSLconst [c] (MOVLconst [d])) => (MOVLconst [d|(1<<uint32(c))])
(BTRQconst [c] (MOVQconst [d])) -> (MOVQconst [d&^(1<<uint32(c))])
-(BTRLconst [c] (MOVLconst [d])) -> (MOVLconst [d&^(1<<uint32(c))])
+(BTRLconst [c] (MOVLconst [d])) => (MOVLconst [d&^(1<<uint32(c))])
(BTCQconst [c] (MOVQconst [d])) -> (MOVQconst [d^(1<<uint32(c))])
-(BTCLconst [c] (MOVLconst [d])) -> (MOVLconst [d^(1<<uint32(c))])
+(BTCLconst [c] (MOVLconst [d])) => (MOVLconst [d^(1<<uint32(c))])
// If c or d doesn't fit into 32 bits, then we can't construct ORQconst,
// but we can still constant-fold.
diff --git a/src/cmd/compile/internal/ssa/rewriteAMD64.go b/src/cmd/compile/internal/ssa/rewriteAMD64.go
index 72ed1eb..e59fa20 100644
--- a/src/cmd/compile/internal/ssa/rewriteAMD64.go
+++ b/src/cmd/compile/internal/ssa/rewriteAMD64.go
@@ -3526,13 +3526,13 @@
// match: (BTCLconst [c] (MOVLconst [d]))
// result: (MOVLconst [d^(1<<uint32(c))])
for {
- c := v.AuxInt
+ c := auxIntToInt8(v.AuxInt)
if v_0.Op != OpAMD64MOVLconst {
break
}
- d := v_0.AuxInt
+ d := auxIntToInt32(v_0.AuxInt)
v.reset(OpAMD64MOVLconst)
- v.AuxInt = d ^ (1 << uint32(c))
+ v.AuxInt = int32ToAuxInt(d ^ (1 << uint32(c)))
return true
}
return false
@@ -4010,13 +4010,13 @@
// match: (BTRLconst [c] (MOVLconst [d]))
// result: (MOVLconst [d&^(1<<uint32(c))])
for {
- c := v.AuxInt
+ c := auxIntToInt8(v.AuxInt)
if v_0.Op != OpAMD64MOVLconst {
break
}
- d := v_0.AuxInt
+ d := auxIntToInt32(v_0.AuxInt)
v.reset(OpAMD64MOVLconst)
- v.AuxInt = d &^ (1 << uint32(c))
+ v.AuxInt = int32ToAuxInt(d &^ (1 << uint32(c)))
return true
}
return false
@@ -4356,13 +4356,13 @@
// match: (BTSLconst [c] (MOVLconst [d]))
// result: (MOVLconst [d|(1<<uint32(c))])
for {
- c := v.AuxInt
+ c := auxIntToInt8(v.AuxInt)
if v_0.Op != OpAMD64MOVLconst {
break
}
- d := v_0.AuxInt
+ d := auxIntToInt32(v_0.AuxInt)
v.reset(OpAMD64MOVLconst)
- v.AuxInt = d | (1 << uint32(c))
+ v.AuxInt = int32ToAuxInt(d | (1 << uint32(c)))
return true
}
return false
diff --git a/src/cmd/go/internal/modfetch/coderepo_test.go b/src/cmd/go/internal/modfetch/coderepo_test.go
index f69c193..9a0cd7d 100644
--- a/src/cmd/go/internal/modfetch/coderepo_test.go
+++ b/src/cmd/go/internal/modfetch/coderepo_test.go
@@ -657,11 +657,6 @@
},
{
vcs: "git",
- path: "gopkg.in/russross/blackfriday.v2",
- versions: []string{"v2.0.0", "v2.0.1"},
- },
- {
- vcs: "git",
path: "gopkg.in/natefinch/lumberjack.v2",
versions: []string{"v2.0.0"},
},
diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
index 071c9d2..dc0c4fc 100644
--- a/src/cmd/go/internal/work/exec.go
+++ b/src/cmd/go/internal/work/exec.go
@@ -2711,6 +2711,81 @@
noCompiler()
}
+ // Double check the //go:cgo_ldflag comments in the generated files.
+ // The compiler only permits such comments in files whose base name
+ // starts with "_cgo_". Make sure that the comments in those files
+ // are safe. This is a backstop against people somehow smuggling
+ // such a comment into a file generated by cgo.
+ if cfg.BuildToolchainName == "gc" && !cfg.BuildN {
+ var flags []string
+ for _, f := range outGo {
+ if !strings.HasPrefix(filepath.Base(f), "_cgo_") {
+ continue
+ }
+
+ src, err := ioutil.ReadFile(f)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ const cgoLdflag = "//go:cgo_ldflag"
+ idx := bytes.Index(src, []byte(cgoLdflag))
+ for idx >= 0 {
+ // We are looking at //go:cgo_ldflag.
+ // Find start of line.
+ start := bytes.LastIndex(src[:idx], []byte("\n"))
+ if start == -1 {
+ start = 0
+ }
+
+ // Find end of line.
+ end := bytes.Index(src[idx:], []byte("\n"))
+ if end == -1 {
+ end = len(src)
+ } else {
+ end += idx
+ }
+
+ // Check for first line comment in line.
+ // We don't worry about /* */ comments,
+ // which normally won't appear in files
+ // generated by cgo.
+ commentStart := bytes.Index(src[start:], []byte("//"))
+ commentStart += start
+ // If that line comment is //go:cgo_ldflag,
+ // it's a match.
+ if bytes.HasPrefix(src[commentStart:], []byte(cgoLdflag)) {
+ // Pull out the flag, and unquote it.
+ // This is what the compiler does.
+ flag := string(src[idx+len(cgoLdflag) : end])
+ flag = strings.TrimSpace(flag)
+ flag = strings.Trim(flag, `"`)
+ flags = append(flags, flag)
+ }
+ src = src[end:]
+ idx = bytes.Index(src, []byte(cgoLdflag))
+ }
+ }
+
+ // We expect to find the contents of cgoLDFLAGS in flags.
+ if len(cgoLDFLAGS) > 0 {
+ outer:
+ for i := range flags {
+ for j, f := range cgoLDFLAGS {
+ if f != flags[i+j] {
+ continue outer
+ }
+ }
+ flags = append(flags[:i], flags[i+len(cgoLDFLAGS):]...)
+ break
+ }
+ }
+
+ if err := checkLinkerFlags("LDFLAGS", "go:cgo_ldflag", flags); err != nil {
+ return nil, nil, err
+ }
+ }
+
return outGo, outObj, nil
}
diff --git a/src/cmd/go/internal/work/security.go b/src/cmd/go/internal/work/security.go
index 3ee68ac..0d96282 100644
--- a/src/cmd/go/internal/work/security.go
+++ b/src/cmd/go/internal/work/security.go
@@ -42,8 +42,8 @@
var re = lazyregexp.New
var validCompilerFlags = []*lazyregexp.Regexp{
- re(`-D([A-Za-z_].*)`),
- re(`-U([A-Za-z_]*)`),
+ re(`-D([A-Za-z_][A-Za-z0-9_]*)(=[^@\-]*)?`),
+ re(`-U([A-Za-z_][A-Za-z0-9_]*)`),
re(`-F([^@\-].*)`),
re(`-I([^@\-].*)`),
re(`-O`),
@@ -51,8 +51,8 @@
re(`-W`),
re(`-W([^@,]+)`), // -Wall but not -Wa,-foo.
re(`-Wa,-mbig-obj`),
- re(`-Wp,-D([A-Za-z_].*)`),
- re(`-Wp,-U([A-Za-z_]*)`),
+ re(`-Wp,-D([A-Za-z_][A-Za-z0-9_]*)(=[^@,\-]*)?`),
+ re(`-Wp,-U([A-Za-z_][A-Za-z0-9_]*)`),
re(`-ansi`),
re(`-f(no-)?asynchronous-unwind-tables`),
re(`-f(no-)?blocks`),
diff --git a/src/cmd/go/internal/work/security_test.go b/src/cmd/go/internal/work/security_test.go
index 11e74f2..aec9789 100644
--- a/src/cmd/go/internal/work/security_test.go
+++ b/src/cmd/go/internal/work/security_test.go
@@ -13,6 +13,7 @@
{"-DFOO"},
{"-Dfoo=bar"},
{"-Ufoo"},
+ {"-Ufoo1"},
{"-F/Qt"},
{"-I/"},
{"-I/etc/passwd"},
@@ -24,6 +25,8 @@
{"-Wall"},
{"-Wp,-Dfoo=bar"},
{"-Wp,-Ufoo"},
+ {"-Wp,-Dfoo1"},
+ {"-Wp,-Ufoo1"},
{"-fobjc-arc"},
{"-fno-objc-arc"},
{"-fomit-frame-pointer"},
@@ -78,6 +81,8 @@
{"-O@1"},
{"-Wa,-foo"},
{"-W@foo"},
+ {"-Wp,-DX,-D@X"},
+ {"-Wp,-UX,-U@X"},
{"-g@gdb"},
{"-g-gdb"},
{"-march=@dawn"},
diff --git a/src/cmd/go/testdata/script/ldflag.txt b/src/cmd/go/testdata/script/ldflag.txt
new file mode 100644
index 0000000..6ceb33b
--- /dev/null
+++ b/src/cmd/go/testdata/script/ldflag.txt
@@ -0,0 +1,44 @@
+# Issue #42565
+
+[!cgo] skip
+
+# We can't build package bad, which uses #cgo LDFLAGS.
+cd bad
+! go build
+stderr no-such-warning
+
+# We can build package ok with the same flags in CGO_LDFLAGS.
+env CGO_LDFLAGS=-Wno-such-warning -Wno-unknown-warning-option
+cd ../ok
+go build
+
+# Build a main program that actually uses LDFLAGS.
+cd ..
+go build -ldflags=-v
+
+# Because we passed -v the Go linker should print the external linker
+# command which should include the flag we passed in CGO_LDFLAGS.
+stderr no-such-warning
+
+-- go.mod --
+module ldflag
+
+-- bad/bad.go --
+package bad
+
+// #cgo LDFLAGS: -Wno-such-warning -Wno-unknown-warning
+import "C"
+
+func F() {}
+-- ok/ok.go --
+package ok
+
+import "C"
+
+func F() {}
+-- main.go --
+package main
+
+import _ "ldflag/ok"
+
+func main() {}
diff --git a/src/cmd/internal/obj/dwarf.go b/src/cmd/internal/obj/dwarf.go
index 4118c64..8a12849 100644
--- a/src/cmd/internal/obj/dwarf.go
+++ b/src/cmd/internal/obj/dwarf.go
@@ -44,14 +44,12 @@
}
}
- // Set up the debug_lines state machine.
- // NB: This state machine is reset to this state when we've finished
- // generating the line table. See below.
- // TODO: Once delve can support multiple DW_LNS_end_statements, we don't have
- // to do this.
+ // Set up the debug_lines state machine to the default values
+ // we expect at the start of a new sequence.
stmt := true
line := int64(1)
pc := s.Func.Text.Pc
+ var lastpc int64 // last PC written to line table, not last PC in func
name := ""
prologue, wrotePrologue := false, false
// Walk the progs, generating the DWARF table.
@@ -86,30 +84,33 @@
if line != int64(newLine) || wrote {
pcdelta := p.Pc - pc
+ lastpc = p.Pc
putpclcdelta(ctxt, dctxt, lines, uint64(pcdelta), int64(newLine)-line)
line, pc = int64(newLine), p.Pc
}
}
- // Because these symbols will be concatenated together by the linker, we need
- // to reset the state machine that controls the debug symbols. The fields in
- // the state machine that need to be reset are:
- // file = 1
- // line = 1
- // column = 0
- // stmt = set in header, we assume true
- // basic_block = false
- // Careful readers of the DWARF specification will note that we don't reset
- // the address of the state machine -- but this will happen at the beginning
- // of the NEXT block of opcodes.
- dctxt.AddUint8(lines, dwarf.DW_LNS_set_file)
+ // Because these symbols will be concatenated together by the
+ // linker, we need to reset the state machine that controls the
+ // debug symbols. Do this using an end-of-sequence operator.
+ //
+ // Note: at one point in time, Delve did not support multiple end
+ // sequence ops within a compilation unit (bug for this:
+ // https://github.com/go-delve/delve/issues/1694), however the bug
+ // has since been fixed (Oct 2019).
+ //
+ // Issue 38192: the DWARF standard specifies that when you issue
+ // an end-sequence op, the PC value should be one past the last
+ // text address in the translation unit, so apply a delta to the
+ // text address before the end sequence op. If this isn't done,
+ // GDB will assign a line number of zero the last row in the line
+ // table, which we don't want.
+ lastlen := uint64(s.Size - (lastpc - s.Func.Text.Pc))
+ dctxt.AddUint8(lines, dwarf.DW_LNS_advance_pc)
+ dwarf.Uleb128put(dctxt, lines, int64(lastlen))
+ dctxt.AddUint8(lines, 0) // start extended opcode
dwarf.Uleb128put(dctxt, lines, 1)
- dctxt.AddUint8(lines, dwarf.DW_LNS_advance_line)
- dwarf.Sleb128put(dctxt, lines, int64(1-line))
- if !stmt {
- dctxt.AddUint8(lines, dwarf.DW_LNS_negate_stmt)
- }
- dctxt.AddUint8(lines, dwarf.DW_LNS_copy)
+ dctxt.AddUint8(lines, dwarf.DW_LNE_end_sequence)
}
func putpclcdelta(linkctxt *Link, dctxt dwCtxt, s *LSym, deltaPC uint64, deltaLC int64) {
diff --git a/src/cmd/internal/objabi/zbootstrap.go b/src/cmd/internal/objabi/zbootstrap.go
index 0d4b6fb..8705614 100644
--- a/src/cmd/internal/objabi/zbootstrap.go
+++ b/src/cmd/internal/objabi/zbootstrap.go
@@ -13,6 +13,6 @@
const defaultGOARCH = runtime.GOARCH
const defaultGO_EXTLINK_ENABLED = ``
const defaultGO_LDSO = ``
-const version = `go1.15.3`
+const version = `go1.15.6`
const stackGuardMultiplierDefault = 1
const goexperiment = ``
diff --git a/src/cmd/link/internal/ld/dwarf.go b/src/cmd/link/internal/ld/dwarf.go
index 8df03d7..6d33006 100644
--- a/src/cmd/link/internal/ld/dwarf.go
+++ b/src/cmd/link/internal/ld/dwarf.go
@@ -1264,22 +1264,6 @@
}
}
- // Issue 38192: the DWARF standard specifies that when you issue
- // an end-sequence op, the PC value should be one past the last
- // text address in the translation unit, so apply a delta to the
- // text address before the end sequence op. If this isn't done,
- // GDB will assign a line number of zero the last row in the line
- // table, which we don't want. The 1 + ptrsize amount is somewhat
- // arbitrary, this is chosen to be consistent with the way LLVM
- // emits its end sequence ops.
- lsu.AddUint8(dwarf.DW_LNS_advance_pc)
- dwarf.Uleb128put(d, lsDwsym, int64(1+d.arch.PtrSize))
-
- // Emit an end-sequence at the end of the unit.
- lsu.AddUint8(0) // start extended opcode
- dwarf.Uleb128put(d, lsDwsym, 1)
- lsu.AddUint8(dwarf.DW_LNE_end_sequence)
-
if d.linkctxt.HeadType == objabi.Haix {
saveDwsectCUSize(".debug_line", unit.Lib.Pkg, uint64(lsu.Size()-unitLengthOffset))
}
diff --git a/src/cmd/link/internal/ld/dwarf_test.go b/src/cmd/link/internal/ld/dwarf_test.go
index fb9c45b..f3dd537 100644
--- a/src/cmd/link/internal/ld/dwarf_test.go
+++ b/src/cmd/link/internal/ld/dwarf_test.go
@@ -1479,3 +1479,122 @@
t.Logf("row %d: A=%x F=%s L=%d\n", i, r.Address, r.File.Name, r.Line)
}
}
+
+func TestIssue39757(t *testing.T) {
+ testenv.MustHaveGoBuild(t)
+
+ if runtime.GOOS == "plan9" {
+ t.Skip("skipping on plan9; no DWARF symbol table in executables")
+ }
+
+ // In this bug the DWARF line table contents for the last couple of
+ // instructions in a function were incorrect (bad file/line). This
+ // test verifies that all of the line table rows for a function
+ // of interest have the same file (no "autogenerated").
+ //
+ // Note: the function in this test was written with an eye towards
+ // ensuring that there are no inlined routines from other packages
+ // (which could introduce other source files into the DWARF); it's
+ // possible that at some point things could evolve in the
+ // compiler/runtime in ways that aren't happening now, so this
+ // might be something to check for if it does start failing.
+
+ tmpdir, err := ioutil.TempDir("", "TestIssue38192")
+ if err != nil {
+ t.Fatalf("could not create directory: %v", err)
+ }
+ defer os.RemoveAll(tmpdir)
+ wd, err := os.Getwd()
+ if err != nil {
+ t.Fatalf("where am I? %v", err)
+ }
+ pdir := filepath.Join(wd, "testdata", "issue39757")
+ f := gobuildTestdata(t, tmpdir, pdir, DefaultOpt)
+
+ syms, err := f.Symbols()
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ var addr uint64
+ for _, sym := range syms {
+ if sym.Name == "main.main" {
+ addr = sym.Addr
+ break
+ }
+ }
+ if addr == 0 {
+ t.Fatal("cannot find main.main in symbols")
+ }
+
+ // Open the resulting binary and examine the DWARF it contains.
+ // Look for the function of interest ("main.main")
+ // and verify that all line table entries show the same source
+ // file.
+ dw, err := f.DWARF()
+ if err != nil {
+ t.Fatalf("error parsing DWARF: %v", err)
+ }
+ rdr := dw.Reader()
+ ex := examiner{}
+ if err := ex.populate(rdr); err != nil {
+ t.Fatalf("error reading DWARF: %v", err)
+ }
+
+ // Locate the main.main DIE
+ mains := ex.Named("main.main")
+ if len(mains) == 0 {
+ t.Fatalf("unable to locate DIE for main.main")
+ }
+ if len(mains) != 1 {
+ t.Fatalf("more than one main.main DIE")
+ }
+ maindie := mains[0]
+
+ // Collect the start/end PC for main.main
+ lowpc := maindie.Val(dwarf.AttrLowpc).(uint64)
+ highpc := maindie.Val(dwarf.AttrHighpc).(uint64)
+
+ // Now read the line table for the 'main' compilation unit.
+ mainIdx := ex.idxFromOffset(maindie.Offset)
+ cuentry := ex.Parent(mainIdx)
+ if cuentry == nil {
+ t.Fatalf("main.main DIE appears orphaned")
+ }
+ lnrdr, lerr := dw.LineReader(cuentry)
+ if lerr != nil {
+ t.Fatalf("error creating DWARF line reader: %v", err)
+ }
+ if lnrdr == nil {
+ t.Fatalf("no line table for main.main compilation unit")
+ }
+ rows := []dwarf.LineEntry{}
+ mainrows := 0
+ var lne dwarf.LineEntry
+ for {
+ err := lnrdr.Next(&lne)
+ if err == io.EOF {
+ break
+ }
+ rows = append(rows, lne)
+ if err != nil {
+ t.Fatalf("error reading next DWARF line: %v", err)
+ }
+ if lne.Address < lowpc || lne.Address > highpc {
+ continue
+ }
+ if !strings.HasSuffix(lne.File.Name, "issue39757main.go") {
+ t.Errorf("found row with file=%s (not issue39757main.go)", lne.File.Name)
+ }
+ mainrows++
+ }
+ f.Close()
+
+ // Make sure we saw a few rows.
+ if mainrows < 3 {
+ t.Errorf("not enough line table rows for main.main (got %d, wanted > 3", mainrows)
+ for i, r := range rows {
+ t.Logf("row %d: A=%x F=%s L=%d\n", i, r.Address, r.File.Name, r.Line)
+ }
+ }
+}
diff --git a/src/cmd/link/internal/ld/outbuf.go b/src/cmd/link/internal/ld/outbuf.go
index 09162ae..7bc8954 100644
--- a/src/cmd/link/internal/ld/outbuf.go
+++ b/src/cmd/link/internal/ld/outbuf.go
@@ -187,7 +187,9 @@
// See if our heap would grow to be too large, and if so, copy it to the end
// of the mmapped area.
if heapLen > maxOutBufHeapLen && out.copyHeap() {
- heapPos, heapLen, lenNeeded = 0, 0, lenToWrite
+ heapPos -= heapLen
+ lenNeeded = heapPos + lenToWrite
+ heapLen = 0
}
out.heap = append(out.heap, make([]byte, lenNeeded-heapLen)...)
}
diff --git a/src/cmd/link/internal/ld/testdata/issue39757/issue39757main.go b/src/cmd/link/internal/ld/testdata/issue39757/issue39757main.go
new file mode 100644
index 0000000..76e0ea1
--- /dev/null
+++ b/src/cmd/link/internal/ld/testdata/issue39757/issue39757main.go
@@ -0,0 +1,15 @@
+// Copyright 2020 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.
+
+package main
+
+var G int
+
+func main() {
+ if G != 101 {
+ println("not 101")
+ } else {
+ println("well now that's interesting")
+ }
+}
diff --git a/src/compress/flate/deflate_test.go b/src/compress/flate/deflate_test.go
index 49a0345..b19cbec 100644
--- a/src/compress/flate/deflate_test.go
+++ b/src/compress/flate/deflate_test.go
@@ -11,6 +11,7 @@
"internal/testenv"
"io"
"io/ioutil"
+ "math/rand"
"reflect"
"runtime/debug"
"sync"
@@ -896,6 +897,62 @@
}
}
+func TestBestSpeedShiftOffsets(t *testing.T) {
+ // Test if shiftoffsets properly preserves matches and resets out-of-range matches
+ // seen in https://github.com/golang/go/issues/4142
+ enc := newDeflateFast()
+
+ // testData may not generate internal matches.
+ testData := make([]byte, 32)
+ rng := rand.New(rand.NewSource(0))
+ for i := range testData {
+ testData[i] = byte(rng.Uint32())
+ }
+
+ // Encode the testdata with clean state.
+ // Second part should pick up matches from the first block.
+ wantFirstTokens := len(enc.encode(nil, testData))
+ wantSecondTokens := len(enc.encode(nil, testData))
+
+ if wantFirstTokens <= wantSecondTokens {
+ t.Fatalf("test needs matches between inputs to be generated")
+ }
+ // Forward the current indicator to before wraparound.
+ enc.cur = bufferReset - int32(len(testData))
+
+ // Part 1 before wrap, should match clean state.
+ got := len(enc.encode(nil, testData))
+ if wantFirstTokens != got {
+ t.Errorf("got %d, want %d tokens", got, wantFirstTokens)
+ }
+
+ // Verify we are about to wrap.
+ if enc.cur != bufferReset {
+ t.Errorf("got %d, want e.cur to be at bufferReset (%d)", enc.cur, bufferReset)
+ }
+
+ // Part 2 should match clean state as well even if wrapped.
+ got = len(enc.encode(nil, testData))
+ if wantSecondTokens != got {
+ t.Errorf("got %d, want %d token", got, wantSecondTokens)
+ }
+
+ // Verify that we wrapped.
+ if enc.cur >= bufferReset {
+ t.Errorf("want e.cur to be < bufferReset (%d), got %d", bufferReset, enc.cur)
+ }
+
+ // Forward the current buffer, leaving the matches at the bottom.
+ enc.cur = bufferReset
+ enc.shiftOffsets()
+
+ // Ensure that no matches were picked up.
+ got = len(enc.encode(nil, testData))
+ if wantFirstTokens != got {
+ t.Errorf("got %d, want %d tokens", got, wantFirstTokens)
+ }
+}
+
func TestMaxStackSize(t *testing.T) {
// This test must not run in parallel with other tests as debug.SetMaxStack
// affects all goroutines.
diff --git a/src/compress/flate/deflatefast.go b/src/compress/flate/deflatefast.go
index 24f8be9..6aa439f 100644
--- a/src/compress/flate/deflatefast.go
+++ b/src/compress/flate/deflatefast.go
@@ -270,6 +270,7 @@
func (e *deflateFast) reset() {
e.prev = e.prev[:0]
// Bump the offset, so all matches will fail distance check.
+ // Nothing should be >= e.cur in the table.
e.cur += maxMatchOffset
// Protect against e.cur wraparound.
@@ -288,17 +289,21 @@
for i := range e.table[:] {
e.table[i] = tableEntry{}
}
- e.cur = maxMatchOffset
+ e.cur = maxMatchOffset + 1
return
}
// Shift down everything in the table that isn't already too far away.
for i := range e.table[:] {
- v := e.table[i].offset - e.cur + maxMatchOffset
+ v := e.table[i].offset - e.cur + maxMatchOffset + 1
if v < 0 {
+ // We want to reset e.cur to maxMatchOffset + 1, so we need to shift
+ // all table entries down by (e.cur - (maxMatchOffset + 1)).
+ // Because we ignore matches > maxMatchOffset, we can cap
+ // any negative offsets at 0.
v = 0
}
e.table[i].offset = v
}
- e.cur = maxMatchOffset
+ e.cur = maxMatchOffset + 1
}
diff --git a/src/go.mod b/src/go.mod
index b002f8e..6b97366 100644
--- a/src/go.mod
+++ b/src/go.mod
@@ -4,7 +4,7 @@
require (
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9
- golang.org/x/net v0.0.0-20200707034311-ab3426394381
+ golang.org/x/net v0.0.0-20201008223702-a5fa9d4b7c91
golang.org/x/sys v0.0.0-20200501145240-bc7a7d42d5c3 // indirect
golang.org/x/text v0.3.3-0.20200430171850-afb9336c4530 // indirect
)
diff --git a/src/go.sum b/src/go.sum
index 528f7e4..fbd3279 100644
--- a/src/go.sum
+++ b/src/go.sum
@@ -2,8 +2,8 @@
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
-golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20201008223702-a5fa9d4b7c91 h1:zd7kl5i5PDM0OnFbRWVM6B8mXojzv8LOkHN9LsOrRf4=
+golang.org/x/net v0.0.0-20201008223702-a5fa9d4b7c91/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
diff --git a/src/internal/poll/copy_file_range_linux.go b/src/internal/poll/copy_file_range_linux.go
index 09de299..fc34aef 100644
--- a/src/internal/poll/copy_file_range_linux.go
+++ b/src/internal/poll/copy_file_range_linux.go
@@ -10,15 +10,61 @@
"syscall"
)
-var copyFileRangeSupported int32 = 1 // accessed atomically
+var copyFileRangeSupported int32 = -1 // accessed atomically
const maxCopyFileRangeRound = 1 << 30
+func kernelVersion() (major int, minor int) {
+ var uname syscall.Utsname
+ if err := syscall.Uname(&uname); err != nil {
+ return
+ }
+
+ rl := uname.Release
+ var values [2]int
+ vi := 0
+ value := 0
+ for _, c := range rl {
+ if '0' <= c && c <= '9' {
+ value = (value * 10) + int(c-'0')
+ } else {
+ // Note that we're assuming N.N.N here. If we see anything else we are likely to
+ // mis-parse it.
+ values[vi] = value
+ vi++
+ if vi >= len(values) {
+ break
+ }
+ value = 0
+ }
+ }
+ switch vi {
+ case 0:
+ return 0, 0
+ case 1:
+ return values[0], 0
+ case 2:
+ return values[0], values[1]
+ }
+ return
+}
+
// CopyFileRange copies at most remain bytes of data from src to dst, using
// the copy_file_range system call. dst and src must refer to regular files.
func CopyFileRange(dst, src *FD, remain int64) (written int64, handled bool, err error) {
- if atomic.LoadInt32(©FileRangeSupported) == 0 {
+ if supported := atomic.LoadInt32(©FileRangeSupported); supported == 0 {
return 0, false, nil
+ } else if supported == -1 {
+ major, minor := kernelVersion()
+ if major > 5 || (major == 5 && minor >= 3) {
+ atomic.StoreInt32(©FileRangeSupported, 1)
+ } else {
+ // copy_file_range(2) is broken in various ways on kernels older than 5.3,
+ // see issue #42400 and
+ // https://man7.org/linux/man-pages/man2/copy_file_range.2.html#VERSIONS
+ atomic.StoreInt32(©FileRangeSupported, 0)
+ return 0, false, nil
+ }
}
for remain > 0 {
max := remain
@@ -41,7 +87,7 @@
// use copy_file_range(2) again.
atomic.StoreInt32(©FileRangeSupported, 0)
return 0, false, nil
- case syscall.EXDEV, syscall.EINVAL, syscall.EOPNOTSUPP, syscall.EPERM:
+ case syscall.EXDEV, syscall.EINVAL, syscall.EIO, syscall.EOPNOTSUPP, syscall.EPERM:
// Prior to Linux 5.3, it was not possible to
// copy_file_range across file systems. Similarly to
// the ENOSYS case above, if we see EXDEV, we have
@@ -53,6 +99,9 @@
// file. This is another case where no data has been
// transfered, so we consider it unhandled.
//
+ // If src and dst are on CIFS, we can see EIO.
+ // See issue #42334.
+ //
// If the file is on NFS, we can see EOPNOTSUPP.
// See issue #40731.
//
diff --git a/src/math/big/nat.go b/src/math/big/nat.go
index 6a3989b..8c43de6 100644
--- a/src/math/big/nat.go
+++ b/src/math/big/nat.go
@@ -928,7 +928,7 @@
// Now u < (v<<B), compute lower bits in the same way.
// Choose shift = B-1 again.
- s := B
+ s := B - 1
qhat := *temps[depth]
qhat.clear()
qhat.divRecursiveStep(u[s:].norm(), v[s:], depth+1, tmp, temps)
diff --git a/src/net/http/h2_bundle.go b/src/net/http/h2_bundle.go
index 81c3671..b03b84d 100644
--- a/src/net/http/h2_bundle.go
+++ b/src/net/http/h2_bundle.go
@@ -5265,6 +5265,7 @@
if len(data) > 0 {
wrote, err := st.body.Write(data)
if err != nil {
+ sc.sendWindowUpdate(nil, int(f.Length)-wrote)
return http2streamError(id, http2ErrCodeStreamClosed)
}
if wrote != len(data) {
@@ -7167,6 +7168,7 @@
cc.inflow.add(http2transportDefaultConnFlow + http2initialWindowSize)
cc.bw.Flush()
if cc.werr != nil {
+ cc.Close()
return nil, cc.werr
}
@@ -7532,6 +7534,15 @@
bodyWriter := cc.t.getBodyWriterState(cs, body)
cs.on100 = bodyWriter.on100
+ defer func() {
+ cc.wmu.Lock()
+ werr := cc.werr
+ cc.wmu.Unlock()
+ if werr != nil {
+ cc.Close()
+ }
+ }()
+
cc.wmu.Lock()
endStream := !hasBody && !hasTrailers
werr := cc.writeHeaders(cs.ID, endStream, int(cc.maxFrameSize), hdrs)
diff --git a/src/net/http/request.go b/src/net/http/request.go
index fe6b609..54ec1c5 100644
--- a/src/net/http/request.go
+++ b/src/net/http/request.go
@@ -382,7 +382,7 @@
if s := r.TransferEncoding; s != nil {
s2 := make([]string, len(s))
copy(s2, s)
- r2.TransferEncoding = s
+ r2.TransferEncoding = s2
}
r2.Form = cloneURLValues(r.Form)
r2.PostForm = cloneURLValues(r.PostForm)
diff --git a/src/net/http/request_test.go b/src/net/http/request_test.go
index 42c16d0..461d66e 100644
--- a/src/net/http/request_test.go
+++ b/src/net/http/request_test.go
@@ -828,6 +828,27 @@
}
}
+// Ensure that Request.Clone creates a deep copy of TransferEncoding.
+// See issue 41907.
+func TestRequestCloneTransferEncoding(t *testing.T) {
+ body := strings.NewReader("body")
+ req, _ := NewRequest("POST", "https://example.org/", body)
+ req.TransferEncoding = []string{
+ "encoding1",
+ }
+
+ clonedReq := req.Clone(context.Background())
+ // modify original after deep copy
+ req.TransferEncoding[0] = "encoding2"
+
+ if req.TransferEncoding[0] != "encoding2" {
+ t.Error("expected req.TransferEncoding to be changed")
+ }
+ if clonedReq.TransferEncoding[0] != "encoding1" {
+ t.Error("expected clonedReq.TransferEncoding to be unchanged")
+ }
+}
+
func TestNoPanicOnRoundTripWithBasicAuth_h1(t *testing.T) {
testNoPanicWithBasicAuth(t, h1Mode)
}
diff --git a/src/reflect/deepequal.go b/src/reflect/deepequal.go
index 8a2bf8b..b99c345 100644
--- a/src/reflect/deepequal.go
+++ b/src/reflect/deepequal.go
@@ -37,7 +37,17 @@
// and it's safe and valid to get Value's internal pointer.
hard := func(v1, v2 Value) bool {
switch v1.Kind() {
- case Map, Slice, Ptr, Interface:
+ case Ptr:
+ if v1.typ.ptrdata == 0 {
+ // go:notinheap pointers can't be cyclic.
+ // At least, all of our current uses of go:notinheap have
+ // that property. The runtime ones aren't cyclic (and we don't use
+ // DeepEqual on them anyway), and the cgo-generated ones are
+ // all empty structs.
+ return false
+ }
+ fallthrough
+ case Map, Slice, Interface:
// Nil pointers cannot be cyclic. Avoid putting them in the visited map.
return !v1.IsNil() && !v2.IsNil()
}
diff --git a/src/reflect/value.go b/src/reflect/value.go
index c6f24a5..1bd11c8 100644
--- a/src/reflect/value.go
+++ b/src/reflect/value.go
@@ -90,6 +90,7 @@
// pointer returns the underlying pointer represented by v.
// v.Kind() must be Ptr, Map, Chan, Func, or UnsafePointer
+// if v.Kind() == Ptr, the base type must not be go:notinheap.
func (v Value) pointer() unsafe.Pointer {
if v.typ.size != ptrSize || !v.typ.pointers() {
panic("can't call pointer on a non-pointer Value")
@@ -1452,7 +1453,16 @@
// TODO: deprecate
k := v.kind()
switch k {
- case Chan, Map, Ptr, UnsafePointer:
+ case Ptr:
+ if v.typ.ptrdata == 0 {
+ // Handle pointers to go:notinheap types directly,
+ // so we never materialize such pointers as an
+ // unsafe.Pointer. (Such pointers are always indirect.)
+ // See issue 42076.
+ return *(*uintptr)(v.ptr)
+ }
+ fallthrough
+ case Chan, Map, UnsafePointer:
return uintptr(v.pointer())
case Func:
if v.flag&flagMethod != 0 {
diff --git a/src/runtime/crash_cgo_test.go b/src/runtime/crash_cgo_test.go
index 4872189..57c3639 100644
--- a/src/runtime/crash_cgo_test.go
+++ b/src/runtime/crash_cgo_test.go
@@ -600,3 +600,16 @@
t.Fatalf("want %s, got %s\n", want, output)
}
}
+
+// Issue #42207.
+func TestNeedmDeadlock(t *testing.T) {
+ switch runtime.GOOS {
+ case "plan9", "windows":
+ t.Skipf("no signals on %s", runtime.GOOS)
+ }
+ output := runTestProg(t, "testprogcgo", "NeedmDeadlock")
+ want := "OK\n"
+ if output != want {
+ t.Fatalf("want %s, got %s\n", want, output)
+ }
+}
diff --git a/src/runtime/internal/sys/zversion.go b/src/runtime/internal/sys/zversion.go
index b8d8371..bf4cb91 100644
--- a/src/runtime/internal/sys/zversion.go
+++ b/src/runtime/internal/sys/zversion.go
@@ -2,6 +2,6 @@
package sys
-const TheVersion = `go1.15.3`
+const TheVersion = `go1.15.6`
const Goexperiment = ``
const StackGuardMultiplierDefault = 1
diff --git a/src/runtime/netpoll.go b/src/runtime/netpoll.go
index 34ea82a..77eb3aa 100644
--- a/src/runtime/netpoll.go
+++ b/src/runtime/netpoll.go
@@ -79,16 +79,17 @@
lock mutex // protects the following fields
fd uintptr
closing bool
- everr bool // marks event scanning error happened
- user uint32 // user settable cookie
- rseq uintptr // protects from stale read timers
- rg uintptr // pdReady, pdWait, G waiting for read or nil
- rt timer // read deadline timer (set if rt.f != nil)
- rd int64 // read deadline
- wseq uintptr // protects from stale write timers
- wg uintptr // pdReady, pdWait, G waiting for write or nil
- wt timer // write deadline timer
- wd int64 // write deadline
+ everr bool // marks event scanning error happened
+ user uint32 // user settable cookie
+ rseq uintptr // protects from stale read timers
+ rg uintptr // pdReady, pdWait, G waiting for read or nil
+ rt timer // read deadline timer (set if rt.f != nil)
+ rd int64 // read deadline
+ wseq uintptr // protects from stale write timers
+ wg uintptr // pdReady, pdWait, G waiting for write or nil
+ wt timer // write deadline timer
+ wd int64 // write deadline
+ self *pollDesc // storage for indirect interface. See (*pollDesc).makeArg.
}
type pollCache struct {
@@ -157,6 +158,7 @@
pd.wseq++
pd.wg = 0
pd.wd = 0
+ pd.self = pd
unlock(&pd.lock)
var errno int32
@@ -271,14 +273,14 @@
// Copy current seq into the timer arg.
// Timer func will check the seq against current descriptor seq,
// if they differ the descriptor was reused or timers were reset.
- pd.rt.arg = pd
+ pd.rt.arg = pd.makeArg()
pd.rt.seq = pd.rseq
resettimer(&pd.rt, pd.rd)
}
} else if pd.rd != rd0 || combo != combo0 {
pd.rseq++ // invalidate current timers
if pd.rd > 0 {
- modtimer(&pd.rt, pd.rd, 0, rtf, pd, pd.rseq)
+ modtimer(&pd.rt, pd.rd, 0, rtf, pd.makeArg(), pd.rseq)
} else {
deltimer(&pd.rt)
pd.rt.f = nil
@@ -287,14 +289,14 @@
if pd.wt.f == nil {
if pd.wd > 0 && !combo {
pd.wt.f = netpollWriteDeadline
- pd.wt.arg = pd
+ pd.wt.arg = pd.makeArg()
pd.wt.seq = pd.wseq
resettimer(&pd.wt, pd.wd)
}
} else if pd.wd != wd0 || combo != combo0 {
pd.wseq++ // invalidate current timers
if pd.wd > 0 && !combo {
- modtimer(&pd.wt, pd.wd, 0, netpollWriteDeadline, pd, pd.wseq)
+ modtimer(&pd.wt, pd.wd, 0, netpollWriteDeadline, pd.makeArg(), pd.wseq)
} else {
deltimer(&pd.wt)
pd.wt.f = nil
@@ -547,3 +549,20 @@
unlock(&c.lock)
return pd
}
+
+// makeArg converts pd to an interface{}.
+// makeArg does not do any allocation. Normally, such
+// a conversion requires an allocation because pointers to
+// go:notinheap types (which pollDesc is) must be stored
+// in interfaces indirectly. See issue 42076.
+func (pd *pollDesc) makeArg() (i interface{}) {
+ x := (*eface)(unsafe.Pointer(&i))
+ x._type = pdType
+ x.data = unsafe.Pointer(&pd.self)
+ return
+}
+
+var (
+ pdEface interface{} = (*pollDesc)(nil)
+ pdType *_type = efaceOf(&pdEface)._type
+)
diff --git a/src/runtime/os_js.go b/src/runtime/os_js.go
index ff0ee3a..94983b3 100644
--- a/src/runtime/os_js.go
+++ b/src/runtime/os_js.go
@@ -59,7 +59,7 @@
}
//go:nosplit
-func msigsave(mp *m) {
+func sigsave(p *sigset) {
}
//go:nosplit
diff --git a/src/runtime/os_plan9.go b/src/runtime/os_plan9.go
index 9e187d2..8f5380d 100644
--- a/src/runtime/os_plan9.go
+++ b/src/runtime/os_plan9.go
@@ -167,7 +167,7 @@
mp.errstr = (*byte)(mallocgc(_ERRMAX, nil, true))
}
-func msigsave(mp *m) {
+func sigsave(p *sigset) {
}
func msigrestore(sigmask sigset) {
diff --git a/src/runtime/os_windows.go b/src/runtime/os_windows.go
index 769197d..81d9ccf 100644
--- a/src/runtime/os_windows.go
+++ b/src/runtime/os_windows.go
@@ -830,7 +830,7 @@
}
//go:nosplit
-func msigsave(mp *m) {
+func sigsave(p *sigset) {
}
//go:nosplit
diff --git a/src/runtime/proc.go b/src/runtime/proc.go
index 0358222..7fa19d8 100644
--- a/src/runtime/proc.go
+++ b/src/runtime/proc.go
@@ -569,7 +569,7 @@
typelinksinit() // uses maps, activeModules
itabsinit() // uses activeModules
- msigsave(_g_.m)
+ sigsave(&_g_.m.sigmask)
initSigmask = _g_.m.sigmask
goargs()
@@ -1281,6 +1281,14 @@
checkdead()
unlock(&sched.lock)
+ if GOOS == "darwin" {
+ // Make sure pendingPreemptSignals is correct when an M exits.
+ // For #41702.
+ if atomic.Load(&m.signalPending) != 0 {
+ atomic.Xadd(&pendingPreemptSignals, -1)
+ }
+ }
+
if osStack {
// Return from mstart and let the system thread
// library free the g0 stack and terminate the thread.
@@ -1528,6 +1536,18 @@
exit(1)
}
+ // Save and block signals before getting an M.
+ // The signal handler may call needm itself,
+ // and we must avoid a deadlock. Also, once g is installed,
+ // any incoming signals will try to execute,
+ // but we won't have the sigaltstack settings and other data
+ // set up appropriately until the end of minit, which will
+ // unblock the signals. This is the same dance as when
+ // starting a new m to run Go code via newosproc.
+ var sigmask sigset
+ sigsave(&sigmask)
+ sigblock()
+
// Lock extra list, take head, unlock popped list.
// nilokay=false is safe here because of the invariant above,
// that the extra list always contains or will soon contain
@@ -1545,14 +1565,8 @@
extraMCount--
unlockextra(mp.schedlink.ptr())
- // Save and block signals before installing g.
- // Once g is installed, any incoming signals will try to execute,
- // but we won't have the sigaltstack settings and other data
- // set up appropriately until the end of minit, which will
- // unblock the signals. This is the same dance as when
- // starting a new m to run Go code via newosproc.
- msigsave(mp)
- sigblock()
+ // Store the original signal mask for use by minit.
+ mp.sigmask = sigmask
// Install g (= m->g0) and set the stack bounds
// to match the current stack. We don't actually know
@@ -3409,7 +3423,7 @@
// a signal handler before exec if a signal is sent to the process
// group. See issue #18600.
gp.m.locks++
- msigsave(gp.m)
+ sigsave(&gp.m.sigmask)
sigblock()
// This function is called before fork in syscall package.
@@ -3475,11 +3489,24 @@
inForkedChild = false
}
+// pendingPreemptSignals is the number of preemption signals
+// that have been sent but not received. This is only used on Darwin.
+// For #41702.
+var pendingPreemptSignals uint32
+
// Called from syscall package before Exec.
//go:linkname syscall_runtime_BeforeExec syscall.runtime_BeforeExec
func syscall_runtime_BeforeExec() {
// Prevent thread creation during exec.
execLock.lock()
+
+ // On Darwin, wait for all pending preemption signals to
+ // be received. See issue #41702.
+ if GOOS == "darwin" {
+ for int32(atomic.Load(&pendingPreemptSignals)) > 0 {
+ osyield()
+ }
+ }
}
// Called from syscall package after Exec.
diff --git a/src/runtime/signal_unix.go b/src/runtime/signal_unix.go
index dd6d79f..003c7b0 100644
--- a/src/runtime/signal_unix.go
+++ b/src/runtime/signal_unix.go
@@ -336,6 +336,10 @@
// Acknowledge the preemption.
atomic.Xadd(&gp.m.preemptGen, 1)
atomic.Store(&gp.m.signalPending, 0)
+
+ if GOOS == "darwin" {
+ atomic.Xadd(&pendingPreemptSignals, -1)
+ }
}
const preemptMSupported = true
@@ -357,7 +361,18 @@
// required).
return
}
+
+ // On Darwin, don't try to preempt threads during exec.
+ // Issue #41702.
+ if GOOS == "darwin" {
+ execLock.rlock()
+ }
+
if atomic.Cas(&mp.signalPending, 0, 1) {
+ if GOOS == "darwin" {
+ atomic.Xadd(&pendingPreemptSignals, 1)
+ }
+
// If multiple threads are preempting the same M, it may send many
// signals to the same M such that it hardly make progress, causing
// live-lock problem. Apparently this could happen on darwin. See
@@ -365,6 +380,10 @@
// Only send a signal if there isn't already one pending.
signalM(mp, sigPreempt)
}
+
+ if GOOS == "darwin" {
+ execLock.runlock()
+ }
}
// sigFetchG fetches the value of G safely when running in a signal handler.
@@ -425,6 +444,9 @@
// no non-Go signal handler for sigPreempt.
// The default behavior for sigPreempt is to ignore
// the signal, so badsignal will be a no-op anyway.
+ if GOOS == "darwin" {
+ atomic.Xadd(&pendingPreemptSignals, -1)
+ }
return
}
c.fixsigcode(sig)
@@ -1010,15 +1032,15 @@
return true
}
-// msigsave saves the current thread's signal mask into mp.sigmask.
+// sigsave saves the current thread's signal mask into *p.
// This is used to preserve the non-Go signal mask when a non-Go
// thread calls a Go function.
// This is nosplit and nowritebarrierrec because it is called by needm
// which may be called on a non-Go thread with no g available.
//go:nosplit
//go:nowritebarrierrec
-func msigsave(mp *m) {
- sigprocmask(_SIG_SETMASK, nil, &mp.sigmask)
+func sigsave(p *sigset) {
+ sigprocmask(_SIG_SETMASK, nil, p)
}
// msigrestore sets the current thread's signal mask to sigmask.
@@ -1090,7 +1112,7 @@
// thread's signal mask. When this is called all signals have been
// blocked for the thread. This starts with m.sigmask, which was set
// either from initSigmask for a newly created thread or by calling
-// msigsave if this is a non-Go thread calling a Go function. It
+// sigsave if this is a non-Go thread calling a Go function. It
// removes all essential signals from the mask, thus causing those
// signals to not be blocked. Then it sets the thread's signal mask.
// After this is called the thread can receive signals.
diff --git a/src/runtime/testdata/testprogcgo/needmdeadlock.go b/src/runtime/testdata/testprogcgo/needmdeadlock.go
new file mode 100644
index 0000000..5a9c359
--- /dev/null
+++ b/src/runtime/testdata/testprogcgo/needmdeadlock.go
@@ -0,0 +1,95 @@
+// Copyright 2020 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.
+
+// +build !plan9,!windows
+
+package main
+
+// This is for issue #42207.
+// During a call to needm we could get a SIGCHLD signal
+// which would itself call needm, causing a deadlock.
+
+/*
+#include <signal.h>
+#include <pthread.h>
+#include <sched.h>
+#include <unistd.h>
+
+extern void GoNeedM();
+
+#define SIGNALERS 10
+
+static void* needmSignalThread(void* p) {
+ pthread_t* pt = (pthread_t*)(p);
+ int i;
+
+ for (i = 0; i < 100; i++) {
+ if (pthread_kill(*pt, SIGCHLD) < 0) {
+ return NULL;
+ }
+ usleep(1);
+ }
+ return NULL;
+}
+
+// We don't need many calls, as the deadlock is only likely
+// to occur the first couple of times that needm is called.
+// After that there will likely be an extra M available.
+#define CALLS 10
+
+static void* needmCallbackThread(void* p) {
+ int i;
+
+ for (i = 0; i < SIGNALERS; i++) {
+ sched_yield(); // Help the signal threads get started.
+ }
+ for (i = 0; i < CALLS; i++) {
+ GoNeedM();
+ }
+ return NULL;
+}
+
+static void runNeedmSignalThread() {
+ int i;
+ pthread_t caller;
+ pthread_t s[SIGNALERS];
+
+ pthread_create(&caller, NULL, needmCallbackThread, NULL);
+ for (i = 0; i < SIGNALERS; i++) {
+ pthread_create(&s[i], NULL, needmSignalThread, &caller);
+ }
+ for (i = 0; i < SIGNALERS; i++) {
+ pthread_join(s[i], NULL);
+ }
+ pthread_join(caller, NULL);
+}
+*/
+import "C"
+
+import (
+ "fmt"
+ "os"
+ "time"
+)
+
+func init() {
+ register("NeedmDeadlock", NeedmDeadlock)
+}
+
+//export GoNeedM
+func GoNeedM() {
+}
+
+func NeedmDeadlock() {
+ // The failure symptom is that the program hangs because of a
+ // deadlock in needm, so set an alarm.
+ go func() {
+ time.Sleep(5 * time.Second)
+ fmt.Println("Hung for 5 seconds")
+ os.Exit(1)
+ }()
+
+ C.runNeedmSignalThread()
+ fmt.Println("OK")
+}
diff --git a/src/syscall/exec_unix_test.go b/src/syscall/exec_unix_test.go
index 4eb3c5c..4431f7f 100644
--- a/src/syscall/exec_unix_test.go
+++ b/src/syscall/exec_unix_test.go
@@ -9,11 +9,14 @@
import (
"internal/testenv"
"io"
+ "math/rand"
"os"
"os/exec"
"os/signal"
+ "runtime"
"syscall"
"testing"
+ "time"
"unsafe"
)
@@ -241,3 +244,46 @@
}
})
}
+
+// TestExec is for issue #41702.
+func TestExec(t *testing.T) {
+ testenv.MustHaveExec(t)
+ cmd := exec.Command(os.Args[0], "-test.run=TestExecHelper")
+ cmd.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=2")
+ o, err := cmd.CombinedOutput()
+ if err != nil {
+ t.Errorf("%s\n%v", o, err)
+ }
+}
+
+// TestExecHelper is used by TestExec. It does nothing by itself.
+// In testing on macOS 10.14, this used to fail with
+// "signal: illegal instruction" more than half the time.
+func TestExecHelper(t *testing.T) {
+ if os.Getenv("GO_WANT_HELPER_PROCESS") != "2" {
+ return
+ }
+
+ // We don't have to worry about restoring these values.
+ // We are in a child process that only runs this test,
+ // and we are going to call syscall.Exec anyhow.
+ runtime.GOMAXPROCS(50)
+ os.Setenv("GO_WANT_HELPER_PROCESS", "3")
+
+ stop := time.Now().Add(time.Second)
+ for i := 0; i < 100; i++ {
+ go func(i int) {
+ r := rand.New(rand.NewSource(int64(i)))
+ for time.Now().Before(stop) {
+ r.Uint64()
+ }
+ }(i)
+ }
+
+ time.Sleep(10 * time.Millisecond)
+
+ argv := []string{os.Args[0], "-test.run=TestExecHelper"}
+ syscall.Exec(os.Args[0], argv, os.Environ())
+
+ t.Error("syscall.Exec returned")
+}
diff --git a/src/time/zoneinfo_read.go b/src/time/zoneinfo_read.go
index 6f789be..22a60f3 100644
--- a/src/time/zoneinfo_read.go
+++ b/src/time/zoneinfo_read.go
@@ -323,10 +323,27 @@
if tx[i].when <= sec && (i+1 == len(tx) || sec < tx[i+1].when) {
l.cacheStart = tx[i].when
l.cacheEnd = omega
+ zoneIdx := tx[i].index
if i+1 < len(tx) {
l.cacheEnd = tx[i+1].when
+ } else if l.extend != "" {
+ // If we're at the end of the known zone transitions,
+ // try the extend string.
+ if name, _, estart, eend, ok := tzset(l.extend, l.cacheEnd, sec); ok {
+ l.cacheStart = estart
+ l.cacheEnd = eend
+ // Find the zone that is returned by tzset,
+ // the last transition is not always the correct zone.
+ for i, z := range l.zone {
+ if z.name == name {
+ zoneIdx = uint8(i)
+ break
+ }
+ }
+ }
}
- l.cacheZone = &l.zone[tx[i].index]
+ l.cacheZone = &l.zone[zoneIdx]
+ break
}
}
diff --git a/src/time/zoneinfo_test.go b/src/time/zoneinfo_test.go
index 72829bc..277b68f 100644
--- a/src/time/zoneinfo_test.go
+++ b/src/time/zoneinfo_test.go
@@ -183,6 +183,25 @@
}
}
+func TestLoadLocationFromTZDataSlim(t *testing.T) {
+ // A 2020b slim tzdata for Europe/Berlin
+ tzData := "TZif2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00TZif2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00<\x00\x00\x00\x04\x00\x00\x00\x12\xff\xff\xff\xffo\xa2a\xf8\xff\xff\xff\xff\x9b\f\x17`\xff\xff\xff\xff\x9b\xd5\xda\xf0\xff\xff\xff\xff\x9cٮ\x90\xff\xff\xff\xff\x9d\xa4\xb5\x90\xff\xff\xff\xff\x9e\xb9\x90\x90\xff\xff\xff\xff\x9f\x84\x97\x90\xff\xff\xff\xff\xc8\tq\x90\xff\xff\xff\xff\xcc\xe7K\x10\xff\xff\xff\xffͩ\x17\x90\xff\xff\xff\xff\u03a2C\x10\xff\xff\xff\xffϒ4\x10\xff\xff\xff\xffЂ%\x10\xff\xff\xff\xff\xd1r\x16\x10\xff\xff\xff\xffѶ\x96\x00\xff\xff\xff\xff\xd2X\xbe\x80\xff\xff\xff\xffҡO\x10\xff\xff\xff\xff\xd3c\x1b\x90\xff\xff\xff\xff\xd4K#\x90\xff\xff\xff\xff\xd59\xd1 \xff\xff\xff\xff\xd5g\xe7\x90\xff\xff\xff\xffըs\x00\xff\xff\xff\xff\xd6)\xb4\x10\xff\xff\xff\xff\xd7,\x1a\x10\xff\xff\xff\xff\xd8\t\x96\x10\xff\xff\xff\xff\xd9\x02\xc1\x90\xff\xff\xff\xff\xd9\xe9x\x10\x00\x00\x00\x00\x13MD\x10\x00\x00\x00\x00\x143\xfa\x90\x00\x00\x00\x00\x15#\xeb\x90\x00\x00\x00\x00\x16\x13ܐ\x00\x00\x00\x00\x17\x03͐\x00\x00\x00\x00\x17\xf3\xbe\x90\x00\x00\x00\x00\x18㯐\x00\x00\x00\x00\x19Ӡ\x90\x00\x00\x00\x00\x1aÑ\x90\x00\x00\x00\x00\x1b\xbc\xbd\x10\x00\x00\x00\x00\x1c\xac\xae\x10\x00\x00\x00\x00\x1d\x9c\x9f\x10\x00\x00\x00\x00\x1e\x8c\x90\x10\x00\x00\x00\x00\x1f|\x81\x10\x00\x00\x00\x00 lr\x10\x00\x00\x00\x00!\\c\x10\x00\x00\x00\x00\"LT\x10\x00\x00\x00\x00#<E\x10\x00\x00\x00\x00$,6\x10\x00\x00\x00\x00%\x1c'\x10\x00\x00\x00\x00&\f\x18\x10\x00\x00\x00\x00'\x05C\x90\x00\x00\x00\x00'\xf54\x90\x00\x00\x00\x00(\xe5%\x90\x00\x00\x00\x00)\xd5\x16\x90\x00\x00\x00\x00*\xc5\a\x90\x00\x00\x00\x00+\xb4\xf8\x90\x00\x00\x00\x00,\xa4\xe9\x90\x00\x00\x00\x00-\x94ڐ\x00\x00\x00\x00.\x84ː\x00\x00\x00\x00/t\xbc\x90\x00\x00\x00\x000d\xad\x90\x00\x00\x00\x001]\xd9\x10\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x03\x01\x02\x01\x02\x01\x03\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x00\x00\f\x88\x00\x00\x00\x00\x1c \x01\x04\x00\x00\x0e\x10\x00\t\x00\x00*0\x01\rLMT\x00CEST\x00CET\x00CEMT\x00\nCET-1CEST,M3.5.0,M10.5.0/3\n"
+
+ reference, err := time.LoadLocationFromTZData("Europe/Berlin", []byte(tzData))
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ d := time.Date(2020, time.October, 29, 15, 30, 0, 0, reference)
+ tzName, tzOffset := d.Zone()
+ if want := "CET"; tzName != want {
+ t.Errorf("Zone name == %s, want %s", tzName, want)
+ }
+ if want := 3600; tzOffset != want {
+ t.Errorf("Zone offset == %d, want %d", tzOffset, want)
+ }
+}
+
func TestTzset(t *testing.T) {
for _, test := range []struct {
inStr string
diff --git a/src/vendor/modules.txt b/src/vendor/modules.txt
index e687d77..03ca3c3 100644
--- a/src/vendor/modules.txt
+++ b/src/vendor/modules.txt
@@ -8,7 +8,7 @@
golang.org/x/crypto/hkdf
golang.org/x/crypto/internal/subtle
golang.org/x/crypto/poly1305
-# golang.org/x/net v0.0.0-20200707034311-ab3426394381
+# golang.org/x/net v0.0.0-20201008223702-a5fa9d4b7c91
## explicit
golang.org/x/net/dns/dnsmessage
golang.org/x/net/http/httpguts
diff --git a/test/fixedbugs/issue42032.go b/test/fixedbugs/issue42032.go
new file mode 100644
index 0000000..c456b1d
--- /dev/null
+++ b/test/fixedbugs/issue42032.go
@@ -0,0 +1,27 @@
+// run
+
+// Copyright 2020 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.
+
+package main
+
+//go:notinheap
+type NIH struct {
+}
+
+type T struct {
+ x *NIH
+ p *int
+}
+
+var y NIH
+var z int
+
+func main() {
+ a := []T{{&y, &z}}
+ a = append(a, T{&y, &z})
+ if a[1].x == nil {
+ panic("pointer not written")
+ }
+}
diff --git a/test/fixedbugs/issue42076.go b/test/fixedbugs/issue42076.go
new file mode 100644
index 0000000..3e95481
--- /dev/null
+++ b/test/fixedbugs/issue42076.go
@@ -0,0 +1,21 @@
+// run
+
+// Copyright 2020 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.
+
+package main
+
+import "reflect"
+
+//go:notinheap
+type NIH struct {
+}
+
+var x, y NIH
+
+func main() {
+ if reflect.DeepEqual(&x, &y) != true {
+ panic("should report true")
+ }
+}
diff --git a/test/fixedbugs/issue42753.go b/test/fixedbugs/issue42753.go
new file mode 100644
index 0000000..a998d1d
--- /dev/null
+++ b/test/fixedbugs/issue42753.go
@@ -0,0 +1,13 @@
+// compile -d=ssa/check/on
+
+// Copyright 2020 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.
+
+package main
+
+func f() uint32 {
+ s := "\x01"
+ x := -int32(s[0])
+ return uint32(x) & 0x7fffffff
+}