From 227a55d891b2bb32dc17ff13e0781a14e1d100f3 Mon Sep 17 00:00:00 2001 From: Damian Gryski Date: Thu, 18 Aug 2022 14:00:57 -0700 Subject: loader,crypto: fix link error for crypto/internal/boring/sig.StandardCrypto --- loader/goroot.go | 11 +++++++++-- loader/loader.go | 2 +- src/crypto/internal/boring/sig/sig_other.go | 17 +++++++++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 src/crypto/internal/boring/sig/sig_other.go diff --git a/loader/goroot.go b/loader/goroot.go index 1a16acf0a..ff2697fc0 100644 --- a/loader/goroot.go +++ b/loader/goroot.go @@ -46,7 +46,7 @@ func GetCachedGoroot(config *compileopts.Config) (string, error) { } // Find the overrides needed for the goroot. - overrides := pathsToOverride(needsSyscallPackage(config.BuildTags())) + overrides := pathsToOverride(config.GoMinorVersion, needsSyscallPackage(config.BuildTags())) // Resolve the merge links within the goroot. merge, err := listGorootMergeLinks(goroot, tinygoroot, overrides) @@ -223,7 +223,7 @@ func needsSyscallPackage(buildTags []string) bool { // The boolean indicates whether to merge the subdirs. True means merge, false // means use the TinyGo version. -func pathsToOverride(needsSyscallPackage bool) map[string]bool { +func pathsToOverride(goMinor int, needsSyscallPackage bool) map[string]bool { paths := map[string]bool{ "": true, "crypto/": true, @@ -243,6 +243,13 @@ func pathsToOverride(needsSyscallPackage bool) map[string]bool { "sync/": true, "testing/": true, } + + if goMinor >= 19 { + paths["crypto/internal/"] = true + paths["crypto/internal/boring/"] = true + paths["crypto/internal/boring/sig/"] = false + } + if needsSyscallPackage { paths["syscall/"] = true // include syscall/js } diff --git a/loader/loader.go b/loader/loader.go index 6ced36dcd..cc577da9d 100644 --- a/loader/loader.go +++ b/loader/loader.go @@ -264,7 +264,7 @@ func (p *Program) getOriginalPath(path string) string { originalPath = realgorootPath } maybeInTinyGoRoot := false - for prefix := range pathsToOverride(needsSyscallPackage(p.config.BuildTags())) { + for prefix := range pathsToOverride(p.config.GoMinorVersion, needsSyscallPackage(p.config.BuildTags())) { if runtime.GOOS == "windows" { prefix = strings.ReplaceAll(prefix, "/", "\\") } diff --git a/src/crypto/internal/boring/sig/sig_other.go b/src/crypto/internal/boring/sig/sig_other.go new file mode 100644 index 000000000..ee6ff8ee3 --- /dev/null +++ b/src/crypto/internal/boring/sig/sig_other.go @@ -0,0 +1,17 @@ +// Package sig stubs crypto/internal/boring/sig +package sig + +// BoringCrypto indicates that the BoringCrypto module is present. +func BoringCrypto() { + +} + +// FIPSOnly indicates that package crypto/tls/fipsonly is present. +func FIPSOnly() { + +} + +// StandardCrypto indicates that standard Go crypto is present. +func StandardCrypto() { + +} -- cgit v1.2.3