aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2017-08-22 22:52:15 -0400
committerRuss Cox <rsc@golang.org>2017-08-26 00:52:40 +0000
commitd5efcb1ead22bffc7c73ad18b2aa8b96099e328b (patch)
treec62ff4b4fdb6c45c699190a8a0545291df78381e
parent4aff713ddb28ff242588616ccc60c2aa9f654a5c (diff)
downloadgo-d5efcb1ead22bffc7c73ad18b2aa8b96099e328b.tar.gz
go-d5efcb1ead22bffc7c73ad18b2aa8b96099e328b.zip
[dev.boringcrypto.go1.8] cmd/link: allow internal linking for crypto/internal/boring
Change-Id: I5b122ad23f75296dab8cec89a4e50dcca7fa9b3f Reviewed-on: https://go-review.googlesource.com/57944 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-on: https://go-review.googlesource.com/58071 Reviewed-by: Adam Langley <agl@golang.org>
-rw-r--r--src/cmd/go/go_boring_test.go20
-rw-r--r--src/cmd/link/internal/ld/lib.go1
2 files changed, 21 insertions, 0 deletions
diff --git a/src/cmd/go/go_boring_test.go b/src/cmd/go/go_boring_test.go
new file mode 100644
index 0000000000..0000497f06
--- /dev/null
+++ b/src/cmd/go/go_boring_test.go
@@ -0,0 +1,20 @@
+// Copyright 2015 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_test
+
+import "testing"
+
+func TestBoringInternalLink(t *testing.T) {
+ tg := testgo(t)
+ defer tg.cleanup()
+ tg.parallel()
+ tg.tempFile("main.go", `package main
+ import "crypto/sha1"
+ func main() {
+ sha1.New()
+ }`)
+ tg.run("build", "-ldflags=-w -extld=false", tg.path("main.go"))
+ tg.run("build", "-ldflags=-extld=false", tg.path("main.go"))
+}
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
index b624aa01af..0d7ea650ce 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
@@ -808,6 +808,7 @@ var hostobj []Hostobj
// These packages can use internal linking mode.
// Others trigger external mode.
var internalpkg = []string{
+ "crypto/internal/boring",
"crypto/x509",
"net",
"os/user",