git: 539736e08ccf - stable/14 - Add 'crypto/libecc/' from commit '736d663976d1768533badbf06581481d01fade4c'
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 11 Jan 2025 02:48:37 UTC
The branch stable/14 has been updated by kevans:
URL: https://cgit.FreeBSD.org/src/commit/?id=539736e08ccf6c71f5dbb506cb7849252c4bb6f2
commit 539736e08ccf6c71f5dbb506cb7849252c4bb6f2
Author: Kyle Evans <kevans@FreeBSD.org>
AuthorDate: 2025-01-01 21:11:18 +0000
Commit: Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2025-01-11 02:48:23 +0000
Add 'crypto/libecc/' from commit '736d663976d1768533badbf06581481d01fade4c'
git-subtree-dir: crypto/libecc
git-subtree-mainline: f59bb61e1eb4d1e4fc3c60cc14779d0668267cb2
git-subtree-split: 736d663976d1768533badbf06581481d01fade4c
(cherry picked from commit f0865ec9906d5a18fa2a3b61381f22ce16e606ad)
---
crypto/libecc/.github/workflows/libecc_cifuzz.yml | 26 +
.../.github/workflows/libecc_compilation_tests.yml | 57 +
.../.github/workflows/libecc_crossarch_tests.yml | 55 +
.../libecc/.github/workflows/libecc_examples.yml | 39 +
.../.github/workflows/libecc_meson_build.yml | 37 +
.../.github/workflows/libecc_python_tests.yml | 43 +
.../.github/workflows/libecc_runtime_tests.yml | 39 +
crypto/libecc/.gitignore | 4 +
crypto/libecc/.travis.yml | 287 +
crypto/libecc/LICENSE | 50 +
crypto/libecc/Makefile | 175 +
crypto/libecc/README.md | 1345 +
crypto/libecc/build/.gitignore | 3 +
crypto/libecc/common.mk | 349 +
crypto/libecc/include/libecc/curves/aff_pt.h | 136 +
crypto/libecc/include/libecc/curves/curves.h | 31 +
crypto/libecc/include/libecc/curves/curves_list.h | 248 +
crypto/libecc/include/libecc/curves/ec_edwards.h | 39 +
.../libecc/include/libecc/curves/ec_montgomery.h | 34 +
crypto/libecc/include/libecc/curves/ec_params.h | 91 +
crypto/libecc/include/libecc/curves/ec_shortw.h | 45 +
.../libecc/curves/known/ec_params_bign256v1.h | 315 +
.../libecc/curves/known/ec_params_bign384v1.h | 337 +
.../libecc/curves/known/ec_params_bign512v1.h | 359 +
.../curves/known/ec_params_brainpoolp192r1.h | 334 +
.../curves/known/ec_params_brainpoolp192t1.h | 316 +
.../curves/known/ec_params_brainpoolp224r1.h | 295 +
.../curves/known/ec_params_brainpoolp224t1.h | 333 +
.../curves/known/ec_params_brainpoolp256r1.h | 227 +
.../curves/known/ec_params_brainpoolp256t1.h | 333 +
.../curves/known/ec_params_brainpoolp320r1.h | 350 +
.../curves/known/ec_params_brainpoolp320t1.h | 350 +
.../curves/known/ec_params_brainpoolp384r1.h | 265 +
.../curves/known/ec_params_brainpoolp384t1.h | 367 +
.../curves/known/ec_params_brainpoolp512r1.h | 276 +
.../curves/known/ec_params_brainpoolp512t1.h | 401 +
.../libecc/curves/known/ec_params_external.h | 104 +
.../libecc/curves/known/ec_params_frp256v1.h | 233 +
.../libecc/curves/known/ec_params_gost256.h | 233 +
.../libecc/curves/known/ec_params_gost512.h | 286 +
...c_params_gost_R3410_2001_CryptoPro_A_ParamSet.h | 315 +
...c_params_gost_R3410_2001_CryptoPro_B_ParamSet.h | 324 +
...c_params_gost_R3410_2001_CryptoPro_C_ParamSet.h | 333 +
...arams_gost_R3410_2001_CryptoPro_XchA_ParamSet.h | 315 +
...arams_gost_R3410_2001_CryptoPro_XchB_ParamSet.h | 333 +
.../known/ec_params_gost_R3410_2001_TestParamSet.h | 324 +
.../ec_params_gost_R3410_2012_256_paramSetA.h | 316 +
.../ec_params_gost_R3410_2012_256_paramSetB.h | 315 +
.../ec_params_gost_R3410_2012_256_paramSetC.h | 324 +
.../ec_params_gost_R3410_2012_256_paramSetD.h | 333 +
.../ec_params_gost_R3410_2012_512_paramSetA.h | 359 +
.../ec_params_gost_R3410_2012_512_paramSetB.h | 380 +
.../ec_params_gost_R3410_2012_512_paramSetC.h | 359 +
.../ec_params_gost_R3410_2012_512_paramSetTest.h | 401 +
.../libecc/curves/known/ec_params_secp192k1.h | 307 +
.../libecc/curves/known/ec_params_secp192r1.h | 312 +
.../libecc/curves/known/ec_params_secp224k1.h | 320 +
.../libecc/curves/known/ec_params_secp224r1.h | 279 +
.../libecc/curves/known/ec_params_secp256k1.h | 318 +
.../libecc/curves/known/ec_params_secp256r1.h | 227 +
.../libecc/curves/known/ec_params_secp384r1.h | 250 +
.../libecc/curves/known/ec_params_secp521r1.h | 327 +
.../libecc/curves/known/ec_params_sm2p192test.h | 326 +
.../libecc/curves/known/ec_params_sm2p256test.h | 349 +
.../libecc/curves/known/ec_params_sm2p256v1.h | 350 +
.../libecc/curves/known/ec_params_wei25519.h | 334 +
.../include/libecc/curves/known/ec_params_wei448.h | 391 +
crypto/libecc/include/libecc/curves/prj_pt.h | 88 +
crypto/libecc/include/libecc/ecdh/ecccdh.h | 63 +
crypto/libecc/include/libecc/ecdh/ecdh.h | 21 +
crypto/libecc/include/libecc/ecdh/x25519_448.h | 62 +
crypto/libecc/include/libecc/external_deps/print.h | 34 +
crypto/libecc/include/libecc/external_deps/rand.h | 22 +
crypto/libecc/include/libecc/external_deps/time.h | 23 +
crypto/libecc/include/libecc/fp/fp.h | 98 +
crypto/libecc/include/libecc/fp/fp_add.h | 26 +
crypto/libecc/include/libecc/fp/fp_config.h | 25 +
crypto/libecc/include/libecc/fp/fp_montgomery.h | 30 +
crypto/libecc/include/libecc/fp/fp_mul.h | 26 +
crypto/libecc/include/libecc/fp/fp_mul_redc1.h | 25 +
crypto/libecc/include/libecc/fp/fp_pow.h | 22 +
crypto/libecc/include/libecc/fp/fp_rand.h | 22 +
crypto/libecc/include/libecc/fp/fp_sqrt.h | 25 +
crypto/libecc/include/libecc/hash/bash.h | 162 +
crypto/libecc/include/libecc/hash/bash224.h | 64 +
crypto/libecc/include/libecc/hash/bash256.h | 64 +
crypto/libecc/include/libecc/hash/bash384.h | 64 +
crypto/libecc/include/libecc/hash/bash512.h | 64 +
crypto/libecc/include/libecc/hash/belt-hash.h | 164 +
crypto/libecc/include/libecc/hash/hash_algs.h | 554 +
crypto/libecc/include/libecc/hash/hmac.h | 38 +
crypto/libecc/include/libecc/hash/keccak.h | 112 +
crypto/libecc/include/libecc/hash/ripemd160.h | 73 +
crypto/libecc/include/libecc/hash/sha2.h | 219 +
crypto/libecc/include/libecc/hash/sha224.h | 79 +
crypto/libecc/include/libecc/hash/sha256.h | 79 +
crypto/libecc/include/libecc/hash/sha3-224.h | 69 +
crypto/libecc/include/libecc/hash/sha3-256.h | 69 +
crypto/libecc/include/libecc/hash/sha3-384.h | 69 +
crypto/libecc/include/libecc/hash/sha3-512.h | 69 +
crypto/libecc/include/libecc/hash/sha3.h | 46 +
crypto/libecc/include/libecc/hash/sha384.h | 79 +
crypto/libecc/include/libecc/hash/sha512-224.h | 71 +
crypto/libecc/include/libecc/hash/sha512-256.h | 71 +
crypto/libecc/include/libecc/hash/sha512.h | 71 +
crypto/libecc/include/libecc/hash/sha512_core.h | 46 +
crypto/libecc/include/libecc/hash/shake.h | 41 +
crypto/libecc/include/libecc/hash/shake256.h | 68 +
crypto/libecc/include/libecc/hash/sm3.h | 73 +
crypto/libecc/include/libecc/hash/streebog.h | 1301 +
crypto/libecc/include/libecc/hash/streebog256.h | 65 +
crypto/libecc/include/libecc/hash/streebog512.h | 65 +
crypto/libecc/include/libecc/lib_ecc_config.h | 134 +
crypto/libecc/include/libecc/lib_ecc_types.h | 288 +
crypto/libecc/include/libecc/libarith.h | 41 +
crypto/libecc/include/libecc/libec.h | 30 +
crypto/libecc/include/libecc/libsig.h | 37 +
crypto/libecc/include/libecc/meson.build | 156 +
crypto/libecc/include/libecc/nn/nn.h | 96 +
crypto/libecc/include/libecc/nn/nn_add.h | 32 +
crypto/libecc/include/libecc/nn/nn_config.h | 220 +
crypto/libecc/include/libecc/nn/nn_div.h | 43 +
crypto/libecc/include/libecc/nn/nn_div_public.h | 30 +
crypto/libecc/include/libecc/nn/nn_logical.h | 34 +
crypto/libecc/include/libecc/nn/nn_mod_pow.h | 23 +
crypto/libecc/include/libecc/nn/nn_modinv.h | 26 +
crypto/libecc/include/libecc/nn/nn_mul.h | 29 +
crypto/libecc/include/libecc/nn/nn_mul_public.h | 24 +
crypto/libecc/include/libecc/nn/nn_mul_redc1.h | 26 +
crypto/libecc/include/libecc/nn/nn_rand.h | 24 +
crypto/libecc/include/libecc/sig/bign.h | 40 +
crypto/libecc/include/libecc/sig/bign_common.h | 101 +
crypto/libecc/include/libecc/sig/bip0340.h | 73 +
crypto/libecc/include/libecc/sig/dbign.h | 40 +
crypto/libecc/include/libecc/sig/decdsa.h | 48 +
crypto/libecc/include/libecc/sig/ec_key.h | 224 +
crypto/libecc/include/libecc/sig/ecdsa.h | 48 +
crypto/libecc/include/libecc/sig/ecdsa_common.h | 88 +
crypto/libecc/include/libecc/sig/ecfsdsa.h | 94 +
crypto/libecc/include/libecc/sig/ecgdsa.h | 85 +
crypto/libecc/include/libecc/sig/eckcdsa.h | 84 +
crypto/libecc/include/libecc/sig/ecosdsa.h | 69 +
crypto/libecc/include/libecc/sig/ecrdsa.h | 85 +
crypto/libecc/include/libecc/sig/ecsdsa.h | 81 +
crypto/libecc/include/libecc/sig/ecsdsa_common.h | 51 +
crypto/libecc/include/libecc/sig/eddsa.h | 134 +
crypto/libecc/include/libecc/sig/fuzzing_ecdsa.h | 28 +
crypto/libecc/include/libecc/sig/fuzzing_ecgdsa.h | 28 +
crypto/libecc/include/libecc/sig/fuzzing_ecrdsa.h | 28 +
crypto/libecc/include/libecc/sig/sig_algs.h | 113 +
.../libecc/include/libecc/sig/sig_algs_internal.h | 650 +
crypto/libecc/include/libecc/sig/sm2.h | 83 +
crypto/libecc/include/libecc/utils/dbg_sig.h | 61 +
crypto/libecc/include/libecc/utils/print_buf.h | 18 +
crypto/libecc/include/libecc/utils/print_curves.h | 28 +
crypto/libecc/include/libecc/utils/print_fp.h | 28 +
crypto/libecc/include/libecc/utils/print_keys.h | 26 +
crypto/libecc/include/libecc/utils/print_nn.h | 24 +
crypto/libecc/include/libecc/utils/utils.h | 196 +
crypto/libecc/include/libecc/utils/utils_rand.h | 22 +
crypto/libecc/include/libecc/words/types.h | 163 +
crypto/libecc/include/libecc/words/words.h | 129 +
crypto/libecc/include/libecc/words/words_16.h | 73 +
crypto/libecc/include/libecc/words/words_32.h | 73 +
crypto/libecc/include/libecc/words/words_64.h | 74 +
crypto/libecc/meson.build | 282 +
crypto/libecc/meson.options | 127 +
crypto/libecc/scripts/crossbuild.sh | 315 +
crypto/libecc/scripts/crossrun.sh | 124 +
crypto/libecc/scripts/expand_libecc.py | 1956 +
crypto/libecc/scripts/gen_curves_tests.sh | 89 +
crypto/libecc/scripts/gen_openssl_curves_tests.sh | 52 +
crypto/libecc/scripts/sha3.py | 115 +
crypto/libecc/scripts/test_ec_utils.sh | 82 +
crypto/libecc/src/arithmetic_tests/Makefile | 26 +
.../libecc/src/arithmetic_tests/arithmetic_tests.c | 1233 +
.../arithmetic_tests/arithmetic_tests_generator.py | 2009 +
crypto/libecc/src/curves/aff_pt.c | 346 +
crypto/libecc/src/curves/aff_pt_edwards.c | 855 +
crypto/libecc/src/curves/aff_pt_montgomery.c | 579 +
crypto/libecc/src/curves/curves.c | 256 +
crypto/libecc/src/curves/ec_edwards.c | 79 +
crypto/libecc/src/curves/ec_montgomery.c | 85 +
crypto/libecc/src/curves/ec_params.c | 194 +
crypto/libecc/src/curves/ec_shortw.c | 107 +
crypto/libecc/src/curves/meson.build | 11 +
crypto/libecc/src/curves/prj_pt.c | 2113 +
crypto/libecc/src/ecdh/ecccdh.c | 242 +
crypto/libecc/src/ecdh/meson.build | 4 +
crypto/libecc/src/ecdh/x25519_448.c | 435 +
crypto/libecc/src/examples/Makefile | 50 +
crypto/libecc/src/examples/basic/Makefile | 43 +
.../src/examples/basic/curve_basic_examples.c | 401 +
crypto/libecc/src/examples/basic/curve_ecdh.c | 284 +
.../libecc/src/examples/basic/fp_square_residue.c | 131 +
crypto/libecc/src/examples/basic/nn_miller_rabin.c | 223 +
crypto/libecc/src/examples/basic/nn_pollard_rho.c | 259 +
crypto/libecc/src/examples/hash/Makefile | 37 +
crypto/libecc/src/examples/hash/gostr34_11_94.c | 631 +
crypto/libecc/src/examples/hash/gostr34_11_94.h | 193 +
crypto/libecc/src/examples/hash/hash.c | 510 +
crypto/libecc/src/examples/hash/hash.h | 106 +
crypto/libecc/src/examples/hash/md2.c | 228 +
crypto/libecc/src/examples/hash/md2.h | 63 +
crypto/libecc/src/examples/hash/md4.c | 264 +
crypto/libecc/src/examples/hash/md4.h | 136 +
crypto/libecc/src/examples/hash/md5.c | 265 +
crypto/libecc/src/examples/hash/md5.h | 137 +
crypto/libecc/src/examples/hash/mdc2.c | 305 +
crypto/libecc/src/examples/hash/mdc2.h | 102 +
crypto/libecc/src/examples/hash/sha0.c | 264 +
crypto/libecc/src/examples/hash/sha0.h | 135 +
crypto/libecc/src/examples/hash/sha1.c | 264 +
crypto/libecc/src/examples/hash/sha1.h | 135 +
crypto/libecc/src/examples/hash/tdes.c | 492 +
crypto/libecc/src/examples/hash/tdes.h | 77 +
crypto/libecc/src/examples/sig/Makefile | 52 +
crypto/libecc/src/examples/sig/common/common.h | 248 +
crypto/libecc/src/examples/sig/dsa/Makefile | 34 +
crypto/libecc/src/examples/sig/dsa/dsa.c | 555 +
crypto/libecc/src/examples/sig/dsa/dsa.h | 75 +
.../libecc/src/examples/sig/gostr34_10_94/Makefile | 34 +
.../src/examples/sig/gostr34_10_94/gostr34_10_94.c | 521 +
.../src/examples/sig/gostr34_10_94/gostr34_10_94.h | 72 +
crypto/libecc/src/examples/sig/kcdsa/Makefile | 37 +
crypto/libecc/src/examples/sig/kcdsa/kcdsa.c | 759 +
crypto/libecc/src/examples/sig/kcdsa/kcdsa.h | 72 +
crypto/libecc/src/examples/sig/rsa/Makefile | 36 +
crypto/libecc/src/examples/sig/rsa/rsa.c | 2057 +
crypto/libecc/src/examples/sig/rsa/rsa.h | 187 +
.../libecc/src/examples/sig/rsa/rsa_pkcs1_tests.h | 111724 +++
crypto/libecc/src/examples/sig/rsa/rsa_tests.h | 215 +
crypto/libecc/src/examples/sig/sdsa/Makefile | 34 +
crypto/libecc/src/examples/sig/sdsa/sdsa.c | 467 +
crypto/libecc/src/examples/sig/sdsa/sdsa.h | 72 +
crypto/libecc/src/examples/sss/Makefile | 44 +
crypto/libecc/src/examples/sss/sss.c | 772 +
crypto/libecc/src/examples/sss/sss.h | 98 +
crypto/libecc/src/examples/sss/sss_private.h | 30 +
crypto/libecc/src/external_deps/meson.build | 5 +
crypto/libecc/src/external_deps/print.c | 31 +
crypto/libecc/src/external_deps/rand.c | 121 +
crypto/libecc/src/external_deps/time.c | 72 +
crypto/libecc/src/fp/fp.c | 470 +
crypto/libecc/src/fp/fp_add.c | 140 +
crypto/libecc/src/fp/fp_montgomery.c | 91 +
crypto/libecc/src/fp/fp_mul.c | 138 +
crypto/libecc/src/fp/fp_mul_redc1.c | 112 +
crypto/libecc/src/fp/fp_pow.c | 79 +
crypto/libecc/src/fp/fp_rand.c | 34 +
crypto/libecc/src/fp/fp_sqrt.c | 281 +
crypto/libecc/src/fp/meson.build | 10 +
crypto/libecc/src/hash/bash.c | 138 +
crypto/libecc/src/hash/bash224.c | 110 +
crypto/libecc/src/hash/bash256.c | 110 +
crypto/libecc/src/hash/bash384.c | 114 +
crypto/libecc/src/hash/bash512.c | 110 +
crypto/libecc/src/hash/belt-hash.c | 471 +
crypto/libecc/src/hash/hash_algs.c | 429 +
crypto/libecc/src/hash/hmac.c | 185 +
crypto/libecc/src/hash/meson.build | 27 +
crypto/libecc/src/hash/ripemd160.c | 348 +
crypto/libecc/src/hash/sha224.c | 250 +
crypto/libecc/src/hash/sha256.c | 241 +
crypto/libecc/src/hash/sha3-224.c | 115 +
crypto/libecc/src/hash/sha3-256.c | 115 +
crypto/libecc/src/hash/sha3-384.c | 119 +
crypto/libecc/src/hash/sha3-512.c | 115 +
crypto/libecc/src/hash/sha3.c | 116 +
crypto/libecc/src/hash/sha384.c | 255 +
crypto/libecc/src/hash/sha512-224.c | 124 +
crypto/libecc/src/hash/sha512-256.c | 124 +
crypto/libecc/src/hash/sha512.c | 125 +
crypto/libecc/src/hash/sha512_core.c | 189 +
crypto/libecc/src/hash/shake.c | 103 +
crypto/libecc/src/hash/shake256.c | 96 +
crypto/libecc/src/hash/sm3.c | 360 +
crypto/libecc/src/hash/streebog.c | 344 +
crypto/libecc/src/nn/meson.build | 11 +
crypto/libecc/src/nn/nn.c | 608 +
crypto/libecc/src/nn/nn_add.c | 613 +
crypto/libecc/src/nn/nn_div.c | 1271 +
crypto/libecc/src/nn/nn_div.h | 43 +
crypto/libecc/src/nn/nn_logical.c | 577 +
crypto/libecc/src/nn/nn_mod_pow.c | 334 +
crypto/libecc/src/nn/nn_modinv.c | 587 +
crypto/libecc/src/nn/nn_mul.c | 197 +
crypto/libecc/src/nn/nn_mul.h | 29 +
crypto/libecc/src/nn/nn_mul_redc1.c | 342 +
crypto/libecc/src/nn/nn_rand.c | 133 +
crypto/libecc/src/sig/bign.c | 79 +
crypto/libecc/src/sig/bign_common.c | 1001 +
crypto/libecc/src/sig/bip0340.c | 1325 +
crypto/libecc/src/sig/dbign.c | 115 +
crypto/libecc/src/sig/decdsa.c | 121 +
crypto/libecc/src/sig/ec_key.c | 620 +
crypto/libecc/src/sig/ecdsa.c | 85 +
crypto/libecc/src/sig/ecdsa_common.c | 1039 +
crypto/libecc/src/sig/ecfsdsa.c | 1087 +
crypto/libecc/src/sig/ecgdsa.c | 621 +
crypto/libecc/src/sig/eckcdsa.c | 841 +
crypto/libecc/src/sig/ecosdsa.c | 99 +
crypto/libecc/src/sig/ecrdsa.c | 623 +
crypto/libecc/src/sig/ecsdsa.c | 97 +
crypto/libecc/src/sig/ecsdsa_common.c | 632 +
crypto/libecc/src/sig/eddsa.c | 2935 +
crypto/libecc/src/sig/fuzzing_ecdsa.c | 434 +
crypto/libecc/src/sig/fuzzing_ecgdsa.c | 391 +
crypto/libecc/src/sig/fuzzing_ecrdsa.c | 425 +
crypto/libecc/src/sig/meson.build | 26 +
crypto/libecc/src/sig/sig_algs.c | 1112 +
crypto/libecc/src/sig/sm2.c | 724 +
crypto/libecc/src/tests/bign_test_vectors.h | 448 +
crypto/libecc/src/tests/bip0340_test_vectors.h | 204 +
crypto/libecc/src/tests/dbign_test_vectors.h | 232 +
crypto/libecc/src/tests/decdsa_test_vectors.h | 1362 +
crypto/libecc/src/tests/ec_self_tests.c | 302 +
crypto/libecc/src/tests/ec_self_tests.h | 21 +
crypto/libecc/src/tests/ec_self_tests_core.c | 1975 +
crypto/libecc/src/tests/ec_self_tests_core.h | 5757 +
crypto/libecc/src/tests/ec_utils.c | 1878 +
crypto/libecc/src/tests/ecccdh_test_vectors.h | 3750 +
crypto/libecc/src/tests/ed25519_test_vectors.h | 24610 +
crypto/libecc/src/tests/ed25519ctx_test_vectors.h | 138 +
crypto/libecc/src/tests/ed25519ph_test_vectors.h | 45 +
crypto/libecc/src/tests/ed448_test_vectors.h | 317 +
crypto/libecc/src/tests/ed448ph_test_vectors.h | 74 +
crypto/libecc/src/tests/meson.build | 55 +
crypto/libecc/src/tests/x25519_test_vectors.h | 142 +
crypto/libecc/src/tests/x448_test_vectors.h | 75 +
crypto/libecc/src/utils/meson.build | 15 +
crypto/libecc/src/utils/print_buf.c | 31 +
crypto/libecc/src/utils/print_curves.c | 76 +
crypto/libecc/src/utils/print_fp.c | 65 +
crypto/libecc/src/utils/print_keys.c | 42 +
crypto/libecc/src/utils/print_nn.c | 37 +
crypto/libecc/src/utils/utils.c | 233 +
crypto/libecc/src/utils/utils_rand.c | 51 +
crypto/libecc/src/utils/utils_rand.h | 22 +
crypto/libecc/src/wycheproof_tests/Makefile | 17 +
.../src/wycheproof_tests/libecc_wycheproof.c | 838 +
.../src/wycheproof_tests/libecc_wycheproof.h | 151 +
.../src/wycheproof_tests/libecc_wycheproof_tests.h | 728074 ++++++++++++++++++
crypto/libecc/support/meson/armv7em-noneabi.ini | 17 +
344 files changed, 959066 insertions(+)
diff --git a/crypto/libecc/.github/workflows/libecc_cifuzz.yml b/crypto/libecc/.github/workflows/libecc_cifuzz.yml
new file mode 100644
index 000000000000..d315da238fc6
--- /dev/null
+++ b/crypto/libecc/.github/workflows/libecc_cifuzz.yml
@@ -0,0 +1,26 @@
+name: CIFuzz
+on: [pull_request]
+jobs:
+ Fuzzing:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Build Fuzzers
+ id: build
+ uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
+ with:
+ oss-fuzz-project-name: 'libecc'
+ dry-run: false
+ language: c++
+ - name: Run Fuzzers
+ uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
+ with:
+ oss-fuzz-project-name: 'libecc'
+ fuzz-seconds: 300
+ dry-run: false
+ language: c++
+ - name: Upload Crash
+ uses: actions/upload-artifact@v3
+ if: failure() && steps.build.outcome == 'success'
+ with:
+ name: artifacts
+ path: ./out/artifacts
diff --git a/crypto/libecc/.github/workflows/libecc_compilation_tests.yml b/crypto/libecc/.github/workflows/libecc_compilation_tests.yml
new file mode 100644
index 000000000000..76aae957f362
--- /dev/null
+++ b/crypto/libecc/.github/workflows/libecc_compilation_tests.yml
@@ -0,0 +1,57 @@
+name: libecc
+
+# Run this workflow every time a new commit pushed to your repository
+on: push
+
+jobs:
+ compilation_tests:
+ runs-on: ubuntu-22.04
+ strategy:
+ #max-parallel: 10
+ matrix:
+ cc: [gcc, clang, g++, clang++]
+ blinding: [0, 1]
+ complete: [0, 1]
+ ladder: [0, 1]
+ cryptofuzz: [0, 1]
+ optflags: ["-O3", "-O2", "-O1"]
+ steps:
+ # Checkout repository
+ - name: checkout repository
+ uses: actions/checkout@v2
+ # Run actions
+ # libecc compilation tests
+ - name: libecc compilation tests
+ env:
+ CC: ${{ matrix.cc }}
+ BLINDING: ${{ matrix.blinding }}
+ COMPLETE: ${{ matrix.complete }}
+ LADDER: ${{ matrix.ladder }}
+ CRYPTOFUZZ: ${{ matrix.cryptofuzz }}
+ EXTRA_LIB_CFLAGS: ${{ matrix.optflags }}
+ EXTRA_BIN_CFLAGS: ${{ matrix.optflags }}
+ shell: bash
+ run: |
+ # Compilation tests of all cases
+ #
+ make && cd src/arithmetic_tests/ && make clean && make bin && make clean && cd -;
+ cd src/examples/ && make clean && make && cd - && make clean;
+ make 16;
+ cd src/examples/ && make clean && make 16 && cd - && make clean;
+ make 32;
+ cd src/examples/ && make clean && make 32 && cd - && make clean;
+ make 64;
+ cd src/examples/ && make clean && make 64 && cd - && make clean;
+ # We perform one test with the sanitizers
+ USE_SANITIZERS=1 make;
+ cd src/examples/ && make clean && USE_SANITIZERS=1 make && cd - && make clean;
+ #
+ make debug;
+ cd src/examples/ && make clean && make debug && cd - && make clean;
+ make debug16;
+ cd src/examples/ && make clean && make debug16 && cd - && make clean;
+ make debug32;
+ cd src/examples/ && make clean && make debug32 && cd - && make clean;
+ make debug64;
+ cd src/examples/ && make clean && make debug64 && cd - && make clean;
+ continue-on-error: false
diff --git a/crypto/libecc/.github/workflows/libecc_crossarch_tests.yml b/crypto/libecc/.github/workflows/libecc_crossarch_tests.yml
new file mode 100644
index 000000000000..93dbca1b5719
--- /dev/null
+++ b/crypto/libecc/.github/workflows/libecc_crossarch_tests.yml
@@ -0,0 +1,55 @@
+name: libecc
+
+# Run this workflow every time a new commit pushed to your repository
+on: push
+
+jobs:
+ cross_arch_tests:
+ runs-on: ubuntu-20.04
+ strategy:
+ #max-parallel: 10
+ matrix:
+ blinding: [0, 1]
+ complete: [1]
+ ladder: [1]
+ #cross_target: [arm-linux-gnueabi, arm-linux-gnueabihf, aarch64-linux-gnu, powerpc64le-linux-gnu, mipsel-linux-gnu, i686-w64-mingw32, x86_64-w64-mingw32, i386-apple-darwin, x86_64-apple-darwin, x86_64h-apple-darwin]
+ cross_target: [arm-linux-gnueabi, arm-linux-gnueabihf, aarch64-linux-gnu, powerpc64le-linux-gnu, mipsel-linux-gnu, i686-w64-mingw32, x86_64-w64-mingw32]
+ cross_size: [16, 32, 64]
+ steps:
+ # Add swap because of possible out of memory issues
+ - name: Set Swap Space
+ uses: pierotofy/set-swap-space@master
+ with:
+ swap-size-gb: 10
+ # Checkout repository
+ - name: checkout repository
+ uses: actions/checkout@v2
+ # Run actions
+ # Cross build and cross run tests
+ - name: libecc cross-arch tests
+ env:
+ BLINDING: ${{ matrix.blinding }}
+ COMPLETE: ${{ matrix.complete }}
+ LADDER: ${{ matrix.ladder }}
+ CROSS_TARGET: ${{ matrix.cross_target }}
+ CROSS_SIZE: ${{ matrix.cross_size }}
+ CRYPTOFUZZ: 1
+ shell: bash
+ run: |
+ # Install stuff
+ sudo apt-get update;
+ # This oddity is due to ubuntu (18.04 and 20.04) issue with wine32 in
+ # githbub actions runners ...
+ sudo apt-get -y install software-properties-common;
+ sudo apt-add-repository "ppa:ondrej/php" -y;
+ sudo dpkg --add-architecture i386;
+ sudo apt-get update;
+ sudo apt-get -y install qemu-user-static wine-stable wine32 wine64;
+ # Cross build jobs
+ docker pull multiarch/crossbuild;
+ sh scripts/crossbuild.sh -triplet "${CROSS_TARGET}" "${CROSS_SIZE}";
+ # Check for errors
+ [ ! -z "$(ls -A scripts/crossbuild_out/error_log/)" ] && exit -1;
+ # Test generated cross binaries through qemu-static;
+ sh scripts/crossrun.sh -triplet "${CROSS_TARGET}" "${CROSS_SIZE}";
+ continue-on-error: false
diff --git a/crypto/libecc/.github/workflows/libecc_examples.yml b/crypto/libecc/.github/workflows/libecc_examples.yml
new file mode 100644
index 000000000000..f50e6da9ee60
--- /dev/null
+++ b/crypto/libecc/.github/workflows/libecc_examples.yml
@@ -0,0 +1,39 @@
+name: libecc
+
+# Run this workflow every time a new commit pushed to your repository
+on: push
+
+jobs:
+ examples:
+ runs-on: ubuntu-22.04
+ strategy:
+ #max-parallel: 10
+ matrix:
+ cc: [gcc, clang]
+ blinding: [0, 1]
+ cryptofuzz: [1]
+ steps:
+ # Checkout repository
+ - name: checkout repository
+ uses: actions/checkout@v2
+ # Run actions
+ # libecc examples tests
+ - name: libecc examples tests
+ env:
+ CC: ${{ matrix.cc }}
+ BLINDING: ${{ matrix.blinding }}
+ CRYPTOFUZZ: ${{ matrix.cryptofuzz }}
+ ASSERT_PRINT: 1
+ # We want to parallelize self tests
+ OPENMP_SELF_TESTS: 1
+ shell: bash
+ run: |
+ # Install OpenMP
+ sudo apt-get update;
+ sudo apt-get -y install libomp-dev;
+ # Compile and compile the tests
+ #
+ EXTRA_CFLAGS="-DUSER_NN_BIT_LEN=4096" make && cd src/examples/ && EXTRA_CFLAGS="-DUSER_NN_BIT_LEN=4096" make && ./sig/rsa/rsa && ./sig/dsa/dsa && ./sig/kcdsa/kcdsa && ./sig/sdsa/sdsa && ./sig/gostr34_10_94/gostr34_10_94 && ./sss/sss && ./basic/curve_basic_examples && ./basic/curve_ecdh && make clean && cd - && make clean;
+ make 32 && cd src/examples/ && make 32 && ./sss/sss && ./basic/curve_basic_examples && ./basic/curve_ecdh && make clean && cd - && make clean;
+ make 16 && cd src/examples/ && make 16 && ./sss/sss && ./basic/curve_basic_examples && ./basic/curve_ecdh && make clean && cd - && make clean;
+ continue-on-error: false
diff --git a/crypto/libecc/.github/workflows/libecc_meson_build.yml b/crypto/libecc/.github/workflows/libecc_meson_build.yml
new file mode 100644
index 000000000000..e942ae9c2470
--- /dev/null
+++ b/crypto/libecc/.github/workflows/libecc_meson_build.yml
@@ -0,0 +1,37 @@
+name: libecc
+
+# Run this workflow every time a new commit pushed to your repository
+on: push
+
+jobs:
+ compilation_tests:
+ runs-on: ubuntu-22.04
+ strategy:
+ #max-parallel: 10
+ matrix:
+ cc: [gcc, clang, g++, clang++]
+ blinding: [0, 1]
+ complete: [0, 1]
+ ladder: [0, 1]
+ cryptofuzz: [0, 1]
+ optflags: ["-O3", "-O2", "-O1"]
+ steps:
+ # Checkout repository
+ - name: checkout repository
+ uses: actions/checkout@v2
+ # Run actions
+ # libecc compilation tests using meson
+ - name: libecc meson compilation tests
+ shell: bash
+ run: |
+ sudo apt-get update;
+ sudo apt-get -y install python3-pip;
+ pip install meson;
+ pip install ninja;
+ pip install dunamai;
+ # Compilation tests of all cases
+ #
+ rm -rf builddir/ && meson setup -Dwith_wordsize=16 builddir && cd builddir && meson dist && cd -;
+ rm -rf builddir/ && meson setup -Dwith_wordsize=32 builddir && cd builddir && meson dist && cd -;
+ rm -rf builddir/ && meson setup -Dwith_wordsize=64 builddir && cd builddir && meson dist && cd -;
+ continue-on-error: false
diff --git a/crypto/libecc/.github/workflows/libecc_python_tests.yml b/crypto/libecc/.github/workflows/libecc_python_tests.yml
new file mode 100644
index 000000000000..895760f7369e
--- /dev/null
+++ b/crypto/libecc/.github/workflows/libecc_python_tests.yml
@@ -0,0 +1,43 @@
+name: libecc
+
+# Run this workflow every time a new commit pushed to your repository
+on: push
+
+jobs:
+ runtime_tests:
+ runs-on: ubuntu-22.04
+ strategy:
+ #max-parallel: 10
+ matrix:
+ cc: [gcc, clang]
+ blinding: [0, 1]
+ cryptofuzz: [1]
+ steps:
+ # Checkout repository
+ - name: checkout repository
+ uses: actions/checkout@v2
+ # Run actions
+ # libecc python tests
+ - name: libecc python tests
+ env:
+ CC: ${{ matrix.cc }}
+ BLINDING: ${{ matrix.blinding }}
+ CRYPTOFUZZ: ${{ matrix.cryptofuzz }}
+ ASSERT_PRINT: 1
+ # We want to parallelize self tests
+ OPENMP_SELF_TESTS: 1
+ shell: bash
+ run: |
+ # Install Python2 and OpenMP
+ sudo apt-get update;
+ sudo apt-get -y install python2 libomp-dev;
+ # Test our Python libecc expanding script
+ # Python3
+ echo "y" | python3 scripts/expand_libecc.py --remove-all && PYTHON=python3 sh scripts/gen_curves_tests.sh && make clean && make && ./build/ec_self_tests vectors rand;
+ # Clean
+ echo "y" | python3 scripts/expand_libecc.py --remove-all && make clean;
+ # Python2
+ echo "y" | python2 scripts/expand_libecc.py --remove-all && PYTHON=python2 sh scripts/gen_curves_tests.sh && make clean && make && ./build/ec_self_tests vectors rand;
+ # Clean
+ echo "y" | python2 scripts/expand_libecc.py --remove-all && make clean;
+ continue-on-error: false
diff --git a/crypto/libecc/.github/workflows/libecc_runtime_tests.yml b/crypto/libecc/.github/workflows/libecc_runtime_tests.yml
new file mode 100644
index 000000000000..2432511a1be0
--- /dev/null
+++ b/crypto/libecc/.github/workflows/libecc_runtime_tests.yml
@@ -0,0 +1,39 @@
+name: libecc
+
+# Run this workflow every time a new commit pushed to your repository
+on: push
+
+jobs:
+ runtime_tests:
+ runs-on: ubuntu-22.04
+ strategy:
+ #max-parallel: 10
+ matrix:
+ cc: [gcc, clang]
+ blinding: [1]
+ cryptofuzz: [1]
+ wordsize: [64, 32, 16]
+ steps:
+ # Checkout repository
+ - name: checkout repository
+ uses: actions/checkout@v2
+ # Run actions
+ # libecc runtime tests
+ - name: libecc runtime tests
+ env:
+ CC: ${{ matrix.cc }}
+ BLINDING: ${{ matrix.blinding }}
+ CRYPTOFUZZ: ${{ matrix.cryptofuzz }}
+ ASSERT_PRINT: 1
+ # We want to parallelize self tests
+ OPENMP_SELF_TESTS: 1
+ WORDSIZE: ${{ matrix.wordsize }}
+ shell: bash
+ run: |
+ # Install OpenMP
+ sudo apt-get update;
+ sudo apt-get -y install libomp-dev;
+ # Vanilla tests
+ #
+ make "${WORDSIZE}" && ./build/ec_self_tests vectors rand;
+ continue-on-error: false
diff --git a/crypto/libecc/.gitignore b/crypto/libecc/.gitignore
new file mode 100644
index 000000000000..da8ab177478b
--- /dev/null
+++ b/crypto/libecc/.gitignore
@@ -0,0 +1,4 @@
+*.o
+*.d
+*~
+*.su
\ No newline at end of file
diff --git a/crypto/libecc/.travis.yml b/crypto/libecc/.travis.yml
new file mode 100644
index 000000000000..45f70324466f
--- /dev/null
+++ b/crypto/libecc/.travis.yml
@@ -0,0 +1,287 @@
+language: c
+os: linux
+dist:
+ - bionic
+
+env:
+ global:
+ # COVERITY_SCAN_TOKEN
+ - secure: "jhz0JLrLjWABZfT/mWiwuddUMvJNdrkIWJEqFGtGLO/x/nbiFD8ooHl/Sb+JSOsr8obXYMVmO+7ubTOLeqAbfaqS/5OZSQZjKAl4G6vGK40qY8cm1F7PTv5H3533XJGG6u4SZkMMlecz1UwsdmQ/5uabhzZwa9vMhuWJPkFy6uwvv09+r7cu8p4sN1KKfkIqIwpdpWmoOoltxfLPKkaIuxhftKDCYrcpd9K82NfXm/9Whxfra35Wq9IcxZXfNt6QKw0OLGnwR70hQZrRsd0bQAzeerWHCnqAbY2neNtMjiV905GJkUaCvWTF6P2ZbTCzN3Jy6wGz/LMSyztnWy/0pa9+dEWdCOZPLsrg+BTcBZNwPBho/Lg/diA/8Dz9plDirvogTpz6O0vzqmLRTVUp6uqBsTAnPHvNS1iz7hUwwvuItSAWOywVeVlpZ2mxUsOUyVzp2iZ9VEr4yk15LLbeYTPIMY2QbwBuG6TkgYn5EiCwsaQlSmPeyJlkc2a5tji2Rgms0wcpOReBxyKKN30LqZyac+bdlkwl6IqzaSWGz0wle68+1vNura+a909kGONLAx/0dbBzL1t5pFrJfDN7brBuk1wJuurecn8owdts4iPMaowpje79BG2hTQot969Ig00j4mhg1BJv5kk7c/mO3TqbDW8tPAto5tcWrYfELu4="
+
+before_install:
+ - echo -n | openssl s_client -connect https://scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
+
+
+addons:
+ apt:
+ update: true
+ packages:
+ - make
+ - gcc
+ - clang
+ - qemu-user-static
+ - wine-stable
+ - wine32
+ - wine64
+ - python3
+
+ coverity_scan:
+ project:
+ name: "rb-anssi/libecc_local"
+ description: "Build submitted via Travis CI of libecc"
+ notification_email: ryadbenadjila@gmail.com
+ build_command: make
+ branch_pattern: coverity_scan
+
+cache:
+ apt: true
+
+# We use docker for the cross-build
+services:
+ - docker
+
+# All our jobs
+env:
+ matrix:
+ # Python libecc expand script test
+ - TEST_PYTHON_EXPAND_SCRIPT=1
+ # Vanilla tests (on native plaform)
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=0 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=0 LADDER=1
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=0 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=0 LADDER=1
+ - CC=clang BLINDING=0 COMPLETE=0 CROSS_BUILD=0 LADDER=1
+ - CC=clang BLINDING=1 COMPLETE=0 CROSS_BUILD=0 LADDER=1
+ - CC=clang BLINDING=0 COMPLETE=1 CROSS_BUILD=0 LADDER=1
+ - CC=clang BLINDING=1 COMPLETE=1 CROSS_BUILD=0 LADDER=1
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=0 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=0 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=0 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=0 LADDER=0
+ - CC=clang BLINDING=0 COMPLETE=0 CROSS_BUILD=0 LADDER=0
+ - CC=clang BLINDING=1 COMPLETE=0 CROSS_BUILD=0 LADDER=0
+ - CC=clang BLINDING=0 COMPLETE=1 CROSS_BUILD=0 LADDER=0
+ - CC=clang BLINDING=1 COMPLETE=1 CROSS_BUILD=0 LADDER=0
+ # Cross compilation tests (using docker and qemu-static)
+ # arm-linux-gnueabi
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=16 LADDER=1
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=16 LADDER=1
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=32 LADDER=1
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=32 LADDER=1
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=64 LADDER=1
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=64 LADDER=1
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=16 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=16 LADDER=0
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=32 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=32 LADDER=0
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=64 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabi CROSS_SIZE=64 LADDER=0
+ # arm-linux-gnueabihf
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=16 LADDER=1
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=16 LADDER=1
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=32 LADDER=1
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=32 LADDER=1
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=64 LADDER=1
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=64 LADDER=1
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=16 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=16 LADDER=0
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=32 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=32 LADDER=0
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=64 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=arm-linux-gnueabihf CROSS_SIZE=64 LADDER=0
+ # powerpc64le-linux-gnu
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=16 LADDER=1
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=16 LADDER=1
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=32 LADDER=1
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=32 LADDER=1
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=64 LADDER=1
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=64 LADDER=1
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=16 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=16 LADDER=0
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=32 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=32 LADDER=0
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=64 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=powerpc64le-linux-gnu CROSS_SIZE=64 LADDER=0
+ # aarch64-linux-gnu
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=16 LADDER=1
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=16 LADDER=1
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=32 LADDER=1
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=32 LADDER=1
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=64 LADDER=1
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=64 LADDER=1
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=16 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=16 LADDER=0
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=32 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=32 LADDER=0
+ - BLINDING=0 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=64 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=aarch64-linux-gnu CROSS_SIZE=64 LADDER=0
+ # mipsel-linux-gnu
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=mipsel-linux-gnu CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=mipsel-linux-gnu CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=mipsel-linux-gnu CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=mipsel-linux-gnu CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=mipsel-linux-gnu CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=mipsel-linux-gnu CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=mipsel-linux-gnu CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=mipsel-linux-gnu CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=mipsel-linux-gnu CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=mipsel-linux-gnu CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=mipsel-linux-gnu CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=mipsel-linux-gnu CROSS_SIZE=64 LADDER=0
+ # i386-apple-darwin
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=i386-apple-darwin CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=i386-apple-darwin CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=i386-apple-darwin CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=i386-apple-darwin CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=i386-apple-darwin CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=i386-apple-darwin CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=i386-apple-darwin CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=i386-apple-darwin CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=i386-apple-darwin CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=i386-apple-darwin CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=i386-apple-darwin CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=i386-apple-darwin CROSS_SIZE=64 LADDER=0
+ # x86_64-apple-darwin
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64-apple-darwin CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64-apple-darwin CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64-apple-darwin CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64-apple-darwin CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64-apple-darwin CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64-apple-darwin CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64-apple-darwin CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64-apple-darwin CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64-apple-darwin CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64-apple-darwin CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64-apple-darwin CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64-apple-darwin CROSS_SIZE=64 LADDER=0
+ # x86_64h-apple-darwin
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64h-apple-darwin CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64h-apple-darwin CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64h-apple-darwin CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64h-apple-darwin CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64h-apple-darwin CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64h-apple-darwin CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64h-apple-darwin CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64h-apple-darwin CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64h-apple-darwin CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64h-apple-darwin CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64h-apple-darwin CROSS_SIZE=64 LADDER=0
+ - BLINDING=0 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64h-apple-darwin CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64h-apple-darwin CROSS_SIZE=64 LADDER=0
+ # i686-w64-mingw32
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=i686-w64-mingw32 CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=i686-w64-mingw32 CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=i686-w64-mingw32 CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=i686-w64-mingw32 CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=i686-w64-mingw32 CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=i686-w64-mingw32 CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=i686-w64-mingw32 CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=i686-w64-mingw32 CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=i686-w64-mingw32 CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=i686-w64-mingw32 CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=i686-w64-mingw32 CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=i686-w64-mingw32 CROSS_SIZE=64 LADDER=0
+ # x86_64-w64-mingw32
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64-w64-mingw32 CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64-w64-mingw32 CROSS_SIZE=16 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64-w64-mingw32 CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64-w64-mingw32 CROSS_SIZE=32 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64-w64-mingw32 CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64-w64-mingw32 CROSS_SIZE=64 LADDER=1
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64-w64-mingw32 CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64-w64-mingw32 CROSS_SIZE=16 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64-w64-mingw32 CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64-w64-mingw32 CROSS_SIZE=32 LADDER=0
+ - BLINDING=1 COMPLETE=0 CROSS_BUILD=1 CROSS_TARGET=x86_64-w64-mingw32 CROSS_SIZE=64 LADDER=0
+ - BLINDING=1 COMPLETE=1 CROSS_BUILD=1 CROSS_TARGET=x86_64-w64-mingw32 CROSS_SIZE=64 LADDER=0
+
+script:
+ # Coverity scan static analysis
+ - if [ "${COVERITY_SCAN_BRANCH}" == 1 ]; then make; fi
+ - if [ "${COVERITY_SCAN_BRANCH}" == 1 ]; then exit 0; fi
+ # Test our Python libecc expanding script
+ # Python2
+ - if [ "${TEST_PYTHON_EXPAND_SCRIPT}" == 1 ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then echo "y" | python2 scripts/expand_libecc.py --remove-all && PYTHON=python2 sh scripts/gen_curves_tests.sh && make clean && make && ./build/ec_self_tests vectors && ./build/ec_self_tests rand; fi;
+ # Python3
+ - if [ "${TEST_PYTHON_EXPAND_SCRIPT}" == 1 ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then echo "y" | python3 scripts/expand_libecc.py --remove-all && PYTHON=python3 sh scripts/gen_curves_tests.sh && make clean && make && ./build/ec_self_tests vectors && ./build/ec_self_tests rand; fi;
+ # Clean
+ - if [ "${TEST_PYTHON_EXPAND_SCRIPT}" == 1 ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then echo "y" | python2 scripts/expand_libecc.py --remove-all && make clean; fi;
+ # Vanilla tests
+ - if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then git fetch origin refs/pull/${TRAVIS_PULL_REQUEST}/head && git checkout FETCH_HEAD; fi
+ - if [ "${CROSS_BUILD}" = 0 ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then make && ./build/ec_self_tests vectors && ./build/ec_self_tests rand && cd src/arithmetic_tests/ && make clean && make && make clean && cd -; fi
+ - if [ "${CROSS_BUILD}" = 0 ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then cd src/examples/ && make clean && make && cd - && make clean; fi
+ - if [ "${CROSS_BUILD}" = 0 ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then make 16 && ./build/ec_self_tests vectors && ./build/ec_self_tests rand && cd src/arithmetic_tests/ && make clean && make 16 && make clean && cd -; fi
+ - if [ "${CROSS_BUILD}" = 0 ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then cd src/examples/ && make clean && make 16 && cd - && make clean; fi
+ - if [ "${CROSS_BUILD}" = 0 ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then make 32 && ./build/ec_self_tests vectors && ./build/ec_self_tests rand && cd src/arithmetic_tests/ && make clean && make 32 && make clean && cd -; fi
+ - if [ "${CROSS_BUILD}" = 0 ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then cd src/examples/ && make clean && make 32 && cd - && make clean; fi
+ - if [ "${CROSS_BUILD}" = 0 ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then make 64 && ./build/ec_self_tests vectors && ./build/ec_self_tests rand && cd src/arithmetic_tests/ && make clean && make 64 && make clean && cd -; fi
+ - if [ "${CROSS_BUILD}" = 0 ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then cd src/examples/ && make clean && make 64 && cd - && make clean; fi
+ - if [ "${CROSS_BUILD}" = 0 ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then make debug && ./build/ec_self_tests vectors && ./build/ec_self_tests rand && cd src/arithmetic_tests/ && make clean && make debug && make clean && cd -; fi
+ - if [ "${CROSS_BUILD}" = 0 ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then cd src/examples/ && make clean && make debug && cd - && make clean; fi
*** 960508 LINES SKIPPED ***