From nobody Sat Jan 11 02:48:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YVNJQ3ps0z5l4jr; Sat, 11 Jan 2025 02:48:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YVNJQ1mFgz4Hdq; Sat, 11 Jan 2025 02:48:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736563734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kzF0qq9yis+dRsCIaqSyYMKkXqRtucpwdrOPgNGt9LA=; b=OO6F72OsHKG5RGHcndpP+/95KKJ5u6INjXSzQVIqgRXFM3aexrR1dd9AIJwGbYJnoENy5t pevT3J1IPTyWsug43MJ3K/c1DCMnaP57ZNlN0dJvdcfdacsjNFOUhcFZTR+rIYLudgNuxB g5u7VYb9ZLAYDDZ1YZl5DOiltzOZo3ewLQI7baRf5AyE3+yEz0UXrHNv65mzu2AQWd/7/p WpFdtUknEFfr+JqYDL5Q5OHuP5jAxIB6k51EqIt9xE7L6hWH/BMcLjZMMgZN6gLeRLC46t qn8qCvEJI5zuaAVwZhS87158P+DavuqfaLz1VIXHdfPW3vUTd2sjWNCfRuWMQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736563734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kzF0qq9yis+dRsCIaqSyYMKkXqRtucpwdrOPgNGt9LA=; b=LljIZBlujJzrGMAr49tihGNGN7Hk7AeGgksuyncLQUtfjt6AHskyEJg9O/GyrB52m6Zevu 9KuDpDsk6AWIYywUGU01veNdI8ipLg3nUHz2FfK5+1LBSnmG+dH5kOSfVMoiXuYJ1sJSPl qoDpihTgQlVN8I2qzwApIMjIZtp1KA/6y9Abc4l0KLPTdRVxkp42l6i8UWAANUopI9OqSG pGH7ACrH8N6xXNkSLiM15qmXnwB9hWoiZwyI6l7MbOtbFfVui9KsznEbBxXZN3vfnbYgn5 /nTLCwzorZIivsJbHQI4eOe30t1kLYmKPkNrAy6fdTzg6usLDVSeP4eD0WL7hg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736563734; a=rsa-sha256; cv=none; b=S+MWYye7FYnyjH6OjBkUepIrE9mYOOVqIBTdVRCsctqpoMRbWHZdzXXZ2xwLXo1hIzzEQ8 anNStcqse3nYdZBpAUwHUnW4X3dym0el1LBabeHOWZcmNq2OGhJiNIhkSpC64F7CAIP9i6 t+ucUE/mxdGEdf+T5mnYrw53ySlX1mBfDostfMDzobFAp3PajvbmfGt+eZlR9BhMORqFfT aVi01CDRw6hDt/Tk/ZTSg4XbSOzAkTtjGK3/9g/EtBXl5+WQMKYaTq/cKqET1YCqLi4xC0 lfv4boOu+B04BbNSxZYWFifPOG3HhsdgQmfrrAWb10lFrD3WEDBtwu1cgAhJJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YVNJQ11FwzgBx; Sat, 11 Jan 2025 02:48:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50B2msRP066055; Sat, 11 Jan 2025 02:48:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50B2mb0X065751; Sat, 11 Jan 2025 02:48:37 GMT (envelope-from git) Date: Sat, 11 Jan 2025 02:48:37 GMT Message-Id: <202501110248.50B2mb0X065751@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 539736e08ccf - stable/14 - Add 'crypto/libecc/' from commit '736d663976d1768533badbf06581481d01fade4c' List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 539736e08ccf6c71f5dbb506cb7849252c4bb6f2 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=539736e08ccf6c71f5dbb506cb7849252c4bb6f2 commit 539736e08ccf6c71f5dbb506cb7849252c4bb6f2 Author: Kyle Evans AuthorDate: 2025-01-01 21:11:18 +0000 Commit: Kyle Evans 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 ***