diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/crates-io.scm | 220 | ||||
-rw-r--r-- | gnu/packages/patches/rust-ring-0.17-ring-core.patch | 496 |
3 files changed, 711 insertions, 6 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 58011d1149..79cb6d8d1b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2003,6 +2003,7 @@ dist_patch_DATA = \ %D%/packages/patches/rust-1.70-fix-rustix-build.patch \ %D%/packages/patches/rust-ring-0.16-missing-files.patch \ %D%/packages/patches/rust-ring-0.16-test-files.patch \ + %D%/packages/patches/rust-ring-0.17-ring-core.patch \ %D%/packages/patches/i3status-rust-enable-unstable-features.patch \ %D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \ %D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch \ diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index ab9cb39b4b..dd96777a06 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -61,9 +61,11 @@ #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages admin) + #:use-module (gnu packages assembly) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages avahi) + #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages c) #:use-module (gnu packages cmake) @@ -78,6 +80,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) + #:use-module (gnu packages golang) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages jemalloc) @@ -63978,8 +63981,218 @@ Usage of the @dfn{Digital Signature Algorithm} (DSA) and @dfn{Elliptic Curve Digital Signature Algorithm} (ECDSA).") (license (list license:asl2.0 license:expat)))) +(define computed-origin-method (@@ (guix packages) computed-origin-method)) +(define rust-ring-0.17-sources + (let* ((version "0.17.7") + (upstream-source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/briansmith/ring") + (commit "2be687bebdf76648ce85109d40c015412e14b0da"))) + (file-name (git-file-name "rust-ring" version)) + (sha256 + (base32 "1i3b7sha8yj990v2s5yk2a5dx3v4x9b8ckzm6bgiyi6wk4vnid69")) + (patches (search-patches "rust-ring-0.17-ring-core.patch"))))) + (origin + (method computed-origin-method) + (file-name (string-append "rust-ring-" version ".tar.gz")) + (sha256 #f) + (uri + (delay + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (set-path-environment-variable + "PATH" '("bin") + (list #+(canonical-package gzip) + #+(canonical-package tar) + #+perl + #+nasm + #+go + #+clang ; clang-format + #+python-minimal)) + (setenv "HOME" (getcwd)) + (copy-recursively #+upstream-source + (string-append "ring-" #$version)) + (with-directory-excursion (string-append "ring-" #$version) + (begin + ;; It turns out Guix's nasm works just fine here. + (substitute* "build.rs" + (("./target/tools/windows/nasm/nasm") "nasm")) + ;; Files which would be deleted in a snippet: + (delete-file "crypto/curve25519/curve25519_tables.h") + (delete-file "crypto/fipsmodule/ec/p256-nistz-table.h") + (delete-file "crypto/fipsmodule/ec/p256_table.h") + ;; This file causes problems during the 'package phase and + ;; is not distributed with the packaged crate. + (substitute* "Cargo.toml" + (("\"bench\",") "")) + (delete-file "bench/Cargo.toml") + ;; Files to be generated in the sources: + (format #t "Generating the missing files ...~%") + (force-output) + (with-directory-excursion "crypto/curve25519" + (with-output-to-file "curve25519_tables.h" + (lambda _ (invoke "python3" "make_curve25519_tables.py"))) + ;; As seen in git between 0.17.0 and 0.17.1. + (substitute* "curve25519_tables.h" + (("static const uint8_t k25519Precomp") + "const uint8_t k25519Precomp"))) + (with-directory-excursion "crypto/fipsmodule/ec" + (invoke "go" "run" "make_tables.go") + (invoke "go" "run" "make_ec_scalar_base_mult_tests.go")) + (format #t "Generating the pregenerated files ...~%") + (force-output) + (mkdir-p "pregenerated/tmp/ring_core_generated") + + ;; We generate all the files which upstream would normally be + ;; generate by using 'RING_PREGENERATE_ASM=1 cargo build + ;; --target-dir=target/pregenerate_asm' in order to not include + ;; a dependency on cargo when generating the sources. + (define (prefix script) + (string-append + "pregenerated/" + (string-drop-right + (string-drop script + (string-index-right script #\/)) 3))) + + (for-each + (lambda (script) + (invoke "perl" script "ios64" + (string-append (prefix script) "-ios64.S")) + (invoke "perl" script "linux64" + (string-append (prefix script) "-linux64.S")) + (invoke "perl" script "win64" + (string-append (prefix script) "-win64.S"))) + '("crypto/fipsmodule/aes/asm/aesv8-armx.pl" + "crypto/fipsmodule/modes/asm/ghashv8-armx.pl" + "crypto/chacha/asm/chacha-armv8.pl" + "crypto/cipher_extra/asm/chacha20_poly1305_armv8.pl" + "crypto/fipsmodule/aes/asm/vpaes-armv8.pl" + "crypto/fipsmodule/bn/asm/armv8-mont.pl" + "crypto/fipsmodule/ec/asm/p256-armv8-asm.pl" + "crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl" + "crypto/fipsmodule/sha/asm/sha512-armv8.pl")) + + (for-each + (lambda (arch) + (invoke "perl" "crypto/fipsmodule/sha/asm/sha512-armv8.pl" + arch (string-append + "pregenerated/sha256-armv8-" arch ".S"))) + '("ios64" "linux64" "win64")) + + (for-each + (lambda (script) + (invoke "perl" script "linux32" + (string-append (prefix script) "-linux32.S"))) + '("crypto/fipsmodule/aes/asm/aesv8-armx.pl" + "crypto/fipsmodule/modes/asm/ghashv8-armx.pl" + "crypto/fipsmodule/aes/asm/bsaes-armv7.pl" + "crypto/fipsmodule/aes/asm/vpaes-armv7.pl" + "crypto/fipsmodule/bn/asm/armv4-mont.pl" + "crypto/chacha/asm/chacha-armv4.pl" + "crypto/fipsmodule/modes/asm/ghash-armv4.pl" + "crypto/fipsmodule/sha/asm/sha256-armv4.pl" + "crypto/fipsmodule/sha/asm/sha512-armv4.pl")) + + (for-each + (lambda (script) + (invoke "perl" script "elf" + "-fPIC" "-DOPENSSL_IA32_SSE2" + (string-append (prefix script) "-elf.S")) + (invoke "perl" script "win32n" + "-fPIC" "-DOPENSSL_IA32_SSE2" + (string-append + "pregenerated/tmp/" + (string-drop (prefix script) 13) "-win32n.asm"))) + '("crypto/fipsmodule/aes/asm/aesni-x86.pl" + "crypto/fipsmodule/aes/asm/vpaes-x86.pl" + "crypto/fipsmodule/bn/asm/x86-mont.pl" + "crypto/chacha/asm/chacha-x86.pl" + "crypto/fipsmodule/modes/asm/ghash-x86.pl")) + + (for-each + (lambda (script) + (invoke "perl" script "elf" + (string-append (prefix script) "-elf.S")) + (invoke "perl" script "macosx" + (string-append (prefix script) "-macosx.S")) + (invoke "perl" script "nasm" + (string-append + "pregenerated/tmp/" + (string-drop (prefix script) 13) "-nasm.asm"))) + '("crypto/chacha/asm/chacha-x86_64.pl" + "crypto/fipsmodule/aes/asm/aesni-x86_64.pl" + "crypto/fipsmodule/aes/asm/vpaes-x86_64.pl" + "crypto/fipsmodule/bn/asm/x86_64-mont.pl" + "crypto/fipsmodule/bn/asm/x86_64-mont5.pl" + "crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl" + "crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl" + "crypto/fipsmodule/modes/asm/ghash-x86_64.pl" + "crypto/fipsmodule/sha/asm/sha512-x86_64.pl" + "crypto/cipher_extra/asm/chacha20_poly1305_x86_64.pl")) + + (invoke "perl" "crypto/fipsmodule/sha/asm/sha512-x86_64.pl" + "elf" "pregenerated/sha256-x86_64-elf.S") + + (invoke "perl" "crypto/fipsmodule/sha/asm/sha512-x86_64.pl" + "macosx" "pregenerated/sha256-x86_64-macosx.S") + + (invoke "perl" "crypto/fipsmodule/sha/asm/sha512-x86_64.pl" + "nasm" "pregenerated/tmp/sha256-x86_64-nasm.asm") + + ;; TODO: Extract ring_core_generated/prefix_symbols_nasm.inc + ;; and ring_core_generated/prefix_symbols_asm.h from build.rs. + + (for-each + (lambda (script) + (invoke "nasm" "-o" (string-append (prefix script) "o") + "-f" "win32" "-i" "include/" "-i" "pregenerated/tmp/" + "-Xgnu" "-gcv8" script)) + (find-files "pregenerated/tmp" "win32n\\.asm")) + + (for-each + (lambda (script) + (invoke "nasm" "-o" (string-append (prefix script) "o") + "-f" "win64" "-i" "include/" "-i" "pregenerated/tmp/" + "-Xgnu" "-gcv8" script)) + (find-files "pregenerated/tmp" "nasm\\.asm")) + + (format #t "Creating the tarball ...~%") + (force-output) + ;; The other option is to use cargo package --allow-dirty + (with-directory-excursion "../" + (invoke "tar" "czf" #$output + ;; avoid non-determinism in the archive + "--sort=name" "--mtime=@0" + "--owner=root:0" "--group=root:0" + (string-append "ring-" #$version)))))))))))) + +(define-public rust-ring-0.17 + (package + (name "rust-ring") + (version "0.17.7") + (source rust-ring-0.17-sources) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-cc" ,rust-cc-1) + ("rust-getrandom" ,rust-getrandom-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-spin" ,rust-spin-0.9) + ("rust-untrusted" ,rust-untrusted-0.9) + ("rust-windows-sys" ,rust-windows-sys-0.48)) + #:cargo-development-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)))) + (home-page "https://github.com/briansmith/ring") + (synopsis "Safe, fast, small crypto using Rust") + (description "This package provided safe, fast, small crypto using Rust.") + (license (list license:isc license:openssl)))) + (define-public rust-ring-0.16 (package + (inherit rust-ring-0.17) (name "rust-ring") (version "0.16.20") (source @@ -64004,7 +64217,6 @@ Digital Signature Algorithm} (ECDSA).") (with-output-to-file ".git" (lambda _ (format #t ""))))))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) @@ -64028,14 +64240,10 @@ Digital Signature Algorithm} (ECDSA).") (invoke "python" "make_curve25519_tables.py"))))))))) (native-inputs (list clang perl python-2)) - (home-page "https://github.com/briansmith/ring") - (synopsis "Safe, fast, small crypto using Rust") - (description "This package provided safe, fast, small crypto using Rust.") ;; For a mostly complete list of supported systems see: ;; https://github.com/briansmith/ring/blob/main/.github/workflows/ci.yml#L170 (supported-systems (list "aarch64-linux" "armhf-linux" - "i686-linux" "x86_64-linux")) - (license (list license:isc license:openssl)))) + "i686-linux" "x86_64-linux")))) (define-public rust-ring-0.14 (package diff --git a/gnu/packages/patches/rust-ring-0.17-ring-core.patch b/gnu/packages/patches/rust-ring-0.17-ring-core.patch new file mode 100644 index 0000000000..faa3a8a191 --- /dev/null +++ b/gnu/packages/patches/rust-ring-0.17-ring-core.patch @@ -0,0 +1,496 @@ +These two files are needed to finish generating the files for windows +and were generated using 'RING_PREGENERATE_ASM=1 cargo build +--target-dir=target/pregenerate_asm'. Included here so we don't need to +add cargo to the computed-source. + +--- + .../ring_core_generated/prefix_symbols_asm.h | 236 ++++++++++++++++++ + .../prefix_symbols_nasm.inc | 236 ++++++++++++++++++ + 2 files changed, 472 insertions(+) + create mode 100644 pregenerated/tmp/ring_core_generated/prefix_symbols_asm.h + create mode 100644 pregenerated/tmp/ring_core_generated/prefix_symbols_nasm.inc + +diff --git a/pregenerated/tmp/ring_core_generated/prefix_symbols_asm.h b/pregenerated/tmp/ring_core_generated/prefix_symbols_asm.h +new file mode 100644 +index 000000000..1cd766400 +--- /dev/null ++++ b/pregenerated/tmp/ring_core_generated/prefix_symbols_asm.h +@@ -0,0 +1,236 @@ ++ ++#ifndef ring_core_generated_PREFIX_SYMBOLS_ASM_H ++#define ring_core_generated_PREFIX_SYMBOLS_ASM_H ++ ++#if defined(__APPLE__) ++#define _ecp_nistz256_point_double _p256_point_double ++#define _ecp_nistz256_point_add _p256_point_add ++#define _ecp_nistz256_point_add_affine _p256_point_add_affine ++#define _ecp_nistz256_ord_mul_mont _p256_scalar_mul_mont ++#define _ecp_nistz256_ord_sqr_mont _p256_scalar_sqr_rep_mont ++#define _ecp_nistz256_mul_mont _p256_mul_mont ++#define _ecp_nistz256_sqr_mont _p256_sqr_mont ++#define _CRYPTO_memcmp _ring_core_0_17_7_CRYPTO_memcmp ++#define _CRYPTO_poly1305_finish _ring_core_0_17_7_CRYPTO_poly1305_finish ++#define _CRYPTO_poly1305_finish_neon _ring_core_0_17_7_CRYPTO_poly1305_finish_neon ++#define _CRYPTO_poly1305_init _ring_core_0_17_7_CRYPTO_poly1305_init ++#define _CRYPTO_poly1305_init_neon _ring_core_0_17_7_CRYPTO_poly1305_init_neon ++#define _CRYPTO_poly1305_update _ring_core_0_17_7_CRYPTO_poly1305_update ++#define _CRYPTO_poly1305_update_neon _ring_core_0_17_7_CRYPTO_poly1305_update_neon ++#define _ChaCha20_ctr32 _ring_core_0_17_7_ChaCha20_ctr32 ++#define _LIMBS_add_mod _ring_core_0_17_7_LIMBS_add_mod ++#define _LIMBS_are_even _ring_core_0_17_7_LIMBS_are_even ++#define _LIMBS_are_zero _ring_core_0_17_7_LIMBS_are_zero ++#define _LIMBS_equal _ring_core_0_17_7_LIMBS_equal ++#define _LIMBS_equal_limb _ring_core_0_17_7_LIMBS_equal_limb ++#define _LIMBS_less_than _ring_core_0_17_7_LIMBS_less_than ++#define _LIMBS_less_than_limb _ring_core_0_17_7_LIMBS_less_than_limb ++#define _LIMBS_reduce_once _ring_core_0_17_7_LIMBS_reduce_once ++#define _LIMBS_select_512_32 _ring_core_0_17_7_LIMBS_select_512_32 ++#define _LIMBS_shl_mod _ring_core_0_17_7_LIMBS_shl_mod ++#define _LIMBS_sub_mod _ring_core_0_17_7_LIMBS_sub_mod ++#define _LIMBS_window5_split_window _ring_core_0_17_7_LIMBS_window5_split_window ++#define _LIMBS_window5_unsplit_window _ring_core_0_17_7_LIMBS_window5_unsplit_window ++#define _LIMB_shr _ring_core_0_17_7_LIMB_shr ++#define _OPENSSL_armcap_P _ring_core_0_17_7_OPENSSL_armcap_P ++#define _OPENSSL_cpuid_setup _ring_core_0_17_7_OPENSSL_cpuid_setup ++#define _OPENSSL_ia32cap_P _ring_core_0_17_7_OPENSSL_ia32cap_P ++#define _aes_hw_ctr32_encrypt_blocks _ring_core_0_17_7_aes_hw_ctr32_encrypt_blocks ++#define _aes_hw_encrypt _ring_core_0_17_7_aes_hw_encrypt ++#define _aes_hw_set_encrypt_key _ring_core_0_17_7_aes_hw_set_encrypt_key ++#define _aes_nohw_ctr32_encrypt_blocks _ring_core_0_17_7_aes_nohw_ctr32_encrypt_blocks ++#define _aes_nohw_encrypt _ring_core_0_17_7_aes_nohw_encrypt ++#define _aes_nohw_set_encrypt_key _ring_core_0_17_7_aes_nohw_set_encrypt_key ++#define _aesni_gcm_decrypt _ring_core_0_17_7_aesni_gcm_decrypt ++#define _aesni_gcm_encrypt _ring_core_0_17_7_aesni_gcm_encrypt ++#define _bn_from_montgomery_in_place _ring_core_0_17_7_bn_from_montgomery_in_place ++#define _bn_gather5 _ring_core_0_17_7_bn_gather5 ++#define _bn_mul_mont _ring_core_0_17_7_bn_mul_mont ++#define _bn_mul_mont_gather5 _ring_core_0_17_7_bn_mul_mont_gather5 ++#define _bn_neg_inv_mod_r_u64 _ring_core_0_17_7_bn_neg_inv_mod_r_u64 ++#define _bn_power5 _ring_core_0_17_7_bn_power5 ++#define _bn_scatter5 _ring_core_0_17_7_bn_scatter5 ++#define _bn_sqr8x_internal _ring_core_0_17_7_bn_sqr8x_internal ++#define _bn_sqrx8x_internal _ring_core_0_17_7_bn_sqrx8x_internal ++#define _bsaes_ctr32_encrypt_blocks _ring_core_0_17_7_bsaes_ctr32_encrypt_blocks ++#define _bssl_constant_time_test_conditional_memcpy _ring_core_0_17_7_bssl_constant_time_test_conditional_memcpy ++#define _bssl_constant_time_test_conditional_memxor _ring_core_0_17_7_bssl_constant_time_test_conditional_memxor ++#define _bssl_constant_time_test_main _ring_core_0_17_7_bssl_constant_time_test_main ++#define _chacha20_poly1305_open _ring_core_0_17_7_chacha20_poly1305_open ++#define _chacha20_poly1305_seal _ring_core_0_17_7_chacha20_poly1305_seal ++#define _fiat_curve25519_adx_mul _ring_core_0_17_7_fiat_curve25519_adx_mul ++#define _fiat_curve25519_adx_square _ring_core_0_17_7_fiat_curve25519_adx_square ++#define _gcm_ghash_avx _ring_core_0_17_7_gcm_ghash_avx ++#define _gcm_ghash_clmul _ring_core_0_17_7_gcm_ghash_clmul ++#define _gcm_ghash_neon _ring_core_0_17_7_gcm_ghash_neon ++#define _gcm_gmult_clmul _ring_core_0_17_7_gcm_gmult_clmul ++#define _gcm_gmult_neon _ring_core_0_17_7_gcm_gmult_neon ++#define _gcm_init_avx _ring_core_0_17_7_gcm_init_avx ++#define _gcm_init_clmul _ring_core_0_17_7_gcm_init_clmul ++#define _gcm_init_neon _ring_core_0_17_7_gcm_init_neon ++#define _k25519Precomp _ring_core_0_17_7_k25519Precomp ++#define _limbs_mul_add_limb _ring_core_0_17_7_limbs_mul_add_limb ++#define _little_endian_bytes_from_scalar _ring_core_0_17_7_little_endian_bytes_from_scalar ++#define _ecp_nistz256_neg _ring_core_0_17_7_ecp_nistz256_neg ++#define _ecp_nistz256_select_w5 _ring_core_0_17_7_ecp_nistz256_select_w5 ++#define _ecp_nistz256_select_w7 _ring_core_0_17_7_ecp_nistz256_select_w7 ++#define _p256_mul_mont _ring_core_0_17_7_p256_mul_mont ++#define _p256_point_add _ring_core_0_17_7_p256_point_add ++#define _p256_point_add_affine _ring_core_0_17_7_p256_point_add_affine ++#define _p256_point_double _ring_core_0_17_7_p256_point_double ++#define _p256_point_mul _ring_core_0_17_7_p256_point_mul ++#define _p256_point_mul_base _ring_core_0_17_7_p256_point_mul_base ++#define _p256_point_mul_base_vartime _ring_core_0_17_7_p256_point_mul_base_vartime ++#define _p256_scalar_mul_mont _ring_core_0_17_7_p256_scalar_mul_mont ++#define _p256_scalar_sqr_rep_mont _ring_core_0_17_7_p256_scalar_sqr_rep_mont ++#define _p256_sqr_mont _ring_core_0_17_7_p256_sqr_mont ++#define _p384_elem_div_by_2 _ring_core_0_17_7_p384_elem_div_by_2 ++#define _p384_elem_mul_mont _ring_core_0_17_7_p384_elem_mul_mont ++#define _p384_elem_neg _ring_core_0_17_7_p384_elem_neg ++#define _p384_elem_sub _ring_core_0_17_7_p384_elem_sub ++#define _p384_point_add _ring_core_0_17_7_p384_point_add ++#define _p384_point_double _ring_core_0_17_7_p384_point_double ++#define _p384_point_mul _ring_core_0_17_7_p384_point_mul ++#define _p384_scalar_mul_mont _ring_core_0_17_7_p384_scalar_mul_mont ++#define _openssl_poly1305_neon2_addmulmod _ring_core_0_17_7_openssl_poly1305_neon2_addmulmod ++#define _openssl_poly1305_neon2_blocks _ring_core_0_17_7_openssl_poly1305_neon2_blocks ++#define _sha256_block_data_order _ring_core_0_17_7_sha256_block_data_order ++#define _sha512_block_data_order _ring_core_0_17_7_sha512_block_data_order ++#define _vpaes_ctr32_encrypt_blocks _ring_core_0_17_7_vpaes_ctr32_encrypt_blocks ++#define _vpaes_encrypt _ring_core_0_17_7_vpaes_encrypt ++#define _vpaes_encrypt_key_to_bsaes _ring_core_0_17_7_vpaes_encrypt_key_to_bsaes ++#define _vpaes_set_encrypt_key _ring_core_0_17_7_vpaes_set_encrypt_key ++#define _x25519_NEON _ring_core_0_17_7_x25519_NEON ++#define _x25519_fe_invert _ring_core_0_17_7_x25519_fe_invert ++#define _x25519_fe_isnegative _ring_core_0_17_7_x25519_fe_isnegative ++#define _x25519_fe_mul_ttt _ring_core_0_17_7_x25519_fe_mul_ttt ++#define _x25519_fe_neg _ring_core_0_17_7_x25519_fe_neg ++#define _x25519_fe_tobytes _ring_core_0_17_7_x25519_fe_tobytes ++#define _x25519_ge_double_scalarmult_vartime _ring_core_0_17_7_x25519_ge_double_scalarmult_vartime ++#define _x25519_ge_frombytes_vartime _ring_core_0_17_7_x25519_ge_frombytes_vartime ++#define _x25519_ge_scalarmult_base _ring_core_0_17_7_x25519_ge_scalarmult_base ++#define _x25519_ge_scalarmult_base_adx _ring_core_0_17_7_x25519_ge_scalarmult_base_adx ++#define _x25519_public_from_private_generic_masked _ring_core_0_17_7_x25519_public_from_private_generic_masked ++#define _x25519_sc_mask _ring_core_0_17_7_x25519_sc_mask ++#define _x25519_sc_muladd _ring_core_0_17_7_x25519_sc_muladd ++#define _x25519_sc_reduce _ring_core_0_17_7_x25519_sc_reduce ++#define _x25519_scalar_mult_adx _ring_core_0_17_7_x25519_scalar_mult_adx ++#define _x25519_scalar_mult_generic_masked _ring_core_0_17_7_x25519_scalar_mult_generic_masked ++ ++#else ++#define ecp_nistz256_point_double p256_point_double ++#define ecp_nistz256_point_add p256_point_add ++#define ecp_nistz256_point_add_affine p256_point_add_affine ++#define ecp_nistz256_ord_mul_mont p256_scalar_mul_mont ++#define ecp_nistz256_ord_sqr_mont p256_scalar_sqr_rep_mont ++#define ecp_nistz256_mul_mont p256_mul_mont ++#define ecp_nistz256_sqr_mont p256_sqr_mont ++#define CRYPTO_memcmp ring_core_0_17_7_CRYPTO_memcmp ++#define CRYPTO_poly1305_finish ring_core_0_17_7_CRYPTO_poly1305_finish ++#define CRYPTO_poly1305_finish_neon ring_core_0_17_7_CRYPTO_poly1305_finish_neon ++#define CRYPTO_poly1305_init ring_core_0_17_7_CRYPTO_poly1305_init ++#define CRYPTO_poly1305_init_neon ring_core_0_17_7_CRYPTO_poly1305_init_neon ++#define CRYPTO_poly1305_update ring_core_0_17_7_CRYPTO_poly1305_update ++#define CRYPTO_poly1305_update_neon ring_core_0_17_7_CRYPTO_poly1305_update_neon ++#define ChaCha20_ctr32 ring_core_0_17_7_ChaCha20_ctr32 ++#define LIMBS_add_mod ring_core_0_17_7_LIMBS_add_mod ++#define LIMBS_are_even ring_core_0_17_7_LIMBS_are_even ++#define LIMBS_are_zero ring_core_0_17_7_LIMBS_are_zero ++#define LIMBS_equal ring_core_0_17_7_LIMBS_equal ++#define LIMBS_equal_limb ring_core_0_17_7_LIMBS_equal_limb ++#define LIMBS_less_than ring_core_0_17_7_LIMBS_less_than ++#define LIMBS_less_than_limb ring_core_0_17_7_LIMBS_less_than_limb ++#define LIMBS_reduce_once ring_core_0_17_7_LIMBS_reduce_once ++#define LIMBS_select_512_32 ring_core_0_17_7_LIMBS_select_512_32 ++#define LIMBS_shl_mod ring_core_0_17_7_LIMBS_shl_mod ++#define LIMBS_sub_mod ring_core_0_17_7_LIMBS_sub_mod ++#define LIMBS_window5_split_window ring_core_0_17_7_LIMBS_window5_split_window ++#define LIMBS_window5_unsplit_window ring_core_0_17_7_LIMBS_window5_unsplit_window ++#define LIMB_shr ring_core_0_17_7_LIMB_shr ++#define OPENSSL_armcap_P ring_core_0_17_7_OPENSSL_armcap_P ++#define OPENSSL_cpuid_setup ring_core_0_17_7_OPENSSL_cpuid_setup ++#define OPENSSL_ia32cap_P ring_core_0_17_7_OPENSSL_ia32cap_P ++#define aes_hw_ctr32_encrypt_blocks ring_core_0_17_7_aes_hw_ctr32_encrypt_blocks ++#define aes_hw_encrypt ring_core_0_17_7_aes_hw_encrypt ++#define aes_hw_set_encrypt_key ring_core_0_17_7_aes_hw_set_encrypt_key ++#define aes_nohw_ctr32_encrypt_blocks ring_core_0_17_7_aes_nohw_ctr32_encrypt_blocks ++#define aes_nohw_encrypt ring_core_0_17_7_aes_nohw_encrypt ++#define aes_nohw_set_encrypt_key ring_core_0_17_7_aes_nohw_set_encrypt_key ++#define aesni_gcm_decrypt ring_core_0_17_7_aesni_gcm_decrypt ++#define aesni_gcm_encrypt ring_core_0_17_7_aesni_gcm_encrypt ++#define bn_from_montgomery_in_place ring_core_0_17_7_bn_from_montgomery_in_place ++#define bn_gather5 ring_core_0_17_7_bn_gather5 ++#define bn_mul_mont ring_core_0_17_7_bn_mul_mont ++#define bn_mul_mont_gather5 ring_core_0_17_7_bn_mul_mont_gather5 ++#define bn_neg_inv_mod_r_u64 ring_core_0_17_7_bn_neg_inv_mod_r_u64 ++#define bn_power5 ring_core_0_17_7_bn_power5 ++#define bn_scatter5 ring_core_0_17_7_bn_scatter5 ++#define bn_sqr8x_internal ring_core_0_17_7_bn_sqr8x_internal ++#define bn_sqrx8x_internal ring_core_0_17_7_bn_sqrx8x_internal ++#define bsaes_ctr32_encrypt_blocks ring_core_0_17_7_bsaes_ctr32_encrypt_blocks ++#define bssl_constant_time_test_conditional_memcpy ring_core_0_17_7_bssl_constant_time_test_conditional_memcpy ++#define bssl_constant_time_test_conditional_memxor ring_core_0_17_7_bssl_constant_time_test_conditional_memxor ++#define bssl_constant_time_test_main ring_core_0_17_7_bssl_constant_time_test_main ++#define chacha20_poly1305_open ring_core_0_17_7_chacha20_poly1305_open ++#define chacha20_poly1305_seal ring_core_0_17_7_chacha20_poly1305_seal ++#define fiat_curve25519_adx_mul ring_core_0_17_7_fiat_curve25519_adx_mul ++#define fiat_curve25519_adx_square ring_core_0_17_7_fiat_curve25519_adx_square ++#define gcm_ghash_avx ring_core_0_17_7_gcm_ghash_avx ++#define gcm_ghash_clmul ring_core_0_17_7_gcm_ghash_clmul ++#define gcm_ghash_neon ring_core_0_17_7_gcm_ghash_neon ++#define gcm_gmult_clmul ring_core_0_17_7_gcm_gmult_clmul ++#define gcm_gmult_neon ring_core_0_17_7_gcm_gmult_neon ++#define gcm_init_avx ring_core_0_17_7_gcm_init_avx ++#define gcm_init_clmul ring_core_0_17_7_gcm_init_clmul ++#define gcm_init_neon ring_core_0_17_7_gcm_init_neon ++#define k25519Precomp ring_core_0_17_7_k25519Precomp ++#define limbs_mul_add_limb ring_core_0_17_7_limbs_mul_add_limb ++#define little_endian_bytes_from_scalar ring_core_0_17_7_little_endian_bytes_from_scalar ++#define ecp_nistz256_neg ring_core_0_17_7_ecp_nistz256_neg ++#define ecp_nistz256_select_w5 ring_core_0_17_7_ecp_nistz256_select_w5 ++#define ecp_nistz256_select_w7 ring_core_0_17_7_ecp_nistz256_select_w7 ++#define p256_mul_mont ring_core_0_17_7_p256_mul_mont ++#define p256_point_add ring_core_0_17_7_p256_point_add ++#define p256_point_add_affine ring_core_0_17_7_p256_point_add_affine ++#define p256_point_double ring_core_0_17_7_p256_point_double ++#define p256_point_mul ring_core_0_17_7_p256_point_mul ++#define p256_point_mul_base ring_core_0_17_7_p256_point_mul_base ++#define p256_point_mul_base_vartime ring_core_0_17_7_p256_point_mul_base_vartime ++#define p256_scalar_mul_mont ring_core_0_17_7_p256_scalar_mul_mont ++#define p256_scalar_sqr_rep_mont ring_core_0_17_7_p256_scalar_sqr_rep_mont ++#define p256_sqr_mont ring_core_0_17_7_p256_sqr_mont ++#define p384_elem_div_by_2 ring_core_0_17_7_p384_elem_div_by_2 ++#define p384_elem_mul_mont ring_core_0_17_7_p384_elem_mul_mont ++#define p384_elem_neg ring_core_0_17_7_p384_elem_neg ++#define p384_elem_sub ring_core_0_17_7_p384_elem_sub ++#define p384_point_add ring_core_0_17_7_p384_point_add ++#define p384_point_double ring_core_0_17_7_p384_point_double ++#define p384_point_mul ring_core_0_17_7_p384_point_mul ++#define p384_scalar_mul_mont ring_core_0_17_7_p384_scalar_mul_mont ++#define openssl_poly1305_neon2_addmulmod ring_core_0_17_7_openssl_poly1305_neon2_addmulmod ++#define openssl_poly1305_neon2_blocks ring_core_0_17_7_openssl_poly1305_neon2_blocks ++#define sha256_block_data_order ring_core_0_17_7_sha256_block_data_order ++#define sha512_block_data_order ring_core_0_17_7_sha512_block_data_order ++#define vpaes_ctr32_encrypt_blocks ring_core_0_17_7_vpaes_ctr32_encrypt_blocks ++#define vpaes_encrypt ring_core_0_17_7_vpaes_encrypt ++#define vpaes_encrypt_key_to_bsaes ring_core_0_17_7_vpaes_encrypt_key_to_bsaes ++#define vpaes_set_encrypt_key ring_core_0_17_7_vpaes_set_encrypt_key ++#define x25519_NEON ring_core_0_17_7_x25519_NEON ++#define x25519_fe_invert ring_core_0_17_7_x25519_fe_invert ++#define x25519_fe_isnegative ring_core_0_17_7_x25519_fe_isnegative ++#define x25519_fe_mul_ttt ring_core_0_17_7_x25519_fe_mul_ttt ++#define x25519_fe_neg ring_core_0_17_7_x25519_fe_neg ++#define x25519_fe_tobytes ring_core_0_17_7_x25519_fe_tobytes ++#define x25519_ge_double_scalarmult_vartime ring_core_0_17_7_x25519_ge_double_scalarmult_vartime ++#define x25519_ge_frombytes_vartime ring_core_0_17_7_x25519_ge_frombytes_vartime ++#define x25519_ge_scalarmult_base ring_core_0_17_7_x25519_ge_scalarmult_base ++#define x25519_ge_scalarmult_base_adx ring_core_0_17_7_x25519_ge_scalarmult_base_adx ++#define x25519_public_from_private_generic_masked ring_core_0_17_7_x25519_public_from_private_generic_masked ++#define x25519_sc_mask ring_core_0_17_7_x25519_sc_mask ++#define x25519_sc_muladd ring_core_0_17_7_x25519_sc_muladd ++#define x25519_sc_reduce ring_core_0_17_7_x25519_sc_reduce ++#define x25519_scalar_mult_adx ring_core_0_17_7_x25519_scalar_mult_adx ++#define x25519_scalar_mult_generic_masked ring_core_0_17_7_x25519_scalar_mult_generic_masked ++ ++#endif ++#endif +diff --git a/pregenerated/tmp/ring_core_generated/prefix_symbols_nasm.inc b/pregenerated/tmp/ring_core_generated/prefix_symbols_nasm.inc +new file mode 100644 +index 000000000..65ce0cfaa +--- /dev/null ++++ b/pregenerated/tmp/ring_core_generated/prefix_symbols_nasm.inc +@@ -0,0 +1,236 @@ ++ ++%ifndef ring_core_generated_PREFIX_SYMBOLS_NASM_INC ++%define ring_core_generated_PREFIX_SYMBOLS_NASM_INC ++ ++%ifidn __OUTPUT_FORMAT__,win32 ++%define _ecp_nistz256_point_double _p256_point_double ++%define _ecp_nistz256_point_add _p256_point_add ++%define _ecp_nistz256_point_add_affine _p256_point_add_affine ++%define _ecp_nistz256_ord_mul_mont _p256_scalar_mul_mont ++%define _ecp_nistz256_ord_sqr_mont _p256_scalar_sqr_rep_mont ++%define _ecp_nistz256_mul_mont _p256_mul_mont ++%define _ecp_nistz256_sqr_mont _p256_sqr_mont ++%define _CRYPTO_memcmp _ring_core_0_17_7_CRYPTO_memcmp ++%define _CRYPTO_poly1305_finish _ring_core_0_17_7_CRYPTO_poly1305_finish ++%define _CRYPTO_poly1305_finish_neon _ring_core_0_17_7_CRYPTO_poly1305_finish_neon ++%define _CRYPTO_poly1305_init _ring_core_0_17_7_CRYPTO_poly1305_init ++%define _CRYPTO_poly1305_init_neon _ring_core_0_17_7_CRYPTO_poly1305_init_neon ++%define _CRYPTO_poly1305_update _ring_core_0_17_7_CRYPTO_poly1305_update ++%define _CRYPTO_poly1305_update_neon _ring_core_0_17_7_CRYPTO_poly1305_update_neon ++%define _ChaCha20_ctr32 _ring_core_0_17_7_ChaCha20_ctr32 ++%define _LIMBS_add_mod _ring_core_0_17_7_LIMBS_add_mod ++%define _LIMBS_are_even _ring_core_0_17_7_LIMBS_are_even ++%define _LIMBS_are_zero _ring_core_0_17_7_LIMBS_are_zero ++%define _LIMBS_equal _ring_core_0_17_7_LIMBS_equal ++%define _LIMBS_equal_limb _ring_core_0_17_7_LIMBS_equal_limb ++%define _LIMBS_less_than _ring_core_0_17_7_LIMBS_less_than ++%define _LIMBS_less_than_limb _ring_core_0_17_7_LIMBS_less_than_limb ++%define _LIMBS_reduce_once _ring_core_0_17_7_LIMBS_reduce_once ++%define _LIMBS_select_512_32 _ring_core_0_17_7_LIMBS_select_512_32 ++%define _LIMBS_shl_mod _ring_core_0_17_7_LIMBS_shl_mod ++%define _LIMBS_sub_mod _ring_core_0_17_7_LIMBS_sub_mod ++%define _LIMBS_window5_split_window _ring_core_0_17_7_LIMBS_window5_split_window ++%define _LIMBS_window5_unsplit_window _ring_core_0_17_7_LIMBS_window5_unsplit_window ++%define _LIMB_shr _ring_core_0_17_7_LIMB_shr ++%define _OPENSSL_armcap_P _ring_core_0_17_7_OPENSSL_armcap_P ++%define _OPENSSL_cpuid_setup _ring_core_0_17_7_OPENSSL_cpuid_setup ++%define _OPENSSL_ia32cap_P _ring_core_0_17_7_OPENSSL_ia32cap_P ++%define _aes_hw_ctr32_encrypt_blocks _ring_core_0_17_7_aes_hw_ctr32_encrypt_blocks ++%define _aes_hw_encrypt _ring_core_0_17_7_aes_hw_encrypt ++%define _aes_hw_set_encrypt_key _ring_core_0_17_7_aes_hw_set_encrypt_key ++%define _aes_nohw_ctr32_encrypt_blocks _ring_core_0_17_7_aes_nohw_ctr32_encrypt_blocks ++%define _aes_nohw_encrypt _ring_core_0_17_7_aes_nohw_encrypt ++%define _aes_nohw_set_encrypt_key _ring_core_0_17_7_aes_nohw_set_encrypt_key ++%define _aesni_gcm_decrypt _ring_core_0_17_7_aesni_gcm_decrypt ++%define _aesni_gcm_encrypt _ring_core_0_17_7_aesni_gcm_encrypt ++%define _bn_from_montgomery_in_place _ring_core_0_17_7_bn_from_montgomery_in_place ++%define _bn_gather5 _ring_core_0_17_7_bn_gather5 ++%define _bn_mul_mont _ring_core_0_17_7_bn_mul_mont ++%define _bn_mul_mont_gather5 _ring_core_0_17_7_bn_mul_mont_gather5 ++%define _bn_neg_inv_mod_r_u64 _ring_core_0_17_7_bn_neg_inv_mod_r_u64 ++%define _bn_power5 _ring_core_0_17_7_bn_power5 ++%define _bn_scatter5 _ring_core_0_17_7_bn_scatter5 ++%define _bn_sqr8x_internal _ring_core_0_17_7_bn_sqr8x_internal ++%define _bn_sqrx8x_internal _ring_core_0_17_7_bn_sqrx8x_internal ++%define _bsaes_ctr32_encrypt_blocks _ring_core_0_17_7_bsaes_ctr32_encrypt_blocks ++%define _bssl_constant_time_test_conditional_memcpy _ring_core_0_17_7_bssl_constant_time_test_conditional_memcpy ++%define _bssl_constant_time_test_conditional_memxor _ring_core_0_17_7_bssl_constant_time_test_conditional_memxor ++%define _bssl_constant_time_test_main _ring_core_0_17_7_bssl_constant_time_test_main ++%define _chacha20_poly1305_open _ring_core_0_17_7_chacha20_poly1305_open ++%define _chacha20_poly1305_seal _ring_core_0_17_7_chacha20_poly1305_seal ++%define _fiat_curve25519_adx_mul _ring_core_0_17_7_fiat_curve25519_adx_mul ++%define _fiat_curve25519_adx_square _ring_core_0_17_7_fiat_curve25519_adx_square ++%define _gcm_ghash_avx _ring_core_0_17_7_gcm_ghash_avx ++%define _gcm_ghash_clmul _ring_core_0_17_7_gcm_ghash_clmul ++%define _gcm_ghash_neon _ring_core_0_17_7_gcm_ghash_neon ++%define _gcm_gmult_clmul _ring_core_0_17_7_gcm_gmult_clmul ++%define _gcm_gmult_neon _ring_core_0_17_7_gcm_gmult_neon ++%define _gcm_init_avx _ring_core_0_17_7_gcm_init_avx ++%define _gcm_init_clmul _ring_core_0_17_7_gcm_init_clmul ++%define _gcm_init_neon _ring_core_0_17_7_gcm_init_neon ++%define _k25519Precomp _ring_core_0_17_7_k25519Precomp ++%define _limbs_mul_add_limb _ring_core_0_17_7_limbs_mul_add_limb ++%define _little_endian_bytes_from_scalar _ring_core_0_17_7_little_endian_bytes_from_scalar ++%define _ecp_nistz256_neg _ring_core_0_17_7_ecp_nistz256_neg ++%define _ecp_nistz256_select_w5 _ring_core_0_17_7_ecp_nistz256_select_w5 ++%define _ecp_nistz256_select_w7 _ring_core_0_17_7_ecp_nistz256_select_w7 ++%define _p256_mul_mont _ring_core_0_17_7_p256_mul_mont ++%define _p256_point_add _ring_core_0_17_7_p256_point_add ++%define _p256_point_add_affine _ring_core_0_17_7_p256_point_add_affine ++%define _p256_point_double _ring_core_0_17_7_p256_point_double ++%define _p256_point_mul _ring_core_0_17_7_p256_point_mul ++%define _p256_point_mul_base _ring_core_0_17_7_p256_point_mul_base ++%define _p256_point_mul_base_vartime _ring_core_0_17_7_p256_point_mul_base_vartime ++%define _p256_scalar_mul_mont _ring_core_0_17_7_p256_scalar_mul_mont ++%define _p256_scalar_sqr_rep_mont _ring_core_0_17_7_p256_scalar_sqr_rep_mont ++%define _p256_sqr_mont _ring_core_0_17_7_p256_sqr_mont ++%define _p384_elem_div_by_2 _ring_core_0_17_7_p384_elem_div_by_2 ++%define _p384_elem_mul_mont _ring_core_0_17_7_p384_elem_mul_mont ++%define _p384_elem_neg _ring_core_0_17_7_p384_elem_neg ++%define _p384_elem_sub _ring_core_0_17_7_p384_elem_sub ++%define _p384_point_add _ring_core_0_17_7_p384_point_add ++%define _p384_point_double _ring_core_0_17_7_p384_point_double ++%define _p384_point_mul _ring_core_0_17_7_p384_point_mul ++%define _p384_scalar_mul_mont _ring_core_0_17_7_p384_scalar_mul_mont ++%define _openssl_poly1305_neon2_addmulmod _ring_core_0_17_7_openssl_poly1305_neon2_addmulmod ++%define _openssl_poly1305_neon2_blocks _ring_core_0_17_7_openssl_poly1305_neon2_blocks ++%define _sha256_block_data_order _ring_core_0_17_7_sha256_block_data_order ++%define _sha512_block_data_order _ring_core_0_17_7_sha512_block_data_order ++%define _vpaes_ctr32_encrypt_blocks _ring_core_0_17_7_vpaes_ctr32_encrypt_blocks ++%define _vpaes_encrypt _ring_core_0_17_7_vpaes_encrypt ++%define _vpaes_encrypt_key_to_bsaes _ring_core_0_17_7_vpaes_encrypt_key_to_bsaes ++%define _vpaes_set_encrypt_key _ring_core_0_17_7_vpaes_set_encrypt_key ++%define _x25519_NEON _ring_core_0_17_7_x25519_NEON ++%define _x25519_fe_invert _ring_core_0_17_7_x25519_fe_invert ++%define _x25519_fe_isnegative _ring_core_0_17_7_x25519_fe_isnegative ++%define _x25519_fe_mul_ttt _ring_core_0_17_7_x25519_fe_mul_ttt ++%define _x25519_fe_neg _ring_core_0_17_7_x25519_fe_neg ++%define _x25519_fe_tobytes _ring_core_0_17_7_x25519_fe_tobytes ++%define _x25519_ge_double_scalarmult_vartime _ring_core_0_17_7_x25519_ge_double_scalarmult_vartime ++%define _x25519_ge_frombytes_vartime _ring_core_0_17_7_x25519_ge_frombytes_vartime ++%define _x25519_ge_scalarmult_base _ring_core_0_17_7_x25519_ge_scalarmult_base ++%define _x25519_ge_scalarmult_base_adx _ring_core_0_17_7_x25519_ge_scalarmult_base_adx ++%define _x25519_public_from_private_generic_masked _ring_core_0_17_7_x25519_public_from_private_generic_masked ++%define _x25519_sc_mask _ring_core_0_17_7_x25519_sc_mask ++%define _x25519_sc_muladd _ring_core_0_17_7_x25519_sc_muladd ++%define _x25519_sc_reduce _ring_core_0_17_7_x25519_sc_reduce ++%define _x25519_scalar_mult_adx _ring_core_0_17_7_x25519_scalar_mult_adx ++%define _x25519_scalar_mult_generic_masked _ring_core_0_17_7_x25519_scalar_mult_generic_masked ++ ++%else ++%define ecp_nistz256_point_double p256_point_double ++%define ecp_nistz256_point_add p256_point_add ++%define ecp_nistz256_point_add_affine p256_point_add_affine ++%define ecp_nistz256_ord_mul_mont p256_scalar_mul_mont ++%define ecp_nistz256_ord_sqr_mont p256_scalar_sqr_rep_mont ++%define ecp_nistz256_mul_mont p256_mul_mont ++%define ecp_nistz256_sqr_mont p256_sqr_mont ++%define CRYPTO_memcmp ring_core_0_17_7_CRYPTO_memcmp ++%define CRYPTO_poly1305_finish ring_core_0_17_7_CRYPTO_poly1305_finish ++%define CRYPTO_poly1305_finish_neon ring_core_0_17_7_CRYPTO_poly1305_finish_neon ++%define CRYPTO_poly1305_init ring_core_0_17_7_CRYPTO_poly1305_init ++%define CRYPTO_poly1305_init_neon ring_core_0_17_7_CRYPTO_poly1305_init_neon ++%define CRYPTO_poly1305_update ring_core_0_17_7_CRYPTO_poly1305_update ++%define CRYPTO_poly1305_update_neon ring_core_0_17_7_CRYPTO_poly1305_update_neon ++%define ChaCha20_ctr32 ring_core_0_17_7_ChaCha20_ctr32 ++%define LIMBS_add_mod ring_core_0_17_7_LIMBS_add_mod ++%define LIMBS_are_even ring_core_0_17_7_LIMBS_are_even ++%define LIMBS_are_zero ring_core_0_17_7_LIMBS_are_zero ++%define LIMBS_equal ring_core_0_17_7_LIMBS_equal ++%define LIMBS_equal_limb ring_core_0_17_7_LIMBS_equal_limb ++%define LIMBS_less_than ring_core_0_17_7_LIMBS_less_than ++%define LIMBS_less_than_limb ring_core_0_17_7_LIMBS_less_than_limb ++%define LIMBS_reduce_once ring_core_0_17_7_LIMBS_reduce_once ++%define LIMBS_select_512_32 ring_core_0_17_7_LIMBS_select_512_32 ++%define LIMBS_shl_mod ring_core_0_17_7_LIMBS_shl_mod ++%define LIMBS_sub_mod ring_core_0_17_7_LIMBS_sub_mod ++%define LIMBS_window5_split_window ring_core_0_17_7_LIMBS_window5_split_window ++%define LIMBS_window5_unsplit_window ring_core_0_17_7_LIMBS_window5_unsplit_window ++%define LIMB_shr ring_core_0_17_7_LIMB_shr ++%define OPENSSL_armcap_P ring_core_0_17_7_OPENSSL_armcap_P ++%define OPENSSL_cpuid_setup ring_core_0_17_7_OPENSSL_cpuid_setup ++%define OPENSSL_ia32cap_P ring_core_0_17_7_OPENSSL_ia32cap_P ++%define aes_hw_ctr32_encrypt_blocks ring_core_0_17_7_aes_hw_ctr32_encrypt_blocks ++%define aes_hw_encrypt ring_core_0_17_7_aes_hw_encrypt ++%define aes_hw_set_encrypt_key ring_core_0_17_7_aes_hw_set_encrypt_key ++%define aes_nohw_ctr32_encrypt_blocks ring_core_0_17_7_aes_nohw_ctr32_encrypt_blocks ++%define aes_nohw_encrypt ring_core_0_17_7_aes_nohw_encrypt ++%define aes_nohw_set_encrypt_key ring_core_0_17_7_aes_nohw_set_encrypt_key ++%define aesni_gcm_decrypt ring_core_0_17_7_aesni_gcm_decrypt ++%define aesni_gcm_encrypt ring_core_0_17_7_aesni_gcm_encrypt ++%define bn_from_montgomery_in_place ring_core_0_17_7_bn_from_montgomery_in_place ++%define bn_gather5 ring_core_0_17_7_bn_gather5 ++%define bn_mul_mont ring_core_0_17_7_bn_mul_mont ++%define bn_mul_mont_gather5 ring_core_0_17_7_bn_mul_mont_gather5 ++%define bn_neg_inv_mod_r_u64 ring_core_0_17_7_bn_neg_inv_mod_r_u64 ++%define bn_power5 ring_core_0_17_7_bn_power5 ++%define bn_scatter5 ring_core_0_17_7_bn_scatter5 ++%define bn_sqr8x_internal ring_core_0_17_7_bn_sqr8x_internal ++%define bn_sqrx8x_internal ring_core_0_17_7_bn_sqrx8x_internal ++%define bsaes_ctr32_encrypt_blocks ring_core_0_17_7_bsaes_ctr32_encrypt_blocks ++%define bssl_constant_time_test_conditional_memcpy ring_core_0_17_7_bssl_constant_time_test_conditional_memcpy ++%define bssl_constant_time_test_conditional_memxor ring_core_0_17_7_bssl_constant_time_test_conditional_memxor ++%define bssl_constant_time_test_main ring_core_0_17_7_bssl_constant_time_test_main ++%define chacha20_poly1305_open ring_core_0_17_7_chacha20_poly1305_open ++%define chacha20_poly1305_seal ring_core_0_17_7_chacha20_poly1305_seal ++%define fiat_curve25519_adx_mul ring_core_0_17_7_fiat_curve25519_adx_mul ++%define fiat_curve25519_adx_square ring_core_0_17_7_fiat_curve25519_adx_square ++%define gcm_ghash_avx ring_core_0_17_7_gcm_ghash_avx ++%define gcm_ghash_clmul ring_core_0_17_7_gcm_ghash_clmul ++%define gcm_ghash_neon ring_core_0_17_7_gcm_ghash_neon ++%define gcm_gmult_clmul ring_core_0_17_7_gcm_gmult_clmul ++%define gcm_gmult_neon ring_core_0_17_7_gcm_gmult_neon ++%define gcm_init_avx ring_core_0_17_7_gcm_init_avx ++%define gcm_init_clmul ring_core_0_17_7_gcm_init_clmul ++%define gcm_init_neon ring_core_0_17_7_gcm_init_neon ++%define k25519Precomp ring_core_0_17_7_k25519Precomp ++%define limbs_mul_add_limb ring_core_0_17_7_limbs_mul_add_limb ++%define little_endian_bytes_from_scalar ring_core_0_17_7_little_endian_bytes_from_scalar ++%define ecp_nistz256_neg ring_core_0_17_7_ecp_nistz256_neg ++%define ecp_nistz256_select_w5 ring_core_0_17_7_ecp_nistz256_select_w5 ++%define ecp_nistz256_select_w7 ring_core_0_17_7_ecp_nistz256_select_w7 ++%define p256_mul_mont ring_core_0_17_7_p256_mul_mont ++%define p256_point_add ring_core_0_17_7_p256_point_add ++%define p256_point_add_affine ring_core_0_17_7_p256_point_add_affine ++%define p256_point_double ring_core_0_17_7_p256_point_double ++%define p256_point_mul ring_core_0_17_7_p256_point_mul ++%define p256_point_mul_base ring_core_0_17_7_p256_point_mul_base ++%define p256_point_mul_base_vartime ring_core_0_17_7_p256_point_mul_base_vartime ++%define p256_scalar_mul_mont ring_core_0_17_7_p256_scalar_mul_mont ++%define p256_scalar_sqr_rep_mont ring_core_0_17_7_p256_scalar_sqr_rep_mont ++%define p256_sqr_mont ring_core_0_17_7_p256_sqr_mont ++%define p384_elem_div_by_2 ring_core_0_17_7_p384_elem_div_by_2 ++%define p384_elem_mul_mont ring_core_0_17_7_p384_elem_mul_mont ++%define p384_elem_neg ring_core_0_17_7_p384_elem_neg ++%define p384_elem_sub ring_core_0_17_7_p384_elem_sub ++%define p384_point_add ring_core_0_17_7_p384_point_add ++%define p384_point_double ring_core_0_17_7_p384_point_double ++%define p384_point_mul ring_core_0_17_7_p384_point_mul ++%define p384_scalar_mul_mont ring_core_0_17_7_p384_scalar_mul_mont ++%define openssl_poly1305_neon2_addmulmod ring_core_0_17_7_openssl_poly1305_neon2_addmulmod ++%define openssl_poly1305_neon2_blocks ring_core_0_17_7_openssl_poly1305_neon2_blocks ++%define sha256_block_data_order ring_core_0_17_7_sha256_block_data_order ++%define sha512_block_data_order ring_core_0_17_7_sha512_block_data_order ++%define vpaes_ctr32_encrypt_blocks ring_core_0_17_7_vpaes_ctr32_encrypt_blocks ++%define vpaes_encrypt ring_core_0_17_7_vpaes_encrypt ++%define vpaes_encrypt_key_to_bsaes ring_core_0_17_7_vpaes_encrypt_key_to_bsaes ++%define vpaes_set_encrypt_key ring_core_0_17_7_vpaes_set_encrypt_key ++%define x25519_NEON ring_core_0_17_7_x25519_NEON ++%define x25519_fe_invert ring_core_0_17_7_x25519_fe_invert ++%define x25519_fe_isnegative ring_core_0_17_7_x25519_fe_isnegative ++%define x25519_fe_mul_ttt ring_core_0_17_7_x25519_fe_mul_ttt ++%define x25519_fe_neg ring_core_0_17_7_x25519_fe_neg ++%define x25519_fe_tobytes ring_core_0_17_7_x25519_fe_tobytes ++%define x25519_ge_double_scalarmult_vartime ring_core_0_17_7_x25519_ge_double_scalarmult_vartime ++%define x25519_ge_frombytes_vartime ring_core_0_17_7_x25519_ge_frombytes_vartime ++%define x25519_ge_scalarmult_base ring_core_0_17_7_x25519_ge_scalarmult_base ++%define x25519_ge_scalarmult_base_adx ring_core_0_17_7_x25519_ge_scalarmult_base_adx ++%define x25519_public_from_private_generic_masked ring_core_0_17_7_x25519_public_from_private_generic_masked ++%define x25519_sc_mask ring_core_0_17_7_x25519_sc_mask ++%define x25519_sc_muladd ring_core_0_17_7_x25519_sc_muladd ++%define x25519_sc_reduce ring_core_0_17_7_x25519_sc_reduce ++%define x25519_scalar_mult_adx ring_core_0_17_7_x25519_scalar_mult_adx ++%define x25519_scalar_mult_generic_masked ring_core_0_17_7_x25519_scalar_mult_generic_masked ++ ++%endif ++%endif |