aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Unterwurzacher2016-05-12 09:50:36 +0200
committerJakob Unterwurzacher2016-05-12 09:50:36 +0200
commit4ad9d4e444e4f75fd388078b617c411bfab762c8 (patch)
tree0fdba9eacc805ee34cca3b6e34aeb5b0cc305401
parent49b597f07c07bde6a2feb1f32f02fcaf34daf365 (diff)
prefer_openssl: add amd64 constraint
Optimized assembly versions for Go GCM are only available on amd64.
-rw-r--r--Documentation/MANPAGE.md2
-rw-r--r--internal/prefer_openssl/prefer_go1.5.go7
-rw-r--r--internal/prefer_openssl/prefer_go1.6.go7
3 files changed, 9 insertions, 7 deletions
diff --git a/Documentation/MANPAGE.md b/Documentation/MANPAGE.md
index cb725d5..411a1d5 100644
--- a/Documentation/MANPAGE.md
+++ b/Documentation/MANPAGE.md
@@ -97,7 +97,7 @@ used internally for daemonization.
**-openssl bool**
: Use OpenSSL instead of built-in Go crypto (default "auto"). Using
-built-in crypto is 4x slower unless you CPU has AES instructions and
+built-in crypto is 4x slower unless your CPU has AES instructions and
you are using Go 1.6+. In mode "auto", gocrypts chooses the faster
option.
diff --git a/internal/prefer_openssl/prefer_go1.5.go b/internal/prefer_openssl/prefer_go1.5.go
index 4b681e7..51a07ab 100644
--- a/internal/prefer_openssl/prefer_go1.5.go
+++ b/internal/prefer_openssl/prefer_go1.5.go
@@ -1,9 +1,10 @@
-// +build !go1.6
-// = go 1.5 or lower
+// +build !go1.6 !amd64
+// not go1.6+ OR not amd64
package prefer_openssl
func PreferOpenSSL() bool {
- // OpenSSL is always faster than Go GCM on old Go versions.
+ // OpenSSL is always faster than Go GCM on old Go versions or on anything
+ // other than amd64
return true
}
diff --git a/internal/prefer_openssl/prefer_go1.6.go b/internal/prefer_openssl/prefer_go1.6.go
index 5d0f426..898db0c 100644
--- a/internal/prefer_openssl/prefer_go1.6.go
+++ b/internal/prefer_openssl/prefer_go1.6.go
@@ -1,10 +1,11 @@
-// +build go1.6
-// = go 1.6 or higher
+// +build go1.6,amd64
+// go1.6+ AND amd64
package prefer_openssl
// PreferOpenSSL tells us if OpenSSL is faster than Go GCM on this machine.
-// Go GCM is fastern when the CPU has AES instructions and Go is v1.6 or higher.
+// Go GCM is faster when the CPU has AES instructions and Go is v1.6 or higher
+// on amd64.
//
// See https://github.com/rfjakob/gocryptfs/issues/23#issuecomment-218286502
// for benchmarks.