File syncthing-go-1.4-compat.patch of Package syncthing.6091

--- a/vendor/github.com/minio/sha256-simd/cpuid_386.go
+++ b/vendor/github.com/minio/sha256-simd/cpuid_386.go
@@ -1,3 +1,5 @@
+// +build 386
+
 // Minio Cloud Storage, (C) 2016 Minio, Inc.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
--- a/vendor/github.com/minio/sha256-simd/cpuid_amd64.go
+++ b/vendor/github.com/minio/sha256-simd/cpuid_amd64.go
@@ -1,3 +1,5 @@
+// +build amd64
+
 // Minio Cloud Storage, (C) 2016 Minio, Inc.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
--- a/vendor/github.com/minio/sha256-simd/cpuid_arm64.go
+++ b/vendor/github.com/minio/sha256-simd/cpuid_arm64.go
@@ -1,3 +1,5 @@
+// +build arm64
+
 // Minio Cloud Storage, (C) 2016 Minio, Inc.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
--- a/vendor/github.com/minio/sha256-simd/cpuid_arm.go
+++ b/vendor/github.com/minio/sha256-simd/cpuid_arm.go
@@ -1,3 +1,5 @@
+// +build arm
+
 // Minio Cloud Storage, (C) 2016 Minio, Inc.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
