diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index d9eb9c3..506f979 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -1180,18 +1180,20 @@ func (t *tester) cgoTest(dt *distTest) error { fmt.Println("No support for static linking found (lacks libc.a?), skip cgo static linking test.") } else { if goos != "android" { - t.addCmd(dt, "misc/cgo/testtls", t.goTest(), "-ldflags", `-linkmode=external -extldflags "-static -pthread"`) + t.addCmd(dt, "misc/cgo/testtls", t.goTest(), "-ldflags", `-linkmode=external -extldflags "-static -pthread"`, "-tags=no_openssl") } t.addCmd(dt, "misc/cgo/nocgo", t.goTest()) t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-ldflags", `-linkmode=external`) if goos != "android" { - t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-ldflags", `-linkmode=external -extldflags "-static -pthread"`) + t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-ldflags", `-linkmode=external -extldflags "-static -pthread"`, "-tags=no_openssl") + /* t.addCmd(dt, "misc/cgo/test", t.goTest(), "-tags=static", "-ldflags", `-linkmode=external -extldflags "-static -pthread"`) // -static in CGO_LDFLAGS triggers a different code path // than -static in -extldflags, so test both. // See issue #16651. cmd := t.addCmd(dt, "misc/cgo/test", t.goTest(), "-tags=static") setEnv(cmd, "CGO_LDFLAGS", "-static -pthread") + */ } } @@ -1201,7 +1203,7 @@ func (t *tester) cgoTest(dt *distTest) error { t.addCmd(dt, "misc/cgo/test", t.goTest(), "-buildmode=pie", "-ldflags=-linkmode=internal", "-tags=internal,internal_pie") } t.addCmd(dt, "misc/cgo/testtls", t.goTest(), "-buildmode=pie") - t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-buildmode=pie") + t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-buildmode=pie", "-tags=no_openssl") } } } diff --git a/src/crypto/internal/boring/aes.go b/src/crypto/internal/boring/aes.go index a495bd7..2c6107b 100644 --- a/src/crypto/internal/boring/aes.go +++ b/src/crypto/internal/boring/aes.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl -// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl +//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static +// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static package boring diff --git a/src/crypto/internal/boring/aes_test.go b/src/crypto/internal/boring/aes_test.go index 3b4c364..371bc20 100644 --- a/src/crypto/internal/boring/aes_test.go +++ b/src/crypto/internal/boring/aes_test.go @@ -1,9 +1,5 @@ -// +build linux -// +build !android -// +build !no_openssl -// +build !cmd_go_bootstrap -// +build !msan -// +build cgo +//go:build linux && !android && !no_openssl && !cmd_go_bootstrap && !msan && cgo && !static +// +build linux,!android,!no_openssl,!cmd_go_bootstrap,!msan,cgo,!static package boring diff --git a/src/crypto/internal/boring/boring.go b/src/crypto/internal/boring/boring.go index ec6e80c..05431b1 100644 --- a/src/crypto/internal/boring/boring.go +++ b/src/crypto/internal/boring/boring.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl -// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl +//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static +// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static package boring diff --git a/src/crypto/internal/boring/ecdsa.go b/src/crypto/internal/boring/ecdsa.go index f72da41..33ee442 100644 --- a/src/crypto/internal/boring/ecdsa.go +++ b/src/crypto/internal/boring/ecdsa.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl -// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl +//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static +// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static package boring diff --git a/src/crypto/internal/boring/goboringcrypto.h b/src/crypto/internal/boring/goboringcrypto.h index 4547ade..b8aaae4 100644 --- a/src/crypto/internal/boring/goboringcrypto.h +++ b/src/crypto/internal/boring/goboringcrypto.h @@ -1,6 +1,12 @@ // Copyright 2017 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 linux +// +build !android +// +build !no_openssl +// +build !cmd_go_bootstrap +// +build !msan +// +build !static // This header file describes the BoringCrypto ABI as built for use in Go. // The BoringCrypto build for Go (which generates goboringcrypto_*.syso) diff --git a/src/crypto/internal/boring/goopenssl.h b/src/crypto/internal/boring/goopenssl.h index 4820385..ac41482 100644 --- a/src/crypto/internal/boring/goopenssl.h +++ b/src/crypto/internal/boring/goopenssl.h @@ -6,6 +6,7 @@ // +build !no_openssl // +build !cmd_go_bootstrap // +build !msan +// +build !static // This header file describes the OpenSSL ABI as built for use in Go. diff --git a/src/crypto/internal/boring/hmac.go b/src/crypto/internal/boring/hmac.go index 4e913c3..10cfbb3 100644 --- a/src/crypto/internal/boring/hmac.go +++ b/src/crypto/internal/boring/hmac.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl -// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl +//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static +// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static package boring diff --git a/src/crypto/internal/boring/notboring.go b/src/crypto/internal/boring/notboring.go index e513834..08c5245 100644 --- a/src/crypto/internal/boring/notboring.go +++ b/src/crypto/internal/boring/notboring.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build !linux || !cgo || android || cmd_go_bootstrap || msan || no_openssl -// +build !linux !cgo android cmd_go_bootstrap msan no_openssl +//go:build !linux || !cgo || android || cmd_go_bootstrap || msan || no_openssl || static +// +build !linux !cgo android cmd_go_bootstrap msan no_openssl static package boring diff --git a/src/crypto/internal/boring/openssl_ecdsa_signature.c b/src/crypto/internal/boring/openssl_ecdsa_signature.c index 710d074..853be3d 100644 --- a/src/crypto/internal/boring/openssl_ecdsa_signature.c +++ b/src/crypto/internal/boring/openssl_ecdsa_signature.c @@ -3,6 +3,7 @@ // +build !no_openssl // +build !cmd_go_bootstrap // +build !msan +// +build !static #include "goboringcrypto.h" diff --git a/src/crypto/internal/boring/openssl_evp.c b/src/crypto/internal/boring/openssl_evp.c index 36be702..331dfd3 100644 --- a/src/crypto/internal/boring/openssl_evp.c +++ b/src/crypto/internal/boring/openssl_evp.c @@ -3,6 +3,7 @@ // +build !no_openssl // +build !cmd_go_bootstrap // +build !msan +// +build !static #include "goboringcrypto.h" diff --git a/src/crypto/internal/boring/openssl_lock_setup.c b/src/crypto/internal/boring/openssl_lock_setup.c index 955924e..c0f3435 100644 --- a/src/crypto/internal/boring/openssl_lock_setup.c +++ b/src/crypto/internal/boring/openssl_lock_setup.c @@ -3,6 +3,7 @@ // +build !no_openssl // +build !cmd_go_bootstrap // +build !msan +// +build !static #include "goboringcrypto.h" #include diff --git a/src/crypto/internal/boring/openssl_port_aead_gcm.c b/src/crypto/internal/boring/openssl_port_aead_gcm.c index b39bf54..80c933a 100644 --- a/src/crypto/internal/boring/openssl_port_aead_gcm.c +++ b/src/crypto/internal/boring/openssl_port_aead_gcm.c @@ -4,6 +4,7 @@ // +build !no_openssl // +build !cmd_go_bootstrap // +build !msan +// +build !static #include "goboringcrypto.h" #include diff --git a/src/crypto/internal/boring/openssl_port_ctr128.c b/src/crypto/internal/boring/openssl_port_ctr128.c index abaff5c..e2263a5 100644 --- a/src/crypto/internal/boring/openssl_port_ctr128.c +++ b/src/crypto/internal/boring/openssl_port_ctr128.c @@ -3,6 +3,7 @@ // +build !no_openssl // +build !cmd_go_bootstrap // +build !msan +// +build !static #include "goboringcrypto.h" diff --git a/src/crypto/internal/boring/openssl_port_evp_md5_sha1.c b/src/crypto/internal/boring/openssl_port_evp_md5_sha1.c index 8418c38..39bf3ae 100644 --- a/src/crypto/internal/boring/openssl_port_evp_md5_sha1.c +++ b/src/crypto/internal/boring/openssl_port_evp_md5_sha1.c @@ -4,6 +4,7 @@ // +build !no_openssl // +build !cmd_go_bootstrap // +build !msan +// +build !static // The following is a partial backport of crypto/evp/m_md5_sha1.c, // commit cbc8a839959418d8a2c2e3ec6bdf394852c9501e on the diff --git a/src/crypto/internal/boring/openssl_port_hmac.c b/src/crypto/internal/boring/openssl_port_hmac.c index be7c71a..35e1860 100644 --- a/src/crypto/internal/boring/openssl_port_hmac.c +++ b/src/crypto/internal/boring/openssl_port_hmac.c @@ -4,6 +4,8 @@ // +build !no_openssl // +build !cmd_go_bootstrap // +build !msan +// +build !static + #include "goboringcrypto.h" diff --git a/src/crypto/internal/boring/openssl_port_rsa.c b/src/crypto/internal/boring/openssl_port_rsa.c index 5174f66..a8008e9 100644 --- a/src/crypto/internal/boring/openssl_port_rsa.c +++ b/src/crypto/internal/boring/openssl_port_rsa.c @@ -4,6 +4,7 @@ // +build !no_openssl // +build !cmd_go_bootstrap // +build !msan +// +build !static #include "goboringcrypto.h" diff --git a/src/crypto/internal/boring/openssl_stub_rand.c b/src/crypto/internal/boring/openssl_stub_rand.c index 18d6777..e8ac53b 100644 --- a/src/crypto/internal/boring/openssl_stub_rand.c +++ b/src/crypto/internal/boring/openssl_stub_rand.c @@ -3,6 +3,7 @@ // +build !no_openssl // +build !cmd_go_bootstrap // +build !msan +// +build !static #include "goboringcrypto.h" #include diff --git a/src/crypto/internal/boring/rand.go b/src/crypto/internal/boring/rand.go index e9c334f..3adbd4d 100644 --- a/src/crypto/internal/boring/rand.go +++ b/src/crypto/internal/boring/rand.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl -// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl +//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static +// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static package boring diff --git a/src/crypto/internal/boring/rsa.go b/src/crypto/internal/boring/rsa.go index b1a2f57..0cabadb 100644 --- a/src/crypto/internal/boring/rsa.go +++ b/src/crypto/internal/boring/rsa.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl -// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl +//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static +// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static package boring diff --git a/src/crypto/internal/boring/sha.go b/src/crypto/internal/boring/sha.go index bdcc782..6184d6c 100644 --- a/src/crypto/internal/boring/sha.go +++ b/src/crypto/internal/boring/sha.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl -// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl +//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static +// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static package boring