|
74 | 74 | - env: {WIDEMUL: int64, RECOVERY: yes}
|
75 | 75 | - env: {WIDEMUL: int64, ECDH: yes, SCHNORRSIG: yes, EXPERIMENTAL: yes, ECDSA_S2C: yes, RANGEPROOF: yes, WHITELIST: yes, GENERATOR: yes, MUSIG: yes, ECDSAADAPTOR: yes, BPPP: yes}
|
76 | 76 | - env: {WIDEMUL: int128}
|
| 77 | + - env: {WIDEMUL: int128_struct} |
77 | 78 | - env: {WIDEMUL: int128, RECOVERY: yes, SCHNORRSIG: yes}
|
78 | 79 | - env: {WIDEMUL: int128, ECDH: yes, SCHNORRSIG: yes, EXPERIMENTAL: yes, ECDSA_S2C: yes, RANGEPROOF: yes, WHITELIST: yes, GENERATOR: yes, MUSIG: yes, ECDSAADAPTOR: yes, BPPP: yes}
|
79 | 80 | - env: {WIDEMUL: int128, ASM: x86_64}
|
@@ -268,20 +269,26 @@ task:
|
268 | 269 | ECDSAADAPTOR: yes
|
269 | 270 | BPPP: yes
|
270 | 271 | CTIMETEST: no
|
| 272 | + # Use a MinGW-w64 host to tell ./configure we're building for Windows. |
| 273 | + # This will detect some MinGW-w64 tools but then make will need only |
| 274 | + # the MSVC tools CC, AR and NM as specified below. |
| 275 | + HOST: x86_64-w64-mingw32 |
| 276 | + CC: /opt/msvc/bin/x64/cl |
| 277 | + AR: /opt/msvc/bin/x64/lib |
| 278 | + NM: /opt/msvc/bin/x64/dumpbin -symbols -headers |
271 | 279 | # Set non-essential options that affect the CLI messages here.
|
272 | 280 | # (They depend on the user's taste, so we don't want to set them automatically in configure.ac.)
|
273 | 281 | CFLAGS: -nologo -diagnostics:caret
|
274 | 282 | LDFLAGS: -XCClinker -nologo -XCClinker -diagnostics:caret
|
275 |
| - # Use a MinGW-w64 host to tell ./configure we're building for Windows. |
276 |
| - # This will detect some MinGW-w64 tools but then make will need only |
277 |
| - # the MSVC tools CC, AR and NM as specified below. |
278 | 283 | matrix:
|
279 | 284 | - name: "x86_64 (MSVC): Windows (Debian stable, Wine)"
|
| 285 | + - name: "x86_64 (MSVC): Windows (Debian stable, Wine, int128_struct)" |
280 | 286 | env:
|
281 |
| - HOST: x86_64-w64-mingw32 |
282 |
| - CC: /opt/msvc/bin/x64/cl |
283 |
| - AR: /opt/msvc/bin/x64/lib |
284 |
| - NM: /opt/msvc/bin/x64/dumpbin -symbols -headers |
| 287 | + WIDEMUL: int128_struct |
| 288 | + - name: "x86_64 (MSVC): Windows (Debian stable, Wine, int128_struct with __(u)mulh)" |
| 289 | + env: |
| 290 | + WIDEMUL: int128_struct |
| 291 | + CPPFLAGS: -DSECP256K1_MSVC_MULH_TEST_OVERRIDE |
285 | 292 | - name: "i686 (MSVC): Windows (Debian stable, Wine)"
|
286 | 293 | env:
|
287 | 294 | HOST: i686-w64-mingw32
|
@@ -346,6 +353,40 @@ task:
|
346 | 353 | - ./ci/cirrus.sh
|
347 | 354 | << : *CAT_LOGS
|
348 | 355 |
|
| 356 | +# Memory sanitizers |
| 357 | +task: |
| 358 | + << : *LINUX_CONTAINER |
| 359 | + name: "MSan" |
| 360 | + env: |
| 361 | + ECDH: yes |
| 362 | + RECOVERY: yes |
| 363 | + SCHNORRSIG: yes |
| 364 | + EXPERIMENTAL: yes |
| 365 | + ECDSA_S2C: yes |
| 366 | + GENERATOR: yes |
| 367 | + RANGEPROOF: yes |
| 368 | + WHITELIST: yes |
| 369 | + MUSIG: yes |
| 370 | + ECDSAADAPTOR: yes |
| 371 | + BPPP: yes |
| 372 | + CTIMETEST: no |
| 373 | + CC: clang |
| 374 | + SECP256K1_TEST_ITERS: 32 |
| 375 | + ASM: no |
| 376 | + container: |
| 377 | + memory: 2G |
| 378 | + matrix: |
| 379 | + - env: |
| 380 | + CFLAGS: "-fsanitize=memory -g" |
| 381 | + - env: |
| 382 | + ECMULTGENPRECISION: 2 |
| 383 | + ECMULTWINDOW: 2 |
| 384 | + CFLAGS: "-fsanitize=memory -g -O3" |
| 385 | + << : *MERGE_BASE |
| 386 | + test_script: |
| 387 | + - ./ci/cirrus.sh |
| 388 | + << : *CAT_LOGS |
| 389 | + |
349 | 390 | task:
|
350 | 391 | name: "C++ -fpermissive (entire project)"
|
351 | 392 | << : *LINUX_CONTAINER
|
|
0 commit comments