You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#As of d4ca81f48e tasks with valgrind enabled take about 60 minutes
157
-
timeout_in: 90m
116
+
# tasks with valgrind enabled take about 90 minutes
117
+
timeout_in: 120m
158
118
env:
159
119
HOMEBREW_NO_AUTO_UPDATE: 1
160
120
HOMEBREW_NO_INSTALL_CLEANUP: 1
@@ -204,7 +164,7 @@ task:
204
164
# If we haven't restored from cached (and just run brew install), this is a no-op.
205
165
- brew link valgrind
206
166
brew_script:
207
-
- brew install automake libtool gmp gcc@9
167
+
- brew install automake libtool gcc@9
208
168
<< : *MERGE_BASE
209
169
test_script:
210
170
- ./ci/cirrus.sh
@@ -217,11 +177,10 @@ task:
217
177
cpu: 1
218
178
memory: 1G
219
179
env:
220
-
QEMU_CMD: qemu-s390x
180
+
WRAPPER_CMD: qemu-s390x
181
+
TEST_ITERS: 16
221
182
HOST: s390x-linux-gnu
222
-
BUILD:
223
183
WITH_VALGRIND: no
224
-
BIGNUM: no
225
184
ECDH: yes
226
185
RECOVERY: yes
227
186
EXPERIMENTAL: yes
@@ -239,3 +198,145 @@ task:
239
198
- rm /etc/ld.so.cache
240
199
- ./ci/cirrus.sh
241
200
<< : *CAT_LOGS
201
+
202
+
task:
203
+
name: "ARM32: Linux (Debian stable, QEMU)"
204
+
container:
205
+
dockerfile: ci/linux-debian.Dockerfile
206
+
cpu: 1
207
+
memory: 1G
208
+
env:
209
+
WRAPPER_CMD: qemu-arm
210
+
TEST_ITERS: 16
211
+
HOST: arm-linux-gnueabihf
212
+
WITH_VALGRIND: no
213
+
ECDH: yes
214
+
RECOVERY: yes
215
+
EXPERIMENTAL: yes
216
+
SCHNORRSIG: yes
217
+
CTIMETEST: no
218
+
matrix:
219
+
- env: {}
220
+
- env: {ASM: arm}
221
+
<< : *MERGE_BASE
222
+
test_script:
223
+
- ./ci/cirrus.sh
224
+
<< : *CAT_LOGS
225
+
226
+
task:
227
+
name: "ARM64: Linux (Debian stable, QEMU)"
228
+
container:
229
+
dockerfile: ci/linux-debian.Dockerfile
230
+
cpu: 1
231
+
memory: 1G
232
+
env:
233
+
WRAPPER_CMD: qemu-aarch64
234
+
TEST_ITERS: 16
235
+
HOST: aarch64-linux-gnu
236
+
WITH_VALGRIND: no
237
+
ECDH: yes
238
+
RECOVERY: yes
239
+
EXPERIMENTAL: yes
240
+
SCHNORRSIG: yes
241
+
CTIMETEST: no
242
+
<< : *MERGE_BASE
243
+
test_script:
244
+
- ./ci/cirrus.sh
245
+
<< : *CAT_LOGS
246
+
247
+
task:
248
+
name: "ppc64le: Linux (Debian stable, QEMU)"
249
+
container:
250
+
dockerfile: ci/linux-debian.Dockerfile
251
+
cpu: 1
252
+
memory: 1G
253
+
env:
254
+
WRAPPER_CMD: qemu-ppc64le
255
+
TEST_ITERS: 16
256
+
HOST: powerpc64le-linux-gnu
257
+
WITH_VALGRIND: no
258
+
ECDH: yes
259
+
RECOVERY: yes
260
+
EXPERIMENTAL: yes
261
+
SCHNORRSIG: yes
262
+
CTIMETEST: no
263
+
<< : *MERGE_BASE
264
+
test_script:
265
+
- ./ci/cirrus.sh
266
+
<< : *CAT_LOGS
267
+
268
+
task:
269
+
name: "x86_64 (mingw32-w64): Windows (Debian stable, Wine)"
270
+
container:
271
+
dockerfile: ci/linux-debian.Dockerfile
272
+
cpu: 1
273
+
memory: 1G
274
+
env:
275
+
WRAPPER_CMD: wine64-stable
276
+
TEST_ITERS: 16
277
+
HOST: x86_64-w64-mingw32
278
+
WITH_VALGRIND: no
279
+
ECDH: yes
280
+
RECOVERY: yes
281
+
EXPERIMENTAL: yes
282
+
SCHNORRSIG: yes
283
+
CTIMETEST: no
284
+
<< : *MERGE_BASE
285
+
test_script:
286
+
- ./ci/cirrus.sh
287
+
<< : *CAT_LOGS
288
+
289
+
# Sanitizers
290
+
task:
291
+
timeout_in: 120m
292
+
container:
293
+
dockerfile: ci/linux-debian.Dockerfile
294
+
cpu: 1
295
+
memory: 2G
296
+
env:
297
+
ECDH: yes
298
+
RECOVERY: yes
299
+
EXPERIMENTAL: yes
300
+
SCHNORRSIG: yes
301
+
ECDSA_S2C: yes
302
+
RANGEPROOF: yes
303
+
WHITELIST: yes
304
+
GENERATOR: yes
305
+
MUSIG: yes
306
+
ECDSAADAPTOR: yes
307
+
CTIMETEST: no
308
+
EXTRAFLAGS: "--disable-openssl-tests"
309
+
matrix:
310
+
- name: "Valgrind (memcheck)"
311
+
env:
312
+
# The `--error-exitcode` is required to make the test fail if valgrind found errors, otherwise it'll return 0 (https://www.valgrind.org/docs/manual/manual-core.html)
Copy file name to clipboardExpand all lines: secp256k1-zkp-sys/depend/secp256k1/README.md
+3-2
Original file line number
Diff line number
Diff line change
@@ -35,11 +35,11 @@ Implementation details
35
35
* Optimized implementation of arithmetic modulo the curve's field size (2^256 - 0x1000003D1).
36
36
* Using 5 52-bit limbs (including hand-optimized assembly for x86_64, by Diederik Huys).
37
37
* Using 10 26-bit limbs (including hand-optimized assembly for 32-bit ARM, by Wladimir J. van der Laan).
38
-
* Field inverses and square roots using a sliding window over blocks of 1s (by Peter Dettman).
39
38
* Scalar operations
40
39
* Optimized implementation without data-dependent branches of arithmetic modulo the curve's order.
41
40
* Using 4 64-bit limbs (relying on __int128 support in the compiler).
42
41
* Using 8 32-bit limbs.
42
+
* Modular inverses (both field elements and scalars) based on [safegcd](https://gcd.cr.yp.to/index.html) with some modifications, and a variable-time variant (by Peter Dettman).
43
43
* Group operations
44
44
* Point addition formula specifically simplified for the curve equation (y^2 = x^3 + 7).
45
45
* Use addition between points in Jacobian and affine coordinates where possible.
@@ -97,7 +97,8 @@ To create a report, `gcovr` is recommended, as it includes branch coverage repor
97
97
98
98
To create a HTML report with coloured and annotated source code:
0 commit comments