SHA256
1
0
forked from pool/syncthing
syncthing/syncthing-go-1.4-compat.patch

585 lines
16 KiB
Diff

--- 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