• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1diff --git a/ring_core_generated/prefix_symbols.h b/ring_core_generated/prefix_symbols.h
2new file mode 100644
3index 00000000..a0ee00a5
4--- /dev/null
5+++ b/ring_core_generated/prefix_symbols.h
6@@ -0,0 +1,118 @@
7+
8+#ifndef ring_core_generated_PREFIX_SYMBOLS_H
9+#define ring_core_generated_PREFIX_SYMBOLS_H
10+
11+#define ecp_nistz256_point_double p256_point_double
12+#define ecp_nistz256_point_add p256_point_add
13+#define ecp_nistz256_point_add_affine p256_point_add_affine
14+#define ecp_nistz256_ord_mul_mont p256_scalar_mul_mont
15+#define ecp_nistz256_ord_sqr_mont p256_scalar_sqr_rep_mont
16+#define ecp_nistz256_mul_mont p256_mul_mont
17+#define ecp_nistz256_sqr_mont p256_sqr_mont
18+#define CRYPTO_poly1305_finish ring_core_android_platform_CRYPTO_poly1305_finish
19+#define CRYPTO_poly1305_finish_neon ring_core_android_platform_CRYPTO_poly1305_finish_neon
20+#define CRYPTO_poly1305_init ring_core_android_platform_CRYPTO_poly1305_init
21+#define CRYPTO_poly1305_init_neon ring_core_android_platform_CRYPTO_poly1305_init_neon
22+#define CRYPTO_poly1305_update ring_core_android_platform_CRYPTO_poly1305_update
23+#define CRYPTO_poly1305_update_neon ring_core_android_platform_CRYPTO_poly1305_update_neon
24+#define ChaCha20_ctr32 ring_core_android_platform_ChaCha20_ctr32
25+#define LIMBS_add_mod ring_core_android_platform_LIMBS_add_mod
26+#define LIMBS_are_even ring_core_android_platform_LIMBS_are_even
27+#define LIMBS_are_zero ring_core_android_platform_LIMBS_are_zero
28+#define LIMBS_equal ring_core_android_platform_LIMBS_equal
29+#define LIMBS_equal_limb ring_core_android_platform_LIMBS_equal_limb
30+#define LIMBS_less_than ring_core_android_platform_LIMBS_less_than
31+#define LIMBS_less_than_limb ring_core_android_platform_LIMBS_less_than_limb
32+#define LIMBS_reduce_once ring_core_android_platform_LIMBS_reduce_once
33+#define LIMBS_select_512_32 ring_core_android_platform_LIMBS_select_512_32
34+#define LIMBS_shl_mod ring_core_android_platform_LIMBS_shl_mod
35+#define LIMBS_sub_mod ring_core_android_platform_LIMBS_sub_mod
36+#define LIMBS_window5_split_window ring_core_android_platform_LIMBS_window5_split_window
37+#define LIMBS_window5_unsplit_window ring_core_android_platform_LIMBS_window5_unsplit_window
38+#define LIMB_shr ring_core_android_platform_LIMB_shr
39+#define OPENSSL_armcap_P ring_core_android_platform_OPENSSL_armcap_P
40+#define OPENSSL_cpuid_setup ring_core_android_platform_OPENSSL_cpuid_setup
41+#define OPENSSL_ia32cap_P ring_core_android_platform_OPENSSL_ia32cap_P
42+#define OPENSSL_memcmp ring_core_android_platform_OPENSSL_memcmp
43+#define aes_hw_ctr32_encrypt_blocks ring_core_android_platform_aes_hw_ctr32_encrypt_blocks
44+#define aes_hw_encrypt ring_core_android_platform_aes_hw_encrypt
45+#define aes_hw_set_encrypt_key ring_core_android_platform_aes_hw_set_encrypt_key
46+#define aes_nohw_ctr32_encrypt_blocks ring_core_android_platform_aes_nohw_ctr32_encrypt_blocks
47+#define aes_nohw_encrypt ring_core_android_platform_aes_nohw_encrypt
48+#define aes_nohw_set_encrypt_key ring_core_android_platform_aes_nohw_set_encrypt_key
49+#define aesni_gcm_decrypt ring_core_android_platform_aesni_gcm_decrypt
50+#define aesni_gcm_encrypt ring_core_android_platform_aesni_gcm_encrypt
51+#define bn_from_montgomery_in_place ring_core_android_platform_bn_from_montgomery_in_place
52+#define bn_gather5 ring_core_android_platform_bn_gather5
53+#define bn_mul_mont ring_core_android_platform_bn_mul_mont
54+#define bn_mul_mont_gather5 ring_core_android_platform_bn_mul_mont_gather5
55+#define bn_neg_inv_mod_r_u64 ring_core_android_platform_bn_neg_inv_mod_r_u64
56+#define bn_power5 ring_core_android_platform_bn_power5
57+#define bn_scatter5 ring_core_android_platform_bn_scatter5
58+#define bn_sqr8x_internal ring_core_android_platform_bn_sqr8x_internal
59+#define bn_sqrx8x_internal ring_core_android_platform_bn_sqrx8x_internal
60+#define bsaes_ctr32_encrypt_blocks ring_core_android_platform_bsaes_ctr32_encrypt_blocks
61+#define bssl_constant_time_test_conditional_memcpy ring_core_android_platform_bssl_constant_time_test_conditional_memcpy
62+#define bssl_constant_time_test_conditional_memxor ring_core_android_platform_bssl_constant_time_test_conditional_memxor
63+#define bssl_constant_time_test_main ring_core_android_platform_bssl_constant_time_test_main
64+#define chacha20_poly1305_open ring_core_android_platform_chacha20_poly1305_open
65+#define chacha20_poly1305_seal ring_core_android_platform_chacha20_poly1305_seal
66+#define fiat_curve25519_adx_mul ring_core_android_platform_fiat_curve25519_adx_mul
67+#define fiat_curve25519_adx_square ring_core_android_platform_fiat_curve25519_adx_square
68+#define gcm_ghash_avx ring_core_android_platform_gcm_ghash_avx
69+#define gcm_ghash_clmul ring_core_android_platform_gcm_ghash_clmul
70+#define gcm_ghash_neon ring_core_android_platform_gcm_ghash_neon
71+#define gcm_gmult_clmul ring_core_android_platform_gcm_gmult_clmul
72+#define gcm_gmult_neon ring_core_android_platform_gcm_gmult_neon
73+#define gcm_init_avx ring_core_android_platform_gcm_init_avx
74+#define gcm_init_clmul ring_core_android_platform_gcm_init_clmul
75+#define gcm_init_neon ring_core_android_platform_gcm_init_neon
76+#define k25519Precomp ring_core_android_platform_k25519Precomp
77+#define limbs_mul_add_limb ring_core_android_platform_limbs_mul_add_limb
78+#define little_endian_bytes_from_scalar ring_core_android_platform_little_endian_bytes_from_scalar
79+#define ecp_nistz256_neg ring_core_android_platform_ecp_nistz256_neg
80+#define ecp_nistz256_select_w5 ring_core_android_platform_ecp_nistz256_select_w5
81+#define ecp_nistz256_select_w7 ring_core_android_platform_ecp_nistz256_select_w7
82+#define nistz384_point_add ring_core_android_platform_nistz384_point_add
83+#define nistz384_point_double ring_core_android_platform_nistz384_point_double
84+#define nistz384_point_mul ring_core_android_platform_nistz384_point_mul
85+#define p256_mul_mont ring_core_android_platform_p256_mul_mont
86+#define p256_point_add ring_core_android_platform_p256_point_add
87+#define p256_point_add_affine ring_core_android_platform_p256_point_add_affine
88+#define p256_point_double ring_core_android_platform_p256_point_double
89+#define p256_point_mul ring_core_android_platform_p256_point_mul
90+#define p256_point_mul_base ring_core_android_platform_p256_point_mul_base
91+#define p256_scalar_mul_mont ring_core_android_platform_p256_scalar_mul_mont
92+#define p256_scalar_sqr_rep_mont ring_core_android_platform_p256_scalar_sqr_rep_mont
93+#define p256_sqr_mont ring_core_android_platform_p256_sqr_mont
94+#define p384_elem_div_by_2 ring_core_android_platform_p384_elem_div_by_2
95+#define p384_elem_mul_mont ring_core_android_platform_p384_elem_mul_mont
96+#define p384_elem_neg ring_core_android_platform_p384_elem_neg
97+#define p384_elem_sub ring_core_android_platform_p384_elem_sub
98+#define p384_scalar_mul_mont ring_core_android_platform_p384_scalar_mul_mont
99+#define openssl_poly1305_neon2_addmulmod ring_core_android_platform_openssl_poly1305_neon2_addmulmod
100+#define openssl_poly1305_neon2_blocks ring_core_android_platform_openssl_poly1305_neon2_blocks
101+#define sha256_block_data_order ring_core_android_platform_sha256_block_data_order
102+#define sha512_block_data_order ring_core_android_platform_sha512_block_data_order
103+#define vpaes_ctr32_encrypt_blocks ring_core_android_platform_vpaes_ctr32_encrypt_blocks
104+#define vpaes_encrypt ring_core_android_platform_vpaes_encrypt
105+#define vpaes_encrypt_key_to_bsaes ring_core_android_platform_vpaes_encrypt_key_to_bsaes
106+#define vpaes_set_encrypt_key ring_core_android_platform_vpaes_set_encrypt_key
107+#define x25519_NEON ring_core_android_platform_x25519_NEON
108+#define x25519_fe_invert ring_core_android_platform_x25519_fe_invert
109+#define x25519_fe_isnegative ring_core_android_platform_x25519_fe_isnegative
110+#define x25519_fe_mul_ttt ring_core_android_platform_x25519_fe_mul_ttt
111+#define x25519_fe_neg ring_core_android_platform_x25519_fe_neg
112+#define x25519_fe_tobytes ring_core_android_platform_x25519_fe_tobytes
113+#define x25519_ge_double_scalarmult_vartime ring_core_android_platform_x25519_ge_double_scalarmult_vartime
114+#define x25519_ge_frombytes_vartime ring_core_android_platform_x25519_ge_frombytes_vartime
115+#define x25519_ge_scalarmult_base ring_core_android_platform_x25519_ge_scalarmult_base
116+#define x25519_ge_scalarmult_base_adx ring_core_android_platform_x25519_ge_scalarmult_base_adx
117+#define x25519_public_from_private_generic_masked ring_core_android_platform_x25519_public_from_private_generic_masked
118+#define x25519_sc_mask ring_core_android_platform_x25519_sc_mask
119+#define x25519_sc_muladd ring_core_android_platform_x25519_sc_muladd
120+#define x25519_sc_reduce ring_core_android_platform_x25519_sc_reduce
121+#define x25519_scalar_mult_adx ring_core_android_platform_x25519_scalar_mult_adx
122+#define x25519_scalar_mult_generic_masked ring_core_android_platform_x25519_scalar_mult_generic_masked
123+
124+#endif
125diff --git a/ring_core_generated/prefix_symbols_asm.h b/ring_core_generated/prefix_symbols_asm.h
126new file mode 100644
127index 00000000..e777e7de
128--- /dev/null
129+++ b/ring_core_generated/prefix_symbols_asm.h
130@@ -0,0 +1,234 @@
131+
132+#ifndef ring_core_generated_PREFIX_SYMBOLS_ASM_H
133+#define ring_core_generated_PREFIX_SYMBOLS_ASM_H
134+
135+#if defined(__APPLE__)
136+#define _ecp_nistz256_point_double _p256_point_double
137+#define _ecp_nistz256_point_add _p256_point_add
138+#define _ecp_nistz256_point_add_affine _p256_point_add_affine
139+#define _ecp_nistz256_ord_mul_mont _p256_scalar_mul_mont
140+#define _ecp_nistz256_ord_sqr_mont _p256_scalar_sqr_rep_mont
141+#define _ecp_nistz256_mul_mont _p256_mul_mont
142+#define _ecp_nistz256_sqr_mont _p256_sqr_mont
143+#define _CRYPTO_poly1305_finish _ring_core_android_platform_CRYPTO_poly1305_finish
144+#define _CRYPTO_poly1305_finish_neon _ring_core_android_platform_CRYPTO_poly1305_finish_neon
145+#define _CRYPTO_poly1305_init _ring_core_android_platform_CRYPTO_poly1305_init
146+#define _CRYPTO_poly1305_init_neon _ring_core_android_platform_CRYPTO_poly1305_init_neon
147+#define _CRYPTO_poly1305_update _ring_core_android_platform_CRYPTO_poly1305_update
148+#define _CRYPTO_poly1305_update_neon _ring_core_android_platform_CRYPTO_poly1305_update_neon
149+#define _ChaCha20_ctr32 _ring_core_android_platform_ChaCha20_ctr32
150+#define _LIMBS_add_mod _ring_core_android_platform_LIMBS_add_mod
151+#define _LIMBS_are_even _ring_core_android_platform_LIMBS_are_even
152+#define _LIMBS_are_zero _ring_core_android_platform_LIMBS_are_zero
153+#define _LIMBS_equal _ring_core_android_platform_LIMBS_equal
154+#define _LIMBS_equal_limb _ring_core_android_platform_LIMBS_equal_limb
155+#define _LIMBS_less_than _ring_core_android_platform_LIMBS_less_than
156+#define _LIMBS_less_than_limb _ring_core_android_platform_LIMBS_less_than_limb
157+#define _LIMBS_reduce_once _ring_core_android_platform_LIMBS_reduce_once
158+#define _LIMBS_select_512_32 _ring_core_android_platform_LIMBS_select_512_32
159+#define _LIMBS_shl_mod _ring_core_android_platform_LIMBS_shl_mod
160+#define _LIMBS_sub_mod _ring_core_android_platform_LIMBS_sub_mod
161+#define _LIMBS_window5_split_window _ring_core_android_platform_LIMBS_window5_split_window
162+#define _LIMBS_window5_unsplit_window _ring_core_android_platform_LIMBS_window5_unsplit_window
163+#define _LIMB_shr _ring_core_android_platform_LIMB_shr
164+#define _OPENSSL_armcap_P _ring_core_android_platform_OPENSSL_armcap_P
165+#define _OPENSSL_cpuid_setup _ring_core_android_platform_OPENSSL_cpuid_setup
166+#define _OPENSSL_ia32cap_P _ring_core_android_platform_OPENSSL_ia32cap_P
167+#define _OPENSSL_memcmp _ring_core_android_platform_OPENSSL_memcmp
168+#define _aes_hw_ctr32_encrypt_blocks _ring_core_android_platform_aes_hw_ctr32_encrypt_blocks
169+#define _aes_hw_encrypt _ring_core_android_platform_aes_hw_encrypt
170+#define _aes_hw_set_encrypt_key _ring_core_android_platform_aes_hw_set_encrypt_key
171+#define _aes_nohw_ctr32_encrypt_blocks _ring_core_android_platform_aes_nohw_ctr32_encrypt_blocks
172+#define _aes_nohw_encrypt _ring_core_android_platform_aes_nohw_encrypt
173+#define _aes_nohw_set_encrypt_key _ring_core_android_platform_aes_nohw_set_encrypt_key
174+#define _aesni_gcm_decrypt _ring_core_android_platform_aesni_gcm_decrypt
175+#define _aesni_gcm_encrypt _ring_core_android_platform_aesni_gcm_encrypt
176+#define _bn_from_montgomery_in_place _ring_core_android_platform_bn_from_montgomery_in_place
177+#define _bn_gather5 _ring_core_android_platform_bn_gather5
178+#define _bn_mul_mont _ring_core_android_platform_bn_mul_mont
179+#define _bn_mul_mont_gather5 _ring_core_android_platform_bn_mul_mont_gather5
180+#define _bn_neg_inv_mod_r_u64 _ring_core_android_platform_bn_neg_inv_mod_r_u64
181+#define _bn_power5 _ring_core_android_platform_bn_power5
182+#define _bn_scatter5 _ring_core_android_platform_bn_scatter5
183+#define _bn_sqr8x_internal _ring_core_android_platform_bn_sqr8x_internal
184+#define _bn_sqrx8x_internal _ring_core_android_platform_bn_sqrx8x_internal
185+#define _bsaes_ctr32_encrypt_blocks _ring_core_android_platform_bsaes_ctr32_encrypt_blocks
186+#define _bssl_constant_time_test_conditional_memcpy _ring_core_android_platform_bssl_constant_time_test_conditional_memcpy
187+#define _bssl_constant_time_test_conditional_memxor _ring_core_android_platform_bssl_constant_time_test_conditional_memxor
188+#define _bssl_constant_time_test_main _ring_core_android_platform_bssl_constant_time_test_main
189+#define _chacha20_poly1305_open _ring_core_android_platform_chacha20_poly1305_open
190+#define _chacha20_poly1305_seal _ring_core_android_platform_chacha20_poly1305_seal
191+#define _fiat_curve25519_adx_mul _ring_core_android_platform_fiat_curve25519_adx_mul
192+#define _fiat_curve25519_adx_square _ring_core_android_platform_fiat_curve25519_adx_square
193+#define _gcm_ghash_avx _ring_core_android_platform_gcm_ghash_avx
194+#define _gcm_ghash_clmul _ring_core_android_platform_gcm_ghash_clmul
195+#define _gcm_ghash_neon _ring_core_android_platform_gcm_ghash_neon
196+#define _gcm_gmult_clmul _ring_core_android_platform_gcm_gmult_clmul
197+#define _gcm_gmult_neon _ring_core_android_platform_gcm_gmult_neon
198+#define _gcm_init_avx _ring_core_android_platform_gcm_init_avx
199+#define _gcm_init_clmul _ring_core_android_platform_gcm_init_clmul
200+#define _gcm_init_neon _ring_core_android_platform_gcm_init_neon
201+#define _k25519Precomp _ring_core_android_platform_k25519Precomp
202+#define _limbs_mul_add_limb _ring_core_android_platform_limbs_mul_add_limb
203+#define _little_endian_bytes_from_scalar _ring_core_android_platform_little_endian_bytes_from_scalar
204+#define _ecp_nistz256_neg _ring_core_android_platform_ecp_nistz256_neg
205+#define _ecp_nistz256_select_w5 _ring_core_android_platform_ecp_nistz256_select_w5
206+#define _ecp_nistz256_select_w7 _ring_core_android_platform_ecp_nistz256_select_w7
207+#define _nistz384_point_add _ring_core_android_platform_nistz384_point_add
208+#define _nistz384_point_double _ring_core_android_platform_nistz384_point_double
209+#define _nistz384_point_mul _ring_core_android_platform_nistz384_point_mul
210+#define _p256_mul_mont _ring_core_android_platform_p256_mul_mont
211+#define _p256_point_add _ring_core_android_platform_p256_point_add
212+#define _p256_point_add_affine _ring_core_android_platform_p256_point_add_affine
213+#define _p256_point_double _ring_core_android_platform_p256_point_double
214+#define _p256_point_mul _ring_core_android_platform_p256_point_mul
215+#define _p256_point_mul_base _ring_core_android_platform_p256_point_mul_base
216+#define _p256_scalar_mul_mont _ring_core_android_platform_p256_scalar_mul_mont
217+#define _p256_scalar_sqr_rep_mont _ring_core_android_platform_p256_scalar_sqr_rep_mont
218+#define _p256_sqr_mont _ring_core_android_platform_p256_sqr_mont
219+#define _p384_elem_div_by_2 _ring_core_android_platform_p384_elem_div_by_2
220+#define _p384_elem_mul_mont _ring_core_android_platform_p384_elem_mul_mont
221+#define _p384_elem_neg _ring_core_android_platform_p384_elem_neg
222+#define _p384_elem_sub _ring_core_android_platform_p384_elem_sub
223+#define _p384_scalar_mul_mont _ring_core_android_platform_p384_scalar_mul_mont
224+#define _openssl_poly1305_neon2_addmulmod _ring_core_android_platform_openssl_poly1305_neon2_addmulmod
225+#define _openssl_poly1305_neon2_blocks _ring_core_android_platform_openssl_poly1305_neon2_blocks
226+#define _sha256_block_data_order _ring_core_android_platform_sha256_block_data_order
227+#define _sha512_block_data_order _ring_core_android_platform_sha512_block_data_order
228+#define _vpaes_ctr32_encrypt_blocks _ring_core_android_platform_vpaes_ctr32_encrypt_blocks
229+#define _vpaes_encrypt _ring_core_android_platform_vpaes_encrypt
230+#define _vpaes_encrypt_key_to_bsaes _ring_core_android_platform_vpaes_encrypt_key_to_bsaes
231+#define _vpaes_set_encrypt_key _ring_core_android_platform_vpaes_set_encrypt_key
232+#define _x25519_NEON _ring_core_android_platform_x25519_NEON
233+#define _x25519_fe_invert _ring_core_android_platform_x25519_fe_invert
234+#define _x25519_fe_isnegative _ring_core_android_platform_x25519_fe_isnegative
235+#define _x25519_fe_mul_ttt _ring_core_android_platform_x25519_fe_mul_ttt
236+#define _x25519_fe_neg _ring_core_android_platform_x25519_fe_neg
237+#define _x25519_fe_tobytes _ring_core_android_platform_x25519_fe_tobytes
238+#define _x25519_ge_double_scalarmult_vartime _ring_core_android_platform_x25519_ge_double_scalarmult_vartime
239+#define _x25519_ge_frombytes_vartime _ring_core_android_platform_x25519_ge_frombytes_vartime
240+#define _x25519_ge_scalarmult_base _ring_core_android_platform_x25519_ge_scalarmult_base
241+#define _x25519_ge_scalarmult_base_adx _ring_core_android_platform_x25519_ge_scalarmult_base_adx
242+#define _x25519_public_from_private_generic_masked _ring_core_android_platform_x25519_public_from_private_generic_masked
243+#define _x25519_sc_mask _ring_core_android_platform_x25519_sc_mask
244+#define _x25519_sc_muladd _ring_core_android_platform_x25519_sc_muladd
245+#define _x25519_sc_reduce _ring_core_android_platform_x25519_sc_reduce
246+#define _x25519_scalar_mult_adx _ring_core_android_platform_x25519_scalar_mult_adx
247+#define _x25519_scalar_mult_generic_masked _ring_core_android_platform_x25519_scalar_mult_generic_masked
248+
249+#else
250+#define ecp_nistz256_point_double p256_point_double
251+#define ecp_nistz256_point_add p256_point_add
252+#define ecp_nistz256_point_add_affine p256_point_add_affine
253+#define ecp_nistz256_ord_mul_mont p256_scalar_mul_mont
254+#define ecp_nistz256_ord_sqr_mont p256_scalar_sqr_rep_mont
255+#define ecp_nistz256_mul_mont p256_mul_mont
256+#define ecp_nistz256_sqr_mont p256_sqr_mont
257+#define CRYPTO_poly1305_finish ring_core_android_platform_CRYPTO_poly1305_finish
258+#define CRYPTO_poly1305_finish_neon ring_core_android_platform_CRYPTO_poly1305_finish_neon
259+#define CRYPTO_poly1305_init ring_core_android_platform_CRYPTO_poly1305_init
260+#define CRYPTO_poly1305_init_neon ring_core_android_platform_CRYPTO_poly1305_init_neon
261+#define CRYPTO_poly1305_update ring_core_android_platform_CRYPTO_poly1305_update
262+#define CRYPTO_poly1305_update_neon ring_core_android_platform_CRYPTO_poly1305_update_neon
263+#define ChaCha20_ctr32 ring_core_android_platform_ChaCha20_ctr32
264+#define LIMBS_add_mod ring_core_android_platform_LIMBS_add_mod
265+#define LIMBS_are_even ring_core_android_platform_LIMBS_are_even
266+#define LIMBS_are_zero ring_core_android_platform_LIMBS_are_zero
267+#define LIMBS_equal ring_core_android_platform_LIMBS_equal
268+#define LIMBS_equal_limb ring_core_android_platform_LIMBS_equal_limb
269+#define LIMBS_less_than ring_core_android_platform_LIMBS_less_than
270+#define LIMBS_less_than_limb ring_core_android_platform_LIMBS_less_than_limb
271+#define LIMBS_reduce_once ring_core_android_platform_LIMBS_reduce_once
272+#define LIMBS_select_512_32 ring_core_android_platform_LIMBS_select_512_32
273+#define LIMBS_shl_mod ring_core_android_platform_LIMBS_shl_mod
274+#define LIMBS_sub_mod ring_core_android_platform_LIMBS_sub_mod
275+#define LIMBS_window5_split_window ring_core_android_platform_LIMBS_window5_split_window
276+#define LIMBS_window5_unsplit_window ring_core_android_platform_LIMBS_window5_unsplit_window
277+#define LIMB_shr ring_core_android_platform_LIMB_shr
278+#define OPENSSL_armcap_P ring_core_android_platform_OPENSSL_armcap_P
279+#define OPENSSL_cpuid_setup ring_core_android_platform_OPENSSL_cpuid_setup
280+#define OPENSSL_ia32cap_P ring_core_android_platform_OPENSSL_ia32cap_P
281+#define OPENSSL_memcmp ring_core_android_platform_OPENSSL_memcmp
282+#define aes_hw_ctr32_encrypt_blocks ring_core_android_platform_aes_hw_ctr32_encrypt_blocks
283+#define aes_hw_encrypt ring_core_android_platform_aes_hw_encrypt
284+#define aes_hw_set_encrypt_key ring_core_android_platform_aes_hw_set_encrypt_key
285+#define aes_nohw_ctr32_encrypt_blocks ring_core_android_platform_aes_nohw_ctr32_encrypt_blocks
286+#define aes_nohw_encrypt ring_core_android_platform_aes_nohw_encrypt
287+#define aes_nohw_set_encrypt_key ring_core_android_platform_aes_nohw_set_encrypt_key
288+#define aesni_gcm_decrypt ring_core_android_platform_aesni_gcm_decrypt
289+#define aesni_gcm_encrypt ring_core_android_platform_aesni_gcm_encrypt
290+#define bn_from_montgomery_in_place ring_core_android_platform_bn_from_montgomery_in_place
291+#define bn_gather5 ring_core_android_platform_bn_gather5
292+#define bn_mul_mont ring_core_android_platform_bn_mul_mont
293+#define bn_mul_mont_gather5 ring_core_android_platform_bn_mul_mont_gather5
294+#define bn_neg_inv_mod_r_u64 ring_core_android_platform_bn_neg_inv_mod_r_u64
295+#define bn_power5 ring_core_android_platform_bn_power5
296+#define bn_scatter5 ring_core_android_platform_bn_scatter5
297+#define bn_sqr8x_internal ring_core_android_platform_bn_sqr8x_internal
298+#define bn_sqrx8x_internal ring_core_android_platform_bn_sqrx8x_internal
299+#define bsaes_ctr32_encrypt_blocks ring_core_android_platform_bsaes_ctr32_encrypt_blocks
300+#define bssl_constant_time_test_conditional_memcpy ring_core_android_platform_bssl_constant_time_test_conditional_memcpy
301+#define bssl_constant_time_test_conditional_memxor ring_core_android_platform_bssl_constant_time_test_conditional_memxor
302+#define bssl_constant_time_test_main ring_core_android_platform_bssl_constant_time_test_main
303+#define chacha20_poly1305_open ring_core_android_platform_chacha20_poly1305_open
304+#define chacha20_poly1305_seal ring_core_android_platform_chacha20_poly1305_seal
305+#define fiat_curve25519_adx_mul ring_core_android_platform_fiat_curve25519_adx_mul
306+#define fiat_curve25519_adx_square ring_core_android_platform_fiat_curve25519_adx_square
307+#define gcm_ghash_avx ring_core_android_platform_gcm_ghash_avx
308+#define gcm_ghash_clmul ring_core_android_platform_gcm_ghash_clmul
309+#define gcm_ghash_neon ring_core_android_platform_gcm_ghash_neon
310+#define gcm_gmult_clmul ring_core_android_platform_gcm_gmult_clmul
311+#define gcm_gmult_neon ring_core_android_platform_gcm_gmult_neon
312+#define gcm_init_avx ring_core_android_platform_gcm_init_avx
313+#define gcm_init_clmul ring_core_android_platform_gcm_init_clmul
314+#define gcm_init_neon ring_core_android_platform_gcm_init_neon
315+#define k25519Precomp ring_core_android_platform_k25519Precomp
316+#define limbs_mul_add_limb ring_core_android_platform_limbs_mul_add_limb
317+#define little_endian_bytes_from_scalar ring_core_android_platform_little_endian_bytes_from_scalar
318+#define ecp_nistz256_neg ring_core_android_platform_ecp_nistz256_neg
319+#define ecp_nistz256_select_w5 ring_core_android_platform_ecp_nistz256_select_w5
320+#define ecp_nistz256_select_w7 ring_core_android_platform_ecp_nistz256_select_w7
321+#define nistz384_point_add ring_core_android_platform_nistz384_point_add
322+#define nistz384_point_double ring_core_android_platform_nistz384_point_double
323+#define nistz384_point_mul ring_core_android_platform_nistz384_point_mul
324+#define p256_mul_mont ring_core_android_platform_p256_mul_mont
325+#define p256_point_add ring_core_android_platform_p256_point_add
326+#define p256_point_add_affine ring_core_android_platform_p256_point_add_affine
327+#define p256_point_double ring_core_android_platform_p256_point_double
328+#define p256_point_mul ring_core_android_platform_p256_point_mul
329+#define p256_point_mul_base ring_core_android_platform_p256_point_mul_base
330+#define p256_scalar_mul_mont ring_core_android_platform_p256_scalar_mul_mont
331+#define p256_scalar_sqr_rep_mont ring_core_android_platform_p256_scalar_sqr_rep_mont
332+#define p256_sqr_mont ring_core_android_platform_p256_sqr_mont
333+#define p384_elem_div_by_2 ring_core_android_platform_p384_elem_div_by_2
334+#define p384_elem_mul_mont ring_core_android_platform_p384_elem_mul_mont
335+#define p384_elem_neg ring_core_android_platform_p384_elem_neg
336+#define p384_elem_sub ring_core_android_platform_p384_elem_sub
337+#define p384_scalar_mul_mont ring_core_android_platform_p384_scalar_mul_mont
338+#define openssl_poly1305_neon2_addmulmod ring_core_android_platform_openssl_poly1305_neon2_addmulmod
339+#define openssl_poly1305_neon2_blocks ring_core_android_platform_openssl_poly1305_neon2_blocks
340+#define sha256_block_data_order ring_core_android_platform_sha256_block_data_order
341+#define sha512_block_data_order ring_core_android_platform_sha512_block_data_order
342+#define vpaes_ctr32_encrypt_blocks ring_core_android_platform_vpaes_ctr32_encrypt_blocks
343+#define vpaes_encrypt ring_core_android_platform_vpaes_encrypt
344+#define vpaes_encrypt_key_to_bsaes ring_core_android_platform_vpaes_encrypt_key_to_bsaes
345+#define vpaes_set_encrypt_key ring_core_android_platform_vpaes_set_encrypt_key
346+#define x25519_NEON ring_core_android_platform_x25519_NEON
347+#define x25519_fe_invert ring_core_android_platform_x25519_fe_invert
348+#define x25519_fe_isnegative ring_core_android_platform_x25519_fe_isnegative
349+#define x25519_fe_mul_ttt ring_core_android_platform_x25519_fe_mul_ttt
350+#define x25519_fe_neg ring_core_android_platform_x25519_fe_neg
351+#define x25519_fe_tobytes ring_core_android_platform_x25519_fe_tobytes
352+#define x25519_ge_double_scalarmult_vartime ring_core_android_platform_x25519_ge_double_scalarmult_vartime
353+#define x25519_ge_frombytes_vartime ring_core_android_platform_x25519_ge_frombytes_vartime
354+#define x25519_ge_scalarmult_base ring_core_android_platform_x25519_ge_scalarmult_base
355+#define x25519_ge_scalarmult_base_adx ring_core_android_platform_x25519_ge_scalarmult_base_adx
356+#define x25519_public_from_private_generic_masked ring_core_android_platform_x25519_public_from_private_generic_masked
357+#define x25519_sc_mask ring_core_android_platform_x25519_sc_mask
358+#define x25519_sc_muladd ring_core_android_platform_x25519_sc_muladd
359+#define x25519_sc_reduce ring_core_android_platform_x25519_sc_reduce
360+#define x25519_scalar_mult_adx ring_core_android_platform_x25519_scalar_mult_adx
361+#define x25519_scalar_mult_generic_masked ring_core_android_platform_x25519_scalar_mult_generic_masked
362+
363+#endif
364+#endif
365diff --git a/ring_core_generated/prefix_symbols_nasm.inc b/ring_core_generated/prefix_symbols_nasm.inc
366new file mode 100644
367index 00000000..35a7590b
368--- /dev/null
369+++ b/ring_core_generated/prefix_symbols_nasm.inc
370@@ -0,0 +1,234 @@
371+
372+%ifndef ring_core_generated_PREFIX_SYMBOLS_NASM_INC
373+%define ring_core_generated_PREFIX_SYMBOLS_NASM_INC
374+
375+%ifidn __OUTPUT_FORMAT__,win32
376+%define _ecp_nistz256_point_double _p256_point_double
377+%define _ecp_nistz256_point_add _p256_point_add
378+%define _ecp_nistz256_point_add_affine _p256_point_add_affine
379+%define _ecp_nistz256_ord_mul_mont _p256_scalar_mul_mont
380+%define _ecp_nistz256_ord_sqr_mont _p256_scalar_sqr_rep_mont
381+%define _ecp_nistz256_mul_mont _p256_mul_mont
382+%define _ecp_nistz256_sqr_mont _p256_sqr_mont
383+%define _CRYPTO_poly1305_finish _ring_core_android_platform_CRYPTO_poly1305_finish
384+%define _CRYPTO_poly1305_finish_neon _ring_core_android_platform_CRYPTO_poly1305_finish_neon
385+%define _CRYPTO_poly1305_init _ring_core_android_platform_CRYPTO_poly1305_init
386+%define _CRYPTO_poly1305_init_neon _ring_core_android_platform_CRYPTO_poly1305_init_neon
387+%define _CRYPTO_poly1305_update _ring_core_android_platform_CRYPTO_poly1305_update
388+%define _CRYPTO_poly1305_update_neon _ring_core_android_platform_CRYPTO_poly1305_update_neon
389+%define _ChaCha20_ctr32 _ring_core_android_platform_ChaCha20_ctr32
390+%define _LIMBS_add_mod _ring_core_android_platform_LIMBS_add_mod
391+%define _LIMBS_are_even _ring_core_android_platform_LIMBS_are_even
392+%define _LIMBS_are_zero _ring_core_android_platform_LIMBS_are_zero
393+%define _LIMBS_equal _ring_core_android_platform_LIMBS_equal
394+%define _LIMBS_equal_limb _ring_core_android_platform_LIMBS_equal_limb
395+%define _LIMBS_less_than _ring_core_android_platform_LIMBS_less_than
396+%define _LIMBS_less_than_limb _ring_core_android_platform_LIMBS_less_than_limb
397+%define _LIMBS_reduce_once _ring_core_android_platform_LIMBS_reduce_once
398+%define _LIMBS_select_512_32 _ring_core_android_platform_LIMBS_select_512_32
399+%define _LIMBS_shl_mod _ring_core_android_platform_LIMBS_shl_mod
400+%define _LIMBS_sub_mod _ring_core_android_platform_LIMBS_sub_mod
401+%define _LIMBS_window5_split_window _ring_core_android_platform_LIMBS_window5_split_window
402+%define _LIMBS_window5_unsplit_window _ring_core_android_platform_LIMBS_window5_unsplit_window
403+%define _LIMB_shr _ring_core_android_platform_LIMB_shr
404+%define _OPENSSL_armcap_P _ring_core_android_platform_OPENSSL_armcap_P
405+%define _OPENSSL_cpuid_setup _ring_core_android_platform_OPENSSL_cpuid_setup
406+%define _OPENSSL_ia32cap_P _ring_core_android_platform_OPENSSL_ia32cap_P
407+%define _OPENSSL_memcmp _ring_core_android_platform_OPENSSL_memcmp
408+%define _aes_hw_ctr32_encrypt_blocks _ring_core_android_platform_aes_hw_ctr32_encrypt_blocks
409+%define _aes_hw_encrypt _ring_core_android_platform_aes_hw_encrypt
410+%define _aes_hw_set_encrypt_key _ring_core_android_platform_aes_hw_set_encrypt_key
411+%define _aes_nohw_ctr32_encrypt_blocks _ring_core_android_platform_aes_nohw_ctr32_encrypt_blocks
412+%define _aes_nohw_encrypt _ring_core_android_platform_aes_nohw_encrypt
413+%define _aes_nohw_set_encrypt_key _ring_core_android_platform_aes_nohw_set_encrypt_key
414+%define _aesni_gcm_decrypt _ring_core_android_platform_aesni_gcm_decrypt
415+%define _aesni_gcm_encrypt _ring_core_android_platform_aesni_gcm_encrypt
416+%define _bn_from_montgomery_in_place _ring_core_android_platform_bn_from_montgomery_in_place
417+%define _bn_gather5 _ring_core_android_platform_bn_gather5
418+%define _bn_mul_mont _ring_core_android_platform_bn_mul_mont
419+%define _bn_mul_mont_gather5 _ring_core_android_platform_bn_mul_mont_gather5
420+%define _bn_neg_inv_mod_r_u64 _ring_core_android_platform_bn_neg_inv_mod_r_u64
421+%define _bn_power5 _ring_core_android_platform_bn_power5
422+%define _bn_scatter5 _ring_core_android_platform_bn_scatter5
423+%define _bn_sqr8x_internal _ring_core_android_platform_bn_sqr8x_internal
424+%define _bn_sqrx8x_internal _ring_core_android_platform_bn_sqrx8x_internal
425+%define _bsaes_ctr32_encrypt_blocks _ring_core_android_platform_bsaes_ctr32_encrypt_blocks
426+%define _bssl_constant_time_test_conditional_memcpy _ring_core_android_platform_bssl_constant_time_test_conditional_memcpy
427+%define _bssl_constant_time_test_conditional_memxor _ring_core_android_platform_bssl_constant_time_test_conditional_memxor
428+%define _bssl_constant_time_test_main _ring_core_android_platform_bssl_constant_time_test_main
429+%define _chacha20_poly1305_open _ring_core_android_platform_chacha20_poly1305_open
430+%define _chacha20_poly1305_seal _ring_core_android_platform_chacha20_poly1305_seal
431+%define _fiat_curve25519_adx_mul _ring_core_android_platform_fiat_curve25519_adx_mul
432+%define _fiat_curve25519_adx_square _ring_core_android_platform_fiat_curve25519_adx_square
433+%define _gcm_ghash_avx _ring_core_android_platform_gcm_ghash_avx
434+%define _gcm_ghash_clmul _ring_core_android_platform_gcm_ghash_clmul
435+%define _gcm_ghash_neon _ring_core_android_platform_gcm_ghash_neon
436+%define _gcm_gmult_clmul _ring_core_android_platform_gcm_gmult_clmul
437+%define _gcm_gmult_neon _ring_core_android_platform_gcm_gmult_neon
438+%define _gcm_init_avx _ring_core_android_platform_gcm_init_avx
439+%define _gcm_init_clmul _ring_core_android_platform_gcm_init_clmul
440+%define _gcm_init_neon _ring_core_android_platform_gcm_init_neon
441+%define _k25519Precomp _ring_core_android_platform_k25519Precomp
442+%define _limbs_mul_add_limb _ring_core_android_platform_limbs_mul_add_limb
443+%define _little_endian_bytes_from_scalar _ring_core_android_platform_little_endian_bytes_from_scalar
444+%define _ecp_nistz256_neg _ring_core_android_platform_ecp_nistz256_neg
445+%define _ecp_nistz256_select_w5 _ring_core_android_platform_ecp_nistz256_select_w5
446+%define _ecp_nistz256_select_w7 _ring_core_android_platform_ecp_nistz256_select_w7
447+%define _nistz384_point_add _ring_core_android_platform_nistz384_point_add
448+%define _nistz384_point_double _ring_core_android_platform_nistz384_point_double
449+%define _nistz384_point_mul _ring_core_android_platform_nistz384_point_mul
450+%define _p256_mul_mont _ring_core_android_platform_p256_mul_mont
451+%define _p256_point_add _ring_core_android_platform_p256_point_add
452+%define _p256_point_add_affine _ring_core_android_platform_p256_point_add_affine
453+%define _p256_point_double _ring_core_android_platform_p256_point_double
454+%define _p256_point_mul _ring_core_android_platform_p256_point_mul
455+%define _p256_point_mul_base _ring_core_android_platform_p256_point_mul_base
456+%define _p256_scalar_mul_mont _ring_core_android_platform_p256_scalar_mul_mont
457+%define _p256_scalar_sqr_rep_mont _ring_core_android_platform_p256_scalar_sqr_rep_mont
458+%define _p256_sqr_mont _ring_core_android_platform_p256_sqr_mont
459+%define _p384_elem_div_by_2 _ring_core_android_platform_p384_elem_div_by_2
460+%define _p384_elem_mul_mont _ring_core_android_platform_p384_elem_mul_mont
461+%define _p384_elem_neg _ring_core_android_platform_p384_elem_neg
462+%define _p384_elem_sub _ring_core_android_platform_p384_elem_sub
463+%define _p384_scalar_mul_mont _ring_core_android_platform_p384_scalar_mul_mont
464+%define _openssl_poly1305_neon2_addmulmod _ring_core_android_platform_openssl_poly1305_neon2_addmulmod
465+%define _openssl_poly1305_neon2_blocks _ring_core_android_platform_openssl_poly1305_neon2_blocks
466+%define _sha256_block_data_order _ring_core_android_platform_sha256_block_data_order
467+%define _sha512_block_data_order _ring_core_android_platform_sha512_block_data_order
468+%define _vpaes_ctr32_encrypt_blocks _ring_core_android_platform_vpaes_ctr32_encrypt_blocks
469+%define _vpaes_encrypt _ring_core_android_platform_vpaes_encrypt
470+%define _vpaes_encrypt_key_to_bsaes _ring_core_android_platform_vpaes_encrypt_key_to_bsaes
471+%define _vpaes_set_encrypt_key _ring_core_android_platform_vpaes_set_encrypt_key
472+%define _x25519_NEON _ring_core_android_platform_x25519_NEON
473+%define _x25519_fe_invert _ring_core_android_platform_x25519_fe_invert
474+%define _x25519_fe_isnegative _ring_core_android_platform_x25519_fe_isnegative
475+%define _x25519_fe_mul_ttt _ring_core_android_platform_x25519_fe_mul_ttt
476+%define _x25519_fe_neg _ring_core_android_platform_x25519_fe_neg
477+%define _x25519_fe_tobytes _ring_core_android_platform_x25519_fe_tobytes
478+%define _x25519_ge_double_scalarmult_vartime _ring_core_android_platform_x25519_ge_double_scalarmult_vartime
479+%define _x25519_ge_frombytes_vartime _ring_core_android_platform_x25519_ge_frombytes_vartime
480+%define _x25519_ge_scalarmult_base _ring_core_android_platform_x25519_ge_scalarmult_base
481+%define _x25519_ge_scalarmult_base_adx _ring_core_android_platform_x25519_ge_scalarmult_base_adx
482+%define _x25519_public_from_private_generic_masked _ring_core_android_platform_x25519_public_from_private_generic_masked
483+%define _x25519_sc_mask _ring_core_android_platform_x25519_sc_mask
484+%define _x25519_sc_muladd _ring_core_android_platform_x25519_sc_muladd
485+%define _x25519_sc_reduce _ring_core_android_platform_x25519_sc_reduce
486+%define _x25519_scalar_mult_adx _ring_core_android_platform_x25519_scalar_mult_adx
487+%define _x25519_scalar_mult_generic_masked _ring_core_android_platform_x25519_scalar_mult_generic_masked
488+
489+%else
490+%define ecp_nistz256_point_double p256_point_double
491+%define ecp_nistz256_point_add p256_point_add
492+%define ecp_nistz256_point_add_affine p256_point_add_affine
493+%define ecp_nistz256_ord_mul_mont p256_scalar_mul_mont
494+%define ecp_nistz256_ord_sqr_mont p256_scalar_sqr_rep_mont
495+%define ecp_nistz256_mul_mont p256_mul_mont
496+%define ecp_nistz256_sqr_mont p256_sqr_mont
497+%define CRYPTO_poly1305_finish ring_core_android_platform_CRYPTO_poly1305_finish
498+%define CRYPTO_poly1305_finish_neon ring_core_android_platform_CRYPTO_poly1305_finish_neon
499+%define CRYPTO_poly1305_init ring_core_android_platform_CRYPTO_poly1305_init
500+%define CRYPTO_poly1305_init_neon ring_core_android_platform_CRYPTO_poly1305_init_neon
501+%define CRYPTO_poly1305_update ring_core_android_platform_CRYPTO_poly1305_update
502+%define CRYPTO_poly1305_update_neon ring_core_android_platform_CRYPTO_poly1305_update_neon
503+%define ChaCha20_ctr32 ring_core_android_platform_ChaCha20_ctr32
504+%define LIMBS_add_mod ring_core_android_platform_LIMBS_add_mod
505+%define LIMBS_are_even ring_core_android_platform_LIMBS_are_even
506+%define LIMBS_are_zero ring_core_android_platform_LIMBS_are_zero
507+%define LIMBS_equal ring_core_android_platform_LIMBS_equal
508+%define LIMBS_equal_limb ring_core_android_platform_LIMBS_equal_limb
509+%define LIMBS_less_than ring_core_android_platform_LIMBS_less_than
510+%define LIMBS_less_than_limb ring_core_android_platform_LIMBS_less_than_limb
511+%define LIMBS_reduce_once ring_core_android_platform_LIMBS_reduce_once
512+%define LIMBS_select_512_32 ring_core_android_platform_LIMBS_select_512_32
513+%define LIMBS_shl_mod ring_core_android_platform_LIMBS_shl_mod
514+%define LIMBS_sub_mod ring_core_android_platform_LIMBS_sub_mod
515+%define LIMBS_window5_split_window ring_core_android_platform_LIMBS_window5_split_window
516+%define LIMBS_window5_unsplit_window ring_core_android_platform_LIMBS_window5_unsplit_window
517+%define LIMB_shr ring_core_android_platform_LIMB_shr
518+%define OPENSSL_armcap_P ring_core_android_platform_OPENSSL_armcap_P
519+%define OPENSSL_cpuid_setup ring_core_android_platform_OPENSSL_cpuid_setup
520+%define OPENSSL_ia32cap_P ring_core_android_platform_OPENSSL_ia32cap_P
521+%define OPENSSL_memcmp ring_core_android_platform_OPENSSL_memcmp
522+%define aes_hw_ctr32_encrypt_blocks ring_core_android_platform_aes_hw_ctr32_encrypt_blocks
523+%define aes_hw_encrypt ring_core_android_platform_aes_hw_encrypt
524+%define aes_hw_set_encrypt_key ring_core_android_platform_aes_hw_set_encrypt_key
525+%define aes_nohw_ctr32_encrypt_blocks ring_core_android_platform_aes_nohw_ctr32_encrypt_blocks
526+%define aes_nohw_encrypt ring_core_android_platform_aes_nohw_encrypt
527+%define aes_nohw_set_encrypt_key ring_core_android_platform_aes_nohw_set_encrypt_key
528+%define aesni_gcm_decrypt ring_core_android_platform_aesni_gcm_decrypt
529+%define aesni_gcm_encrypt ring_core_android_platform_aesni_gcm_encrypt
530+%define bn_from_montgomery_in_place ring_core_android_platform_bn_from_montgomery_in_place
531+%define bn_gather5 ring_core_android_platform_bn_gather5
532+%define bn_mul_mont ring_core_android_platform_bn_mul_mont
533+%define bn_mul_mont_gather5 ring_core_android_platform_bn_mul_mont_gather5
534+%define bn_neg_inv_mod_r_u64 ring_core_android_platform_bn_neg_inv_mod_r_u64
535+%define bn_power5 ring_core_android_platform_bn_power5
536+%define bn_scatter5 ring_core_android_platform_bn_scatter5
537+%define bn_sqr8x_internal ring_core_android_platform_bn_sqr8x_internal
538+%define bn_sqrx8x_internal ring_core_android_platform_bn_sqrx8x_internal
539+%define bsaes_ctr32_encrypt_blocks ring_core_android_platform_bsaes_ctr32_encrypt_blocks
540+%define bssl_constant_time_test_conditional_memcpy ring_core_android_platform_bssl_constant_time_test_conditional_memcpy
541+%define bssl_constant_time_test_conditional_memxor ring_core_android_platform_bssl_constant_time_test_conditional_memxor
542+%define bssl_constant_time_test_main ring_core_android_platform_bssl_constant_time_test_main
543+%define chacha20_poly1305_open ring_core_android_platform_chacha20_poly1305_open
544+%define chacha20_poly1305_seal ring_core_android_platform_chacha20_poly1305_seal
545+%define fiat_curve25519_adx_mul ring_core_android_platform_fiat_curve25519_adx_mul
546+%define fiat_curve25519_adx_square ring_core_android_platform_fiat_curve25519_adx_square
547+%define gcm_ghash_avx ring_core_android_platform_gcm_ghash_avx
548+%define gcm_ghash_clmul ring_core_android_platform_gcm_ghash_clmul
549+%define gcm_ghash_neon ring_core_android_platform_gcm_ghash_neon
550+%define gcm_gmult_clmul ring_core_android_platform_gcm_gmult_clmul
551+%define gcm_gmult_neon ring_core_android_platform_gcm_gmult_neon
552+%define gcm_init_avx ring_core_android_platform_gcm_init_avx
553+%define gcm_init_clmul ring_core_android_platform_gcm_init_clmul
554+%define gcm_init_neon ring_core_android_platform_gcm_init_neon
555+%define k25519Precomp ring_core_android_platform_k25519Precomp
556+%define limbs_mul_add_limb ring_core_android_platform_limbs_mul_add_limb
557+%define little_endian_bytes_from_scalar ring_core_android_platform_little_endian_bytes_from_scalar
558+%define ecp_nistz256_neg ring_core_android_platform_ecp_nistz256_neg
559+%define ecp_nistz256_select_w5 ring_core_android_platform_ecp_nistz256_select_w5
560+%define ecp_nistz256_select_w7 ring_core_android_platform_ecp_nistz256_select_w7
561+%define nistz384_point_add ring_core_android_platform_nistz384_point_add
562+%define nistz384_point_double ring_core_android_platform_nistz384_point_double
563+%define nistz384_point_mul ring_core_android_platform_nistz384_point_mul
564+%define p256_mul_mont ring_core_android_platform_p256_mul_mont
565+%define p256_point_add ring_core_android_platform_p256_point_add
566+%define p256_point_add_affine ring_core_android_platform_p256_point_add_affine
567+%define p256_point_double ring_core_android_platform_p256_point_double
568+%define p256_point_mul ring_core_android_platform_p256_point_mul
569+%define p256_point_mul_base ring_core_android_platform_p256_point_mul_base
570+%define p256_scalar_mul_mont ring_core_android_platform_p256_scalar_mul_mont
571+%define p256_scalar_sqr_rep_mont ring_core_android_platform_p256_scalar_sqr_rep_mont
572+%define p256_sqr_mont ring_core_android_platform_p256_sqr_mont
573+%define p384_elem_div_by_2 ring_core_android_platform_p384_elem_div_by_2
574+%define p384_elem_mul_mont ring_core_android_platform_p384_elem_mul_mont
575+%define p384_elem_neg ring_core_android_platform_p384_elem_neg
576+%define p384_elem_sub ring_core_android_platform_p384_elem_sub
577+%define p384_scalar_mul_mont ring_core_android_platform_p384_scalar_mul_mont
578+%define openssl_poly1305_neon2_addmulmod ring_core_android_platform_openssl_poly1305_neon2_addmulmod
579+%define openssl_poly1305_neon2_blocks ring_core_android_platform_openssl_poly1305_neon2_blocks
580+%define sha256_block_data_order ring_core_android_platform_sha256_block_data_order
581+%define sha512_block_data_order ring_core_android_platform_sha512_block_data_order
582+%define vpaes_ctr32_encrypt_blocks ring_core_android_platform_vpaes_ctr32_encrypt_blocks
583+%define vpaes_encrypt ring_core_android_platform_vpaes_encrypt
584+%define vpaes_encrypt_key_to_bsaes ring_core_android_platform_vpaes_encrypt_key_to_bsaes
585+%define vpaes_set_encrypt_key ring_core_android_platform_vpaes_set_encrypt_key
586+%define x25519_NEON ring_core_android_platform_x25519_NEON
587+%define x25519_fe_invert ring_core_android_platform_x25519_fe_invert
588+%define x25519_fe_isnegative ring_core_android_platform_x25519_fe_isnegative
589+%define x25519_fe_mul_ttt ring_core_android_platform_x25519_fe_mul_ttt
590+%define x25519_fe_neg ring_core_android_platform_x25519_fe_neg
591+%define x25519_fe_tobytes ring_core_android_platform_x25519_fe_tobytes
592+%define x25519_ge_double_scalarmult_vartime ring_core_android_platform_x25519_ge_double_scalarmult_vartime
593+%define x25519_ge_frombytes_vartime ring_core_android_platform_x25519_ge_frombytes_vartime
594+%define x25519_ge_scalarmult_base ring_core_android_platform_x25519_ge_scalarmult_base
595+%define x25519_ge_scalarmult_base_adx ring_core_android_platform_x25519_ge_scalarmult_base_adx
596+%define x25519_public_from_private_generic_masked ring_core_android_platform_x25519_public_from_private_generic_masked
597+%define x25519_sc_mask ring_core_android_platform_x25519_sc_mask
598+%define x25519_sc_muladd ring_core_android_platform_x25519_sc_muladd
599+%define x25519_sc_reduce ring_core_android_platform_x25519_sc_reduce
600+%define x25519_scalar_mult_adx ring_core_android_platform_x25519_scalar_mult_adx
601+%define x25519_scalar_mult_generic_masked ring_core_android_platform_x25519_scalar_mult_generic_masked
602+
603+%endif
604+%endif
605