--- a/vendor/github.com/minio/sha256-simd/cpuid_noasm.go
+++ b/vendor/github.com/minio/sha256-simd/cpuid_noasm.go
@@ -0,0 +1,34 @@
+// +build !386,!amd64,!arm,!arm64 noasm
+
+// Minio Cloud Storage, (C) 2016 Minio, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+package sha256
+
+func cpuid(op uint32) (eax, ebx, ecx, edx uint32) {
+	return 0, 0, 0, 0
+}
+
+func cpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) {
+	return 0, 0, 0, 0
+}
+
+func xgetbv(index uint32) (eax, edx uint32) {
+	return 0, 0
+}
+
+func haveArmSha() bool {
+	return false
+}
--- a/vendor/github.com/minio/sha256-simd/cpuid_ppc64.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// Minio Cloud Storage, (C) 2016 Minio, Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-package sha256
-
-func cpuid(op uint32) (eax, ebx, ecx, edx uint32) {
-	return 0, 0, 0, 0
-}
-
-func cpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) {
-	return 0, 0, 0, 0
-}
-
-func xgetbv(index uint32) (eax, edx uint32) {
-	return 0, 0
-}
-
-func haveArmSha() bool {
-	return false
-}
--- a/vendor/github.com/minio/sha256-simd/cpuid_ppc64le.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// Minio Cloud Storage, (C) 2016 Minio, Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-package sha256
-
-func cpuid(op uint32) (eax, ebx, ecx, edx uint32) {
-	return 0, 0, 0, 0
-}
-
-func cpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) {
-	return 0, 0, 0, 0
-}
-
-func xgetbv(index uint32) (eax, edx uint32) {
-	return 0, 0
-}
-
-func haveArmSha() bool {
-	return false
-}
--- a/vendor/github.com/minio/sha256-simd/sha256block_386.go
+++ /dev/null
@@ -1,24 +0,0 @@
-//+build !noasm
-
-/*
- * Minio Cloud Storage, (C) 2016 Minio, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package sha256
-
-func blockArmGo(dig *digest, p []byte)  {}
-func blockAvx2Go(dig *digest, p []byte) {}
-func blockAvxGo(dig *digest, p []byte)  {}
-func blockSsseGo(dig *digest, p []byte) {}
--- a/vendor/github.com/minio/sha256-simd/sha256block_amd64.go
+++ b/vendor/github.com/minio/sha256-simd/sha256block_amd64.go
@@ -1,4 +1,4 @@
-//+build !noasm
+// +build amd64,!noasm,go1.5
 
 /*
  * Minio Cloud Storage, (C) 2016 Minio, Inc.
--- a/vendor/github.com/minio/sha256-simd/sha256block_arm64.go
+++ b/vendor/github.com/minio/sha256-simd/sha256block_arm64.go
@@ -1,4 +1,4 @@
-//+build !noasm
+// +build arm64,!noasm,go1.5
 
 /*
  * Minio Cloud Storage, (C) 2016 Minio, Inc.
--- a/vendor/github.com/minio/sha256-simd/sha256block_arm64.s
+++ b/vendor/github.com/minio/sha256-simd/sha256block_arm64.s
@@ -1,4 +1,4 @@
-//+build !noasm !appengine
+// +build !noasm,go1.5,!appengine
 
 // ARM64 version of SHA256
 
--- a/vendor/github.com/minio/sha256-simd/sha256block_arm.go
+++ /dev/null
@@ -1,24 +0,0 @@
-//+build !noasm
-
-/*
- * Minio Cloud Storage, (C) 2016 Minio, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package sha256
-
-func blockAvx2Go(dig *digest, p []byte) {}
-func blockAvxGo(dig *digest, p []byte)  {}
-func blockSsseGo(dig *digest, p []byte) {}
-func blockArmGo(dig *digest, p []byte)  {}
--- a/vendor/github.com/minio/sha256-simd/sha256blockAvx2_amd64.go
+++ b/vendor/github.com/minio/sha256-simd/sha256blockAvx2_amd64.go
@@ -1,4 +1,4 @@
-//+build !noasm
+// +build amd64,!noasm,go1.5
 
 /*
  * Minio Cloud Storage, (C) 2016 Minio, Inc.
--- a/vendor/github.com/minio/sha256-simd/sha256blockAvx2_amd64.s
+++ b/vendor/github.com/minio/sha256-simd/sha256blockAvx2_amd64.s
@@ -1,4 +1,4 @@
-//+build !noasm !appengine
+// +build !noasm,go1.5,!appengine
 
 // SHA256 implementation for AVX2
 
--- a/vendor/github.com/minio/sha256-simd/sha256blockAvx_amd64.go
+++ b/vendor/github.com/minio/sha256-simd/sha256blockAvx_amd64.go
@@ -1,4 +1,4 @@
-//+build !noasm
+// +build amd64,!noasm,go1.5
 
 /*
  * Minio Cloud Storage, (C) 2016 Minio, Inc.
--- a/vendor/github.com/minio/sha256-simd/sha256blockAvx_amd64.s
+++ b/vendor/github.com/minio/sha256-simd/sha256blockAvx_amd64.s
@@ -1,4 +1,4 @@
-//+build !noasm !appengine
+// +build !noasm,go1.5,!appengine
 
 // SHA256 implementation for AVX
 
--- a/vendor/github.com/minio/sha256-simd/sha256block_generic.go
+++ b/vendor/github.com/minio/sha256-simd/sha256block_generic.go
@@ -0,0 +1,134 @@
+/*
+ * Minio Cloud Storage, (C) 2016 Minio, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package sha256
+
+func blockGeneric(dig *digest, p []byte) {
+	var w [64]uint32
+	h0, h1, h2, h3, h4, h5, h6, h7 := dig.h[0], dig.h[1], dig.h[2], dig.h[3], dig.h[4], dig.h[5], dig.h[6], dig.h[7]
+	for len(p) >= chunk {
+		// Can interlace the computation of w with the
+		// rounds below if needed for speed.
+		for i := 0; i < 16; i++ {
+			j := i * 4
+			w[i] = uint32(p[j])<<24 | uint32(p[j+1])<<16 | uint32(p[j+2])<<8 | uint32(p[j+3])
+		}
+		for i := 16; i < 64; i++ {
+			v1 := w[i-2]
+			t1 := (v1>>17 | v1<<(32-17)) ^ (v1>>19 | v1<<(32-19)) ^ (v1 >> 10)
+			v2 := w[i-15]
+			t2 := (v2>>7 | v2<<(32-7)) ^ (v2>>18 | v2<<(32-18)) ^ (v2 >> 3)
+			w[i] = t1 + w[i-7] + t2 + w[i-16]
+		}
+
+		a, b, c, d, e, f, g, h := h0, h1, h2, h3, h4, h5, h6, h7
+
+		for i := 0; i < 64; i++ {
+			t1 := h + ((e>>6 | e<<(32-6)) ^ (e>>11 | e<<(32-11)) ^ (e>>25 | e<<(32-25))) + ((e & f) ^ (^e & g)) + _K[i] + w[i]
+
+			t2 := ((a>>2 | a<<(32-2)) ^ (a>>13 | a<<(32-13)) ^ (a>>22 | a<<(32-22))) + ((a & b) ^ (a & c) ^ (b & c))
+
+			h = g
+			g = f
+			f = e
+			e = d + t1
+			d = c
+			c = b
+			b = a
+			a = t1 + t2
+		}
+
+		h0 += a
+		h1 += b
+		h2 += c
+		h3 += d
+		h4 += e
+		h5 += f
+		h6 += g
+		h7 += h
+
+		p = p[chunk:]
+	}
+
+	dig.h[0], dig.h[1], dig.h[2], dig.h[3], dig.h[4], dig.h[5], dig.h[6], dig.h[7] = h0, h1, h2, h3, h4, h5, h6, h7
+}
+
+var _K = []uint32{
+	0x428a2f98,
+	0x71374491,
+	0xb5c0fbcf,
+	0xe9b5dba5,
+	0x3956c25b,
+	0x59f111f1,
+	0x923f82a4,
+	0xab1c5ed5,
+	0xd807aa98,
+	0x12835b01,
+	0x243185be,
+	0x550c7dc3,
+	0x72be5d74,
+	0x80deb1fe,
+	0x9bdc06a7,
+	0xc19bf174,
+	0xe49b69c1,
+	0xefbe4786,
+	0x0fc19dc6,
+	0x240ca1cc,
+	0x2de92c6f,
+	0x4a7484aa,
+	0x5cb0a9dc,
+	0x76f988da,
+	0x983e5152,
+	0xa831c66d,
+	0xb00327c8,
+	0xbf597fc7,
+	0xc6e00bf3,
+	0xd5a79147,
+	0x06ca6351,
+	0x14292967,
+	0x27b70a85,
+	0x2e1b2138,
+	0x4d2c6dfc,
+	0x53380d13,
+	0x650a7354,
+	0x766a0abb,
+	0x81c2c92e,
+	0x92722c85,
+	0xa2bfe8a1,
+	0xa81a664b,
+	0xc24b8b70,
+	0xc76c51a3,
+	0xd192e819,
+	0xd6990624,
+	0xf40e3585,
+	0x106aa070,
+	0x19a4c116,
+	0x1e376c08,
+	0x2748774c,
+	0x34b0bcb5,
+	0x391c0cb3,
+	0x4ed8aa4a,
+	0x5b9cca4f,
+	0x682e6ff3,
+	0x748f82ee,
+	0x78a5636f,
+	0x84c87814,
+	0x8cc70208,
+	0x90befffa,
+	0xa4506ceb,
+	0xbef9a3f7,
+	0xc67178f2,
+}
--- a/vendor/github.com/minio/sha256-simd/sha256block_noasm.go
+++ b/vendor/github.com/minio/sha256-simd/sha256block_noasm.go
@@ -1,4 +1,4 @@
-//+build !arm64 !amd64 noasm appengine
+// +build !amd64,!arm64 noasm !go1.5 appengine
 
 /*
  * Minio Cloud Storage, (C) 2016 Minio, Inc.
@@ -18,119 +18,7 @@
 
 package sha256
 
-func blockGeneric(dig *digest, p []byte) {
-	var w [64]uint32
-	h0, h1, h2, h3, h4, h5, h6, h7 := dig.h[0], dig.h[1], dig.h[2], dig.h[3], dig.h[4], dig.h[5], dig.h[6], dig.h[7]
-	for len(p) >= chunk {
-		// Can interlace the computation of w with the
-		// rounds below if needed for speed.
-		for i := 0; i < 16; i++ {
-			j := i * 4
-			w[i] = uint32(p[j])<<24 | uint32(p[j+1])<<16 | uint32(p[j+2])<<8 | uint32(p[j+3])
-		}
-		for i := 16; i < 64; i++ {
-			v1 := w[i-2]
-			t1 := (v1>>17 | v1<<(32-17)) ^ (v1>>19 | v1<<(32-19)) ^ (v1 >> 10)
-			v2 := w[i-15]
-			t2 := (v2>>7 | v2<<(32-7)) ^ (v2>>18 | v2<<(32-18)) ^ (v2 >> 3)
-			w[i] = t1 + w[i-7] + t2 + w[i-16]
-		}
-
-		a, b, c, d, e, f, g, h := h0, h1, h2, h3, h4, h5, h6, h7
-
-		for i := 0; i < 64; i++ {
-			t1 := h + ((e>>6 | e<<(32-6)) ^ (e>>11 | e<<(32-11)) ^ (e>>25 | e<<(32-25))) + ((e & f) ^ (^e & g)) + _K[i] + w[i]
-
-			t2 := ((a>>2 | a<<(32-2)) ^ (a>>13 | a<<(32-13)) ^ (a>>22 | a<<(32-22))) + ((a & b) ^ (a & c) ^ (b & c))
-
-			h = g
-			g = f
-			f = e
-			e = d + t1
-			d = c
-			c = b
-			b = a
-			a = t1 + t2
-		}
-
-		h0 += a
-		h1 += b
-		h2 += c
-		h3 += d
-		h4 += e
-		h5 += f
-		h6 += g
-		h7 += h
-
-		p = p[chunk:]
-	}
-
-	dig.h[0], dig.h[1], dig.h[2], dig.h[3], dig.h[4], dig.h[5], dig.h[6], dig.h[7] = h0, h1, h2, h3, h4, h5, h6, h7
-}
-
-var _K = []uint32{
-	0x428a2f98,
-	0x71374491,
-	0xb5c0fbcf,
-	0xe9b5dba5,
-	0x3956c25b,
-	0x59f111f1,
-	0x923f82a4,
-	0xab1c5ed5,
-	0xd807aa98,
-	0x12835b01,
-	0x243185be,
-	0x550c7dc3,
-	0x72be5d74,
-	0x80deb1fe,
-	0x9bdc06a7,
-	0xc19bf174,
-	0xe49b69c1,
-	0xefbe4786,
-	0x0fc19dc6,
-	0x240ca1cc,
-	0x2de92c6f,
-	0x4a7484aa,
-	0x5cb0a9dc,
-	0x76f988da,
-	0x983e5152,
-	0xa831c66d,
-	0xb00327c8,
-	0xbf597fc7,
-	0xc6e00bf3,
-	0xd5a79147,
-	0x06ca6351,
-	0x14292967,
-	0x27b70a85,
-	0x2e1b2138,
-	0x4d2c6dfc,
-	0x53380d13,
-	0x650a7354,
-	0x766a0abb,
-	0x81c2c92e,
-	0x92722c85,
-	0xa2bfe8a1,
-	0xa81a664b,
-	0xc24b8b70,
-	0xc76c51a3,
-	0xd192e819,
-	0xd6990624,
-	0xf40e3585,
-	0x106aa070,
-	0x19a4c116,
-	0x1e376c08,
-	0x2748774c,
-	0x34b0bcb5,
-	0x391c0cb3,
-	0x4ed8aa4a,
-	0x5b9cca4f,
-	0x682e6ff3,
-	0x748f82ee,
-	0x78a5636f,
-	0x84c87814,
-	0x8cc70208,
-	0x90befffa,
-	0xa4506ceb,
-	0xbef9a3f7,
-	0xc67178f2,
-}
+func blockAvx2Go(dig *digest, p []byte) {}
+func blockAvxGo(dig *digest, p []byte)  {}
+func blockSsseGo(dig *digest, p []byte) {}
+func blockArmGo(dig *digest, p []byte)  {}
--- a/vendor/github.com/minio/sha256-simd/sha256block_ppc64.go
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Minio Cloud Storage, (C) 2016 Minio, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package sha256
-
-func blockAvx2Go(dig *digest, p []byte) {}
-func blockAvxGo(dig *digest, p []byte)  {}
-func blockSsseGo(dig *digest, p []byte) {}
-func blockArmGo(dig *digest, p []byte)  {}
--- a/vendor/github.com/minio/sha256-simd/sha256block_ppc64le.go
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Minio Cloud Storage, (C) 2016 Minio, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package sha256
-
-func blockAvx2Go(dig *digest, p []byte) {}
-func blockAvxGo(dig *digest, p []byte)  {}
-func blockSsseGo(dig *digest, p []byte) {}
-func blockArmGo(dig *digest, p []byte)  {}
--- a/vendor/github.com/minio/sha256-simd/sha256blockSsse_amd64.go
+++ b/vendor/github.com/minio/sha256-simd/sha256blockSsse_amd64.go
@@ -1,4 +1,4 @@
-//+build !noasm
+//+build amd64,!noasm,go1.5
 
 /*
  * Minio Cloud Storage, (C) 2016 Minio, Inc.
--- a/vendor/github.com/minio/sha256-simd/sha256blockSsse_amd64.s
+++ b/vendor/github.com/minio/sha256-simd/sha256blockSsse_amd64.s
@@ -1,4 +1,4 @@
-//+build !noasm !appengine
+//+build !noasm,go1.5,!appengine
 
 // SHA256 implementation for SSSE3
 
openSUSE Build Service is sponsored by