Make pregenerate output files `gen/boringssl_prefix_symbols_internal_*.inc`.

These are symbol prefixing includes for the different flavors of
assembly code:

- *_S.inc: for GNU as
- *_asm.inc: for nasm
- *_c.inc: for inclusion by C/C++ code using the asm symbols

Bug: 42220000
Change-Id: Ic6381a1c47aaab8da34cdb6c6cd7c5726a6a6964
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/87267
Reviewed-by: Xiangfei Ding <xfding@google.com>
Commit-Queue: Rudolf Polzer <rpolzer@google.com>
diff --git a/gen/asm.syms b/gen/asm.syms
deleted file mode 100644
index c14e718..0000000
--- a/gen/asm.syms
+++ /dev/null
@@ -1,296 +0,0 @@
-BORINGSSL_function_hit
-CRYPTO_rdrand
-CRYPTO_rdrand_multiple8_buf
-ChaCha20_ctr32_avx2
-ChaCha20_ctr32_neon
-ChaCha20_ctr32_nohw
-ChaCha20_ctr32_ssse3
-ChaCha20_ctr32_ssse3_4x
-abi_test_bad_unwind_epilog
-abi_test_bad_unwind_temporary
-abi_test_bad_unwind_wrong_register
-abi_test_clobber_d0
-abi_test_clobber_d1
-abi_test_clobber_d10
-abi_test_clobber_d11
-abi_test_clobber_d12
-abi_test_clobber_d13
-abi_test_clobber_d14
-abi_test_clobber_d15
-abi_test_clobber_d16
-abi_test_clobber_d17
-abi_test_clobber_d18
-abi_test_clobber_d19
-abi_test_clobber_d2
-abi_test_clobber_d20
-abi_test_clobber_d21
-abi_test_clobber_d22
-abi_test_clobber_d23
-abi_test_clobber_d24
-abi_test_clobber_d25
-abi_test_clobber_d26
-abi_test_clobber_d27
-abi_test_clobber_d28
-abi_test_clobber_d29
-abi_test_clobber_d3
-abi_test_clobber_d30
-abi_test_clobber_d31
-abi_test_clobber_d4
-abi_test_clobber_d5
-abi_test_clobber_d6
-abi_test_clobber_d7
-abi_test_clobber_d8
-abi_test_clobber_d9
-abi_test_clobber_eax
-abi_test_clobber_ebp
-abi_test_clobber_ebx
-abi_test_clobber_ecx
-abi_test_clobber_edi
-abi_test_clobber_edx
-abi_test_clobber_esi
-abi_test_clobber_r0
-abi_test_clobber_r1
-abi_test_clobber_r10
-abi_test_clobber_r11
-abi_test_clobber_r12
-abi_test_clobber_r13
-abi_test_clobber_r14
-abi_test_clobber_r15
-abi_test_clobber_r2
-abi_test_clobber_r3
-abi_test_clobber_r4
-abi_test_clobber_r5
-abi_test_clobber_r6
-abi_test_clobber_r7
-abi_test_clobber_r8
-abi_test_clobber_r9
-abi_test_clobber_rax
-abi_test_clobber_rbp
-abi_test_clobber_rbx
-abi_test_clobber_rcx
-abi_test_clobber_rdi
-abi_test_clobber_rdx
-abi_test_clobber_rsi
-abi_test_clobber_v10_upper
-abi_test_clobber_v11_upper
-abi_test_clobber_v12_upper
-abi_test_clobber_v13_upper
-abi_test_clobber_v14_upper
-abi_test_clobber_v15_upper
-abi_test_clobber_v8_upper
-abi_test_clobber_v9_upper
-abi_test_clobber_x0
-abi_test_clobber_x1
-abi_test_clobber_x10
-abi_test_clobber_x11
-abi_test_clobber_x12
-abi_test_clobber_x13
-abi_test_clobber_x14
-abi_test_clobber_x15
-abi_test_clobber_x16
-abi_test_clobber_x17
-abi_test_clobber_x19
-abi_test_clobber_x2
-abi_test_clobber_x20
-abi_test_clobber_x21
-abi_test_clobber_x22
-abi_test_clobber_x23
-abi_test_clobber_x24
-abi_test_clobber_x25
-abi_test_clobber_x26
-abi_test_clobber_x27
-abi_test_clobber_x28
-abi_test_clobber_x29
-abi_test_clobber_x3
-abi_test_clobber_x4
-abi_test_clobber_x5
-abi_test_clobber_x6
-abi_test_clobber_x7
-abi_test_clobber_x8
-abi_test_clobber_x9
-abi_test_clobber_xmm0
-abi_test_clobber_xmm1
-abi_test_clobber_xmm10
-abi_test_clobber_xmm11
-abi_test_clobber_xmm12
-abi_test_clobber_xmm13
-abi_test_clobber_xmm14
-abi_test_clobber_xmm15
-abi_test_clobber_xmm2
-abi_test_clobber_xmm3
-abi_test_clobber_xmm4
-abi_test_clobber_xmm5
-abi_test_clobber_xmm6
-abi_test_clobber_xmm7
-abi_test_clobber_xmm8
-abi_test_clobber_xmm9
-abi_test_get_and_clear_direction_flag
-abi_test_set_direction_flag
-abi_test_trampoline
-abi_test_unwind_return
-abi_test_unwind_start
-abi_test_unwind_stop
-aes128gcmsiv_aes_ks
-aes128gcmsiv_aes_ks_enc_x1
-aes128gcmsiv_dec
-aes128gcmsiv_ecb_enc_block
-aes128gcmsiv_enc_msg_x4
-aes128gcmsiv_enc_msg_x8
-aes128gcmsiv_kdf
-aes256gcmsiv_aes_ks
-aes256gcmsiv_aes_ks_enc_x1
-aes256gcmsiv_dec
-aes256gcmsiv_ecb_enc_block
-aes256gcmsiv_enc_msg_x4
-aes256gcmsiv_enc_msg_x8
-aes256gcmsiv_kdf
-aes_gcm_dec_kernel
-aes_gcm_dec_update_vaes_avx2
-aes_gcm_dec_update_vaes_avx512
-aes_gcm_enc_kernel
-aes_gcm_enc_update_vaes_avx2
-aes_gcm_enc_update_vaes_avx512
-aes_hw_cbc_encrypt
-aes_hw_ccm64_decrypt_blocks
-aes_hw_ccm64_encrypt_blocks
-aes_hw_ctr32_encrypt_blocks
-aes_hw_decrypt
-aes_hw_ecb_encrypt
-aes_hw_encrypt
-aes_hw_encrypt_key_to_decrypt_key
-aes_hw_set_decrypt_key
-aes_hw_set_encrypt_key
-aes_hw_set_encrypt_key_alt
-aes_hw_set_encrypt_key_base
-aes_hw_xts_decrypt
-aes_hw_xts_encrypt
-aesgcmsiv_htable6_init
-aesgcmsiv_htable_init
-aesgcmsiv_htable_polyval
-aesgcmsiv_polyval_horner
-aesni_gcm_decrypt
-aesni_gcm_encrypt
-beeu_mod_inverse_vartime
-bn_add_words
-bn_gather5
-bn_mul4x_mont
-bn_mul4x_mont_gather5
-bn_mul8x_mont_neon
-bn_mul_add_words
-bn_mul_comba4
-bn_mul_comba8
-bn_mul_mont_gather5_nohw
-bn_mul_mont_nohw
-bn_mul_mont_words
-bn_mul_words
-bn_mulx4x_mont
-bn_mulx4x_mont_gather5
-bn_power5_nohw
-bn_powerx5
-bn_scatter5
-bn_sqr8x_internal
-bn_sqr8x_mont
-bn_sqr_add_words
-bn_sqr_comba4
-bn_sqr_comba8
-bn_sqrx8x_internal
-bn_sub_words
-bsaes_cbc_encrypt
-bsaes_ctr32_encrypt_blocks
-chacha20_poly1305_open
-chacha20_poly1305_open_avx2
-chacha20_poly1305_open_sse41
-chacha20_poly1305_seal
-chacha20_poly1305_seal_avx2
-chacha20_poly1305_seal_sse41
-ecp_nistz256_div_by_2
-ecp_nistz256_mul_by_2
-ecp_nistz256_mul_by_3
-ecp_nistz256_mul_mont
-ecp_nistz256_mul_mont_adx
-ecp_nistz256_mul_mont_nohw
-ecp_nistz256_neg
-ecp_nistz256_ord_mul_mont
-ecp_nistz256_ord_mul_mont_adx
-ecp_nistz256_ord_mul_mont_nohw
-ecp_nistz256_ord_sqr_mont
-ecp_nistz256_ord_sqr_mont_adx
-ecp_nistz256_ord_sqr_mont_nohw
-ecp_nistz256_point_add
-ecp_nistz256_point_add_adx
-ecp_nistz256_point_add_affine
-ecp_nistz256_point_add_affine_adx
-ecp_nistz256_point_add_affine_nohw
-ecp_nistz256_point_add_nohw
-ecp_nistz256_point_double
-ecp_nistz256_point_double_adx
-ecp_nistz256_point_double_nohw
-ecp_nistz256_select_w5
-ecp_nistz256_select_w5_avx2
-ecp_nistz256_select_w5_nohw
-ecp_nistz256_select_w7
-ecp_nistz256_select_w7_avx2
-ecp_nistz256_select_w7_nohw
-ecp_nistz256_sqr_mont
-ecp_nistz256_sqr_mont_adx
-ecp_nistz256_sqr_mont_nohw
-ecp_nistz256_sub
-fiat_curve25519_adx_mul
-fiat_curve25519_adx_square
-fiat_p256_adx_mul
-fiat_p256_adx_sqr
-gcm_ghash_avx
-gcm_ghash_clmul
-gcm_ghash_neon
-gcm_ghash_ssse3
-gcm_ghash_v8
-gcm_ghash_vpclmulqdq_avx2
-gcm_ghash_vpclmulqdq_avx512
-gcm_gmult_avx
-gcm_gmult_clmul
-gcm_gmult_neon
-gcm_gmult_ssse3
-gcm_gmult_v8
-gcm_gmult_vpclmulqdq_avx2
-gcm_gmult_vpclmulqdq_avx512
-gcm_init_avx
-gcm_init_clmul
-gcm_init_neon
-gcm_init_v8
-gcm_init_vpclmulqdq_avx2
-gcm_init_vpclmulqdq_avx512
-md5_block_asm_data_order
-openssl_poly1305_neon2_addmulmod
-openssl_poly1305_neon2_blocks
-poly_Rq_mul
-rsaz_1024_gather5_avx2
-rsaz_1024_mul_avx2
-rsaz_1024_norm2red_avx2
-rsaz_1024_red2norm_avx2
-rsaz_1024_scatter5_avx2
-rsaz_1024_sqr_avx2
-sha1_block_data_order_avx
-sha1_block_data_order_avx2
-sha1_block_data_order_hw
-sha1_block_data_order_neon
-sha1_block_data_order_nohw
-sha1_block_data_order_ssse3
-sha256_block_data_order_avx
-sha256_block_data_order_hw
-sha256_block_data_order_neon
-sha256_block_data_order_nohw
-sha256_block_data_order_ssse3
-sha512_block_data_order_avx
-sha512_block_data_order_hw
-sha512_block_data_order_neon
-sha512_block_data_order_nohw
-sha512_block_data_order_ssse3
-vpaes_cbc_encrypt
-vpaes_ctr32_encrypt_blocks
-vpaes_decrypt
-vpaes_decrypt_key_to_bsaes
-vpaes_encrypt
-vpaes_encrypt_key_to_bsaes
-vpaes_set_decrypt_key
-vpaes_set_encrypt_key
-x25519_NEON
diff --git a/gen/boringssl_prefix_symbols_internal_S.inc b/gen/boringssl_prefix_symbols_internal_S.inc
new file mode 100644
index 0000000..b7d5261
--- /dev/null
+++ b/gen/boringssl_prefix_symbols_internal_S.inc
@@ -0,0 +1,615 @@
+// Copyright 2024 The BoringSSL Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Generated by go ./util/pregenerate. Do not edit manually.
+
+#if defined(__APPLE__)
+
+#define _BORINGSSL_function_hit BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(BORINGSSL_function_hit))
+#define _CRYPTO_rdrand BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(CRYPTO_rdrand))
+#define _CRYPTO_rdrand_multiple8_buf BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(CRYPTO_rdrand_multiple8_buf))
+#define _ChaCha20_ctr32_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_avx2))
+#define _ChaCha20_ctr32_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_neon))
+#define _ChaCha20_ctr32_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_nohw))
+#define _ChaCha20_ctr32_ssse3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_ssse3))
+#define _ChaCha20_ctr32_ssse3_4x BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_ssse3_4x))
+#define _abi_test_bad_unwind_epilog BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_epilog))
+#define _abi_test_bad_unwind_temporary BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_temporary))
+#define _abi_test_bad_unwind_wrong_register BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_wrong_register))
+#define _abi_test_clobber_d0 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d0))
+#define _abi_test_clobber_d1 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d1))
+#define _abi_test_clobber_d10 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d10))
+#define _abi_test_clobber_d11 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d11))
+#define _abi_test_clobber_d12 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d12))
+#define _abi_test_clobber_d13 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d13))
+#define _abi_test_clobber_d14 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d14))
+#define _abi_test_clobber_d15 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d15))
+#define _abi_test_clobber_d16 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d16))
+#define _abi_test_clobber_d17 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d17))
+#define _abi_test_clobber_d18 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d18))
+#define _abi_test_clobber_d19 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d19))
+#define _abi_test_clobber_d2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d2))
+#define _abi_test_clobber_d20 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d20))
+#define _abi_test_clobber_d21 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d21))
+#define _abi_test_clobber_d22 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d22))
+#define _abi_test_clobber_d23 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d23))
+#define _abi_test_clobber_d24 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d24))
+#define _abi_test_clobber_d25 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d25))
+#define _abi_test_clobber_d26 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d26))
+#define _abi_test_clobber_d27 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d27))
+#define _abi_test_clobber_d28 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d28))
+#define _abi_test_clobber_d29 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d29))
+#define _abi_test_clobber_d3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d3))
+#define _abi_test_clobber_d30 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d30))
+#define _abi_test_clobber_d31 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d31))
+#define _abi_test_clobber_d4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d4))
+#define _abi_test_clobber_d5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d5))
+#define _abi_test_clobber_d6 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d6))
+#define _abi_test_clobber_d7 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d7))
+#define _abi_test_clobber_d8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d8))
+#define _abi_test_clobber_d9 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d9))
+#define _abi_test_clobber_eax BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_eax))
+#define _abi_test_clobber_ebp BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_ebp))
+#define _abi_test_clobber_ebx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_ebx))
+#define _abi_test_clobber_ecx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_ecx))
+#define _abi_test_clobber_edi BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_edi))
+#define _abi_test_clobber_edx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_edx))
+#define _abi_test_clobber_esi BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_esi))
+#define _abi_test_clobber_r0 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r0))
+#define _abi_test_clobber_r1 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r1))
+#define _abi_test_clobber_r10 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r10))
+#define _abi_test_clobber_r11 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r11))
+#define _abi_test_clobber_r12 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r12))
+#define _abi_test_clobber_r13 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r13))
+#define _abi_test_clobber_r14 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r14))
+#define _abi_test_clobber_r15 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r15))
+#define _abi_test_clobber_r2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r2))
+#define _abi_test_clobber_r3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r3))
+#define _abi_test_clobber_r4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r4))
+#define _abi_test_clobber_r5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r5))
+#define _abi_test_clobber_r6 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r6))
+#define _abi_test_clobber_r7 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r7))
+#define _abi_test_clobber_r8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r8))
+#define _abi_test_clobber_r9 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r9))
+#define _abi_test_clobber_rax BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rax))
+#define _abi_test_clobber_rbp BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rbp))
+#define _abi_test_clobber_rbx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rbx))
+#define _abi_test_clobber_rcx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rcx))
+#define _abi_test_clobber_rdi BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rdi))
+#define _abi_test_clobber_rdx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rdx))
+#define _abi_test_clobber_rsi BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rsi))
+#define _abi_test_clobber_v10_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v10_upper))
+#define _abi_test_clobber_v11_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v11_upper))
+#define _abi_test_clobber_v12_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v12_upper))
+#define _abi_test_clobber_v13_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v13_upper))
+#define _abi_test_clobber_v14_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v14_upper))
+#define _abi_test_clobber_v15_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v15_upper))
+#define _abi_test_clobber_v8_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v8_upper))
+#define _abi_test_clobber_v9_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v9_upper))
+#define _abi_test_clobber_x0 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x0))
+#define _abi_test_clobber_x1 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x1))
+#define _abi_test_clobber_x10 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x10))
+#define _abi_test_clobber_x11 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x11))
+#define _abi_test_clobber_x12 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x12))
+#define _abi_test_clobber_x13 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x13))
+#define _abi_test_clobber_x14 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x14))
+#define _abi_test_clobber_x15 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x15))
+#define _abi_test_clobber_x16 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x16))
+#define _abi_test_clobber_x17 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x17))
+#define _abi_test_clobber_x19 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x19))
+#define _abi_test_clobber_x2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x2))
+#define _abi_test_clobber_x20 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x20))
+#define _abi_test_clobber_x21 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x21))
+#define _abi_test_clobber_x22 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x22))
+#define _abi_test_clobber_x23 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x23))
+#define _abi_test_clobber_x24 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x24))
+#define _abi_test_clobber_x25 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x25))
+#define _abi_test_clobber_x26 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x26))
+#define _abi_test_clobber_x27 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x27))
+#define _abi_test_clobber_x28 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x28))
+#define _abi_test_clobber_x29 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x29))
+#define _abi_test_clobber_x3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x3))
+#define _abi_test_clobber_x4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x4))
+#define _abi_test_clobber_x5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x5))
+#define _abi_test_clobber_x6 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x6))
+#define _abi_test_clobber_x7 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x7))
+#define _abi_test_clobber_x8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x8))
+#define _abi_test_clobber_x9 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x9))
+#define _abi_test_clobber_xmm0 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm0))
+#define _abi_test_clobber_xmm1 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm1))
+#define _abi_test_clobber_xmm10 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm10))
+#define _abi_test_clobber_xmm11 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm11))
+#define _abi_test_clobber_xmm12 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm12))
+#define _abi_test_clobber_xmm13 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm13))
+#define _abi_test_clobber_xmm14 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm14))
+#define _abi_test_clobber_xmm15 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm15))
+#define _abi_test_clobber_xmm2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm2))
+#define _abi_test_clobber_xmm3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm3))
+#define _abi_test_clobber_xmm4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm4))
+#define _abi_test_clobber_xmm5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm5))
+#define _abi_test_clobber_xmm6 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm6))
+#define _abi_test_clobber_xmm7 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm7))
+#define _abi_test_clobber_xmm8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm8))
+#define _abi_test_clobber_xmm9 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm9))
+#define _abi_test_get_and_clear_direction_flag BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_get_and_clear_direction_flag))
+#define _abi_test_set_direction_flag BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_set_direction_flag))
+#define _abi_test_trampoline BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_trampoline))
+#define _abi_test_unwind_return BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_unwind_return))
+#define _abi_test_unwind_start BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_unwind_start))
+#define _abi_test_unwind_stop BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_unwind_stop))
+#define _aes128gcmsiv_aes_ks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_aes_ks))
+#define _aes128gcmsiv_aes_ks_enc_x1 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_aes_ks_enc_x1))
+#define _aes128gcmsiv_dec BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_dec))
+#define _aes128gcmsiv_ecb_enc_block BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_ecb_enc_block))
+#define _aes128gcmsiv_enc_msg_x4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_enc_msg_x4))
+#define _aes128gcmsiv_enc_msg_x8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_enc_msg_x8))
+#define _aes128gcmsiv_kdf BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_kdf))
+#define _aes256gcmsiv_aes_ks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_aes_ks))
+#define _aes256gcmsiv_aes_ks_enc_x1 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_aes_ks_enc_x1))
+#define _aes256gcmsiv_dec BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_dec))
+#define _aes256gcmsiv_ecb_enc_block BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_ecb_enc_block))
+#define _aes256gcmsiv_enc_msg_x4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_enc_msg_x4))
+#define _aes256gcmsiv_enc_msg_x8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_enc_msg_x8))
+#define _aes256gcmsiv_kdf BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_kdf))
+#define _aes_gcm_dec_kernel BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_gcm_dec_kernel))
+#define _aes_gcm_dec_update_vaes_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_gcm_dec_update_vaes_avx2))
+#define _aes_gcm_dec_update_vaes_avx512 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_gcm_dec_update_vaes_avx512))
+#define _aes_gcm_enc_kernel BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_gcm_enc_kernel))
+#define _aes_gcm_enc_update_vaes_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_gcm_enc_update_vaes_avx2))
+#define _aes_gcm_enc_update_vaes_avx512 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_gcm_enc_update_vaes_avx512))
+#define _aes_hw_cbc_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_cbc_encrypt))
+#define _aes_hw_ccm64_decrypt_blocks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_ccm64_decrypt_blocks))
+#define _aes_hw_ccm64_encrypt_blocks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_ccm64_encrypt_blocks))
+#define _aes_hw_ctr32_encrypt_blocks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_ctr32_encrypt_blocks))
+#define _aes_hw_decrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_decrypt))
+#define _aes_hw_ecb_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_ecb_encrypt))
+#define _aes_hw_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_encrypt))
+#define _aes_hw_encrypt_key_to_decrypt_key BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_encrypt_key_to_decrypt_key))
+#define _aes_hw_set_decrypt_key BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_set_decrypt_key))
+#define _aes_hw_set_encrypt_key BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key))
+#define _aes_hw_set_encrypt_key_alt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key_alt))
+#define _aes_hw_set_encrypt_key_base BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key_base))
+#define _aes_hw_xts_decrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_xts_decrypt))
+#define _aes_hw_xts_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_xts_encrypt))
+#define _aesgcmsiv_htable6_init BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aesgcmsiv_htable6_init))
+#define _aesgcmsiv_htable_init BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aesgcmsiv_htable_init))
+#define _aesgcmsiv_htable_polyval BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aesgcmsiv_htable_polyval))
+#define _aesgcmsiv_polyval_horner BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aesgcmsiv_polyval_horner))
+#define _aesni_gcm_decrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aesni_gcm_decrypt))
+#define _aesni_gcm_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aesni_gcm_encrypt))
+#define _beeu_mod_inverse_vartime BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(beeu_mod_inverse_vartime))
+#define _bn_add_words BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_add_words))
+#define _bn_gather5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_gather5))
+#define _bn_mul4x_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul4x_mont))
+#define _bn_mul4x_mont_gather5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul4x_mont_gather5))
+#define _bn_mul8x_mont_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul8x_mont_neon))
+#define _bn_mul_add_words BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_add_words))
+#define _bn_mul_comba4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_comba4))
+#define _bn_mul_comba8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_comba8))
+#define _bn_mul_mont_gather5_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_mont_gather5_nohw))
+#define _bn_mul_mont_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_mont_nohw))
+#define _bn_mul_mont_words BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_mont_words))
+#define _bn_mul_words BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_words))
+#define _bn_mulx4x_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mulx4x_mont))
+#define _bn_mulx4x_mont_gather5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mulx4x_mont_gather5))
+#define _bn_power5_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_power5_nohw))
+#define _bn_powerx5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_powerx5))
+#define _bn_scatter5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_scatter5))
+#define _bn_sqr8x_internal BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sqr8x_internal))
+#define _bn_sqr8x_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sqr8x_mont))
+#define _bn_sqr_add_words BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sqr_add_words))
+#define _bn_sqr_comba4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sqr_comba4))
+#define _bn_sqr_comba8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sqr_comba8))
+#define _bn_sqrx8x_internal BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sqrx8x_internal))
+#define _bn_sub_words BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sub_words))
+#define _bsaes_cbc_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bsaes_cbc_encrypt))
+#define _bsaes_ctr32_encrypt_blocks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bsaes_ctr32_encrypt_blocks))
+#define _chacha20_poly1305_open BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(chacha20_poly1305_open))
+#define _chacha20_poly1305_open_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(chacha20_poly1305_open_avx2))
+#define _chacha20_poly1305_open_sse41 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(chacha20_poly1305_open_sse41))
+#define _chacha20_poly1305_seal BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal))
+#define _chacha20_poly1305_seal_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal_avx2))
+#define _chacha20_poly1305_seal_sse41 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal_sse41))
+#define _ecp_nistz256_div_by_2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_div_by_2))
+#define _ecp_nistz256_mul_by_2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_by_2))
+#define _ecp_nistz256_mul_by_3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_by_3))
+#define _ecp_nistz256_mul_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont))
+#define _ecp_nistz256_mul_mont_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont_adx))
+#define _ecp_nistz256_mul_mont_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont_nohw))
+#define _ecp_nistz256_neg BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_neg))
+#define _ecp_nistz256_ord_mul_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont))
+#define _ecp_nistz256_ord_mul_mont_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont_adx))
+#define _ecp_nistz256_ord_mul_mont_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont_nohw))
+#define _ecp_nistz256_ord_sqr_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont))
+#define _ecp_nistz256_ord_sqr_mont_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont_adx))
+#define _ecp_nistz256_ord_sqr_mont_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont_nohw))
+#define _ecp_nistz256_point_add BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add))
+#define _ecp_nistz256_point_add_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_adx))
+#define _ecp_nistz256_point_add_affine BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine))
+#define _ecp_nistz256_point_add_affine_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine_adx))
+#define _ecp_nistz256_point_add_affine_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine_nohw))
+#define _ecp_nistz256_point_add_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_nohw))
+#define _ecp_nistz256_point_double BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double))
+#define _ecp_nistz256_point_double_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double_adx))
+#define _ecp_nistz256_point_double_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double_nohw))
+#define _ecp_nistz256_select_w5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5))
+#define _ecp_nistz256_select_w5_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5_avx2))
+#define _ecp_nistz256_select_w5_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5_nohw))
+#define _ecp_nistz256_select_w7 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7))
+#define _ecp_nistz256_select_w7_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7_avx2))
+#define _ecp_nistz256_select_w7_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7_nohw))
+#define _ecp_nistz256_sqr_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont))
+#define _ecp_nistz256_sqr_mont_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont_adx))
+#define _ecp_nistz256_sqr_mont_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont_nohw))
+#define _ecp_nistz256_sub BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_sub))
+#define _fiat_curve25519_adx_mul BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(fiat_curve25519_adx_mul))
+#define _fiat_curve25519_adx_square BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(fiat_curve25519_adx_square))
+#define _fiat_p256_adx_mul BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(fiat_p256_adx_mul))
+#define _fiat_p256_adx_sqr BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(fiat_p256_adx_sqr))
+#define _gcm_ghash_avx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_avx))
+#define _gcm_ghash_clmul BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_clmul))
+#define _gcm_ghash_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_neon))
+#define _gcm_ghash_ssse3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_ssse3))
+#define _gcm_ghash_v8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_v8))
+#define _gcm_ghash_vpclmulqdq_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_vpclmulqdq_avx2))
+#define _gcm_ghash_vpclmulqdq_avx512 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_vpclmulqdq_avx512))
+#define _gcm_gmult_avx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_avx))
+#define _gcm_gmult_clmul BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_clmul))
+#define _gcm_gmult_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_neon))
+#define _gcm_gmult_ssse3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_ssse3))
+#define _gcm_gmult_v8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_v8))
+#define _gcm_gmult_vpclmulqdq_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_vpclmulqdq_avx2))
+#define _gcm_gmult_vpclmulqdq_avx512 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_vpclmulqdq_avx512))
+#define _gcm_init_avx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_init_avx))
+#define _gcm_init_clmul BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_init_clmul))
+#define _gcm_init_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_init_neon))
+#define _gcm_init_v8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_init_v8))
+#define _gcm_init_vpclmulqdq_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_init_vpclmulqdq_avx2))
+#define _gcm_init_vpclmulqdq_avx512 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_init_vpclmulqdq_avx512))
+#define _md5_block_asm_data_order BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(md5_block_asm_data_order))
+#define _openssl_poly1305_neon2_addmulmod BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(openssl_poly1305_neon2_addmulmod))
+#define _openssl_poly1305_neon2_blocks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(openssl_poly1305_neon2_blocks))
+#define _poly_Rq_mul BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(poly_Rq_mul))
+#define _rsaz_1024_gather5_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(rsaz_1024_gather5_avx2))
+#define _rsaz_1024_mul_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(rsaz_1024_mul_avx2))
+#define _rsaz_1024_norm2red_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(rsaz_1024_norm2red_avx2))
+#define _rsaz_1024_red2norm_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(rsaz_1024_red2norm_avx2))
+#define _rsaz_1024_scatter5_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(rsaz_1024_scatter5_avx2))
+#define _rsaz_1024_sqr_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(rsaz_1024_sqr_avx2))
+#define _sha1_block_data_order_avx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha1_block_data_order_avx))
+#define _sha1_block_data_order_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha1_block_data_order_avx2))
+#define _sha1_block_data_order_hw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha1_block_data_order_hw))
+#define _sha1_block_data_order_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha1_block_data_order_neon))
+#define _sha1_block_data_order_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha1_block_data_order_nohw))
+#define _sha1_block_data_order_ssse3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha1_block_data_order_ssse3))
+#define _sha256_block_data_order_avx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha256_block_data_order_avx))
+#define _sha256_block_data_order_hw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha256_block_data_order_hw))
+#define _sha256_block_data_order_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha256_block_data_order_neon))
+#define _sha256_block_data_order_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha256_block_data_order_nohw))
+#define _sha256_block_data_order_ssse3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha256_block_data_order_ssse3))
+#define _sha512_block_data_order_avx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha512_block_data_order_avx))
+#define _sha512_block_data_order_hw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha512_block_data_order_hw))
+#define _sha512_block_data_order_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha512_block_data_order_neon))
+#define _sha512_block_data_order_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha512_block_data_order_nohw))
+#define _sha512_block_data_order_ssse3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha512_block_data_order_ssse3))
+#define _vpaes_cbc_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_cbc_encrypt))
+#define _vpaes_ctr32_encrypt_blocks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_ctr32_encrypt_blocks))
+#define _vpaes_decrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_decrypt))
+#define _vpaes_decrypt_key_to_bsaes BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_decrypt_key_to_bsaes))
+#define _vpaes_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_encrypt))
+#define _vpaes_encrypt_key_to_bsaes BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_encrypt_key_to_bsaes))
+#define _vpaes_set_decrypt_key BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_set_decrypt_key))
+#define _vpaes_set_encrypt_key BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_set_encrypt_key))
+#define _x25519_NEON BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(x25519_NEON))
+
+#else  // __APPLE__
+
+#define BORINGSSL_function_hit BORINGSSL_ADD_PREFIX(BORINGSSL_function_hit)
+#define CRYPTO_rdrand BORINGSSL_ADD_PREFIX(CRYPTO_rdrand)
+#define CRYPTO_rdrand_multiple8_buf BORINGSSL_ADD_PREFIX(CRYPTO_rdrand_multiple8_buf)
+#define ChaCha20_ctr32_avx2 BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_avx2)
+#define ChaCha20_ctr32_neon BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_neon)
+#define ChaCha20_ctr32_nohw BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_nohw)
+#define ChaCha20_ctr32_ssse3 BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_ssse3)
+#define ChaCha20_ctr32_ssse3_4x BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_ssse3_4x)
+#define abi_test_bad_unwind_epilog BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_epilog)
+#define abi_test_bad_unwind_temporary BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_temporary)
+#define abi_test_bad_unwind_wrong_register BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_wrong_register)
+#define abi_test_clobber_d0 BORINGSSL_ADD_PREFIX(abi_test_clobber_d0)
+#define abi_test_clobber_d1 BORINGSSL_ADD_PREFIX(abi_test_clobber_d1)
+#define abi_test_clobber_d10 BORINGSSL_ADD_PREFIX(abi_test_clobber_d10)
+#define abi_test_clobber_d11 BORINGSSL_ADD_PREFIX(abi_test_clobber_d11)
+#define abi_test_clobber_d12 BORINGSSL_ADD_PREFIX(abi_test_clobber_d12)
+#define abi_test_clobber_d13 BORINGSSL_ADD_PREFIX(abi_test_clobber_d13)
+#define abi_test_clobber_d14 BORINGSSL_ADD_PREFIX(abi_test_clobber_d14)
+#define abi_test_clobber_d15 BORINGSSL_ADD_PREFIX(abi_test_clobber_d15)
+#define abi_test_clobber_d16 BORINGSSL_ADD_PREFIX(abi_test_clobber_d16)
+#define abi_test_clobber_d17 BORINGSSL_ADD_PREFIX(abi_test_clobber_d17)
+#define abi_test_clobber_d18 BORINGSSL_ADD_PREFIX(abi_test_clobber_d18)
+#define abi_test_clobber_d19 BORINGSSL_ADD_PREFIX(abi_test_clobber_d19)
+#define abi_test_clobber_d2 BORINGSSL_ADD_PREFIX(abi_test_clobber_d2)
+#define abi_test_clobber_d20 BORINGSSL_ADD_PREFIX(abi_test_clobber_d20)
+#define abi_test_clobber_d21 BORINGSSL_ADD_PREFIX(abi_test_clobber_d21)
+#define abi_test_clobber_d22 BORINGSSL_ADD_PREFIX(abi_test_clobber_d22)
+#define abi_test_clobber_d23 BORINGSSL_ADD_PREFIX(abi_test_clobber_d23)
+#define abi_test_clobber_d24 BORINGSSL_ADD_PREFIX(abi_test_clobber_d24)
+#define abi_test_clobber_d25 BORINGSSL_ADD_PREFIX(abi_test_clobber_d25)
+#define abi_test_clobber_d26 BORINGSSL_ADD_PREFIX(abi_test_clobber_d26)
+#define abi_test_clobber_d27 BORINGSSL_ADD_PREFIX(abi_test_clobber_d27)
+#define abi_test_clobber_d28 BORINGSSL_ADD_PREFIX(abi_test_clobber_d28)
+#define abi_test_clobber_d29 BORINGSSL_ADD_PREFIX(abi_test_clobber_d29)
+#define abi_test_clobber_d3 BORINGSSL_ADD_PREFIX(abi_test_clobber_d3)
+#define abi_test_clobber_d30 BORINGSSL_ADD_PREFIX(abi_test_clobber_d30)
+#define abi_test_clobber_d31 BORINGSSL_ADD_PREFIX(abi_test_clobber_d31)
+#define abi_test_clobber_d4 BORINGSSL_ADD_PREFIX(abi_test_clobber_d4)
+#define abi_test_clobber_d5 BORINGSSL_ADD_PREFIX(abi_test_clobber_d5)
+#define abi_test_clobber_d6 BORINGSSL_ADD_PREFIX(abi_test_clobber_d6)
+#define abi_test_clobber_d7 BORINGSSL_ADD_PREFIX(abi_test_clobber_d7)
+#define abi_test_clobber_d8 BORINGSSL_ADD_PREFIX(abi_test_clobber_d8)
+#define abi_test_clobber_d9 BORINGSSL_ADD_PREFIX(abi_test_clobber_d9)
+#define abi_test_clobber_eax BORINGSSL_ADD_PREFIX(abi_test_clobber_eax)
+#define abi_test_clobber_ebp BORINGSSL_ADD_PREFIX(abi_test_clobber_ebp)
+#define abi_test_clobber_ebx BORINGSSL_ADD_PREFIX(abi_test_clobber_ebx)
+#define abi_test_clobber_ecx BORINGSSL_ADD_PREFIX(abi_test_clobber_ecx)
+#define abi_test_clobber_edi BORINGSSL_ADD_PREFIX(abi_test_clobber_edi)
+#define abi_test_clobber_edx BORINGSSL_ADD_PREFIX(abi_test_clobber_edx)
+#define abi_test_clobber_esi BORINGSSL_ADD_PREFIX(abi_test_clobber_esi)
+#define abi_test_clobber_r0 BORINGSSL_ADD_PREFIX(abi_test_clobber_r0)
+#define abi_test_clobber_r1 BORINGSSL_ADD_PREFIX(abi_test_clobber_r1)
+#define abi_test_clobber_r10 BORINGSSL_ADD_PREFIX(abi_test_clobber_r10)
+#define abi_test_clobber_r11 BORINGSSL_ADD_PREFIX(abi_test_clobber_r11)
+#define abi_test_clobber_r12 BORINGSSL_ADD_PREFIX(abi_test_clobber_r12)
+#define abi_test_clobber_r13 BORINGSSL_ADD_PREFIX(abi_test_clobber_r13)
+#define abi_test_clobber_r14 BORINGSSL_ADD_PREFIX(abi_test_clobber_r14)
+#define abi_test_clobber_r15 BORINGSSL_ADD_PREFIX(abi_test_clobber_r15)
+#define abi_test_clobber_r2 BORINGSSL_ADD_PREFIX(abi_test_clobber_r2)
+#define abi_test_clobber_r3 BORINGSSL_ADD_PREFIX(abi_test_clobber_r3)
+#define abi_test_clobber_r4 BORINGSSL_ADD_PREFIX(abi_test_clobber_r4)
+#define abi_test_clobber_r5 BORINGSSL_ADD_PREFIX(abi_test_clobber_r5)
+#define abi_test_clobber_r6 BORINGSSL_ADD_PREFIX(abi_test_clobber_r6)
+#define abi_test_clobber_r7 BORINGSSL_ADD_PREFIX(abi_test_clobber_r7)
+#define abi_test_clobber_r8 BORINGSSL_ADD_PREFIX(abi_test_clobber_r8)
+#define abi_test_clobber_r9 BORINGSSL_ADD_PREFIX(abi_test_clobber_r9)
+#define abi_test_clobber_rax BORINGSSL_ADD_PREFIX(abi_test_clobber_rax)
+#define abi_test_clobber_rbp BORINGSSL_ADD_PREFIX(abi_test_clobber_rbp)
+#define abi_test_clobber_rbx BORINGSSL_ADD_PREFIX(abi_test_clobber_rbx)
+#define abi_test_clobber_rcx BORINGSSL_ADD_PREFIX(abi_test_clobber_rcx)
+#define abi_test_clobber_rdi BORINGSSL_ADD_PREFIX(abi_test_clobber_rdi)
+#define abi_test_clobber_rdx BORINGSSL_ADD_PREFIX(abi_test_clobber_rdx)
+#define abi_test_clobber_rsi BORINGSSL_ADD_PREFIX(abi_test_clobber_rsi)
+#define abi_test_clobber_v10_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v10_upper)
+#define abi_test_clobber_v11_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v11_upper)
+#define abi_test_clobber_v12_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v12_upper)
+#define abi_test_clobber_v13_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v13_upper)
+#define abi_test_clobber_v14_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v14_upper)
+#define abi_test_clobber_v15_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v15_upper)
+#define abi_test_clobber_v8_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v8_upper)
+#define abi_test_clobber_v9_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v9_upper)
+#define abi_test_clobber_x0 BORINGSSL_ADD_PREFIX(abi_test_clobber_x0)
+#define abi_test_clobber_x1 BORINGSSL_ADD_PREFIX(abi_test_clobber_x1)
+#define abi_test_clobber_x10 BORINGSSL_ADD_PREFIX(abi_test_clobber_x10)
+#define abi_test_clobber_x11 BORINGSSL_ADD_PREFIX(abi_test_clobber_x11)
+#define abi_test_clobber_x12 BORINGSSL_ADD_PREFIX(abi_test_clobber_x12)
+#define abi_test_clobber_x13 BORINGSSL_ADD_PREFIX(abi_test_clobber_x13)
+#define abi_test_clobber_x14 BORINGSSL_ADD_PREFIX(abi_test_clobber_x14)
+#define abi_test_clobber_x15 BORINGSSL_ADD_PREFIX(abi_test_clobber_x15)
+#define abi_test_clobber_x16 BORINGSSL_ADD_PREFIX(abi_test_clobber_x16)
+#define abi_test_clobber_x17 BORINGSSL_ADD_PREFIX(abi_test_clobber_x17)
+#define abi_test_clobber_x19 BORINGSSL_ADD_PREFIX(abi_test_clobber_x19)
+#define abi_test_clobber_x2 BORINGSSL_ADD_PREFIX(abi_test_clobber_x2)
+#define abi_test_clobber_x20 BORINGSSL_ADD_PREFIX(abi_test_clobber_x20)
+#define abi_test_clobber_x21 BORINGSSL_ADD_PREFIX(abi_test_clobber_x21)
+#define abi_test_clobber_x22 BORINGSSL_ADD_PREFIX(abi_test_clobber_x22)
+#define abi_test_clobber_x23 BORINGSSL_ADD_PREFIX(abi_test_clobber_x23)
+#define abi_test_clobber_x24 BORINGSSL_ADD_PREFIX(abi_test_clobber_x24)
+#define abi_test_clobber_x25 BORINGSSL_ADD_PREFIX(abi_test_clobber_x25)
+#define abi_test_clobber_x26 BORINGSSL_ADD_PREFIX(abi_test_clobber_x26)
+#define abi_test_clobber_x27 BORINGSSL_ADD_PREFIX(abi_test_clobber_x27)
+#define abi_test_clobber_x28 BORINGSSL_ADD_PREFIX(abi_test_clobber_x28)
+#define abi_test_clobber_x29 BORINGSSL_ADD_PREFIX(abi_test_clobber_x29)
+#define abi_test_clobber_x3 BORINGSSL_ADD_PREFIX(abi_test_clobber_x3)
+#define abi_test_clobber_x4 BORINGSSL_ADD_PREFIX(abi_test_clobber_x4)
+#define abi_test_clobber_x5 BORINGSSL_ADD_PREFIX(abi_test_clobber_x5)
+#define abi_test_clobber_x6 BORINGSSL_ADD_PREFIX(abi_test_clobber_x6)
+#define abi_test_clobber_x7 BORINGSSL_ADD_PREFIX(abi_test_clobber_x7)
+#define abi_test_clobber_x8 BORINGSSL_ADD_PREFIX(abi_test_clobber_x8)
+#define abi_test_clobber_x9 BORINGSSL_ADD_PREFIX(abi_test_clobber_x9)
+#define abi_test_clobber_xmm0 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm0)
+#define abi_test_clobber_xmm1 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm1)
+#define abi_test_clobber_xmm10 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm10)
+#define abi_test_clobber_xmm11 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm11)
+#define abi_test_clobber_xmm12 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm12)
+#define abi_test_clobber_xmm13 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm13)
+#define abi_test_clobber_xmm14 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm14)
+#define abi_test_clobber_xmm15 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm15)
+#define abi_test_clobber_xmm2 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm2)
+#define abi_test_clobber_xmm3 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm3)
+#define abi_test_clobber_xmm4 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm4)
+#define abi_test_clobber_xmm5 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm5)
+#define abi_test_clobber_xmm6 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm6)
+#define abi_test_clobber_xmm7 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm7)
+#define abi_test_clobber_xmm8 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm8)
+#define abi_test_clobber_xmm9 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm9)
+#define abi_test_get_and_clear_direction_flag BORINGSSL_ADD_PREFIX(abi_test_get_and_clear_direction_flag)
+#define abi_test_set_direction_flag BORINGSSL_ADD_PREFIX(abi_test_set_direction_flag)
+#define abi_test_trampoline BORINGSSL_ADD_PREFIX(abi_test_trampoline)
+#define abi_test_unwind_return BORINGSSL_ADD_PREFIX(abi_test_unwind_return)
+#define abi_test_unwind_start BORINGSSL_ADD_PREFIX(abi_test_unwind_start)
+#define abi_test_unwind_stop BORINGSSL_ADD_PREFIX(abi_test_unwind_stop)
+#define aes128gcmsiv_aes_ks BORINGSSL_ADD_PREFIX(aes128gcmsiv_aes_ks)
+#define aes128gcmsiv_aes_ks_enc_x1 BORINGSSL_ADD_PREFIX(aes128gcmsiv_aes_ks_enc_x1)
+#define aes128gcmsiv_dec BORINGSSL_ADD_PREFIX(aes128gcmsiv_dec)
+#define aes128gcmsiv_ecb_enc_block BORINGSSL_ADD_PREFIX(aes128gcmsiv_ecb_enc_block)
+#define aes128gcmsiv_enc_msg_x4 BORINGSSL_ADD_PREFIX(aes128gcmsiv_enc_msg_x4)
+#define aes128gcmsiv_enc_msg_x8 BORINGSSL_ADD_PREFIX(aes128gcmsiv_enc_msg_x8)
+#define aes128gcmsiv_kdf BORINGSSL_ADD_PREFIX(aes128gcmsiv_kdf)
+#define aes256gcmsiv_aes_ks BORINGSSL_ADD_PREFIX(aes256gcmsiv_aes_ks)
+#define aes256gcmsiv_aes_ks_enc_x1 BORINGSSL_ADD_PREFIX(aes256gcmsiv_aes_ks_enc_x1)
+#define aes256gcmsiv_dec BORINGSSL_ADD_PREFIX(aes256gcmsiv_dec)
+#define aes256gcmsiv_ecb_enc_block BORINGSSL_ADD_PREFIX(aes256gcmsiv_ecb_enc_block)
+#define aes256gcmsiv_enc_msg_x4 BORINGSSL_ADD_PREFIX(aes256gcmsiv_enc_msg_x4)
+#define aes256gcmsiv_enc_msg_x8 BORINGSSL_ADD_PREFIX(aes256gcmsiv_enc_msg_x8)
+#define aes256gcmsiv_kdf BORINGSSL_ADD_PREFIX(aes256gcmsiv_kdf)
+#define aes_gcm_dec_kernel BORINGSSL_ADD_PREFIX(aes_gcm_dec_kernel)
+#define aes_gcm_dec_update_vaes_avx2 BORINGSSL_ADD_PREFIX(aes_gcm_dec_update_vaes_avx2)
+#define aes_gcm_dec_update_vaes_avx512 BORINGSSL_ADD_PREFIX(aes_gcm_dec_update_vaes_avx512)
+#define aes_gcm_enc_kernel BORINGSSL_ADD_PREFIX(aes_gcm_enc_kernel)
+#define aes_gcm_enc_update_vaes_avx2 BORINGSSL_ADD_PREFIX(aes_gcm_enc_update_vaes_avx2)
+#define aes_gcm_enc_update_vaes_avx512 BORINGSSL_ADD_PREFIX(aes_gcm_enc_update_vaes_avx512)
+#define aes_hw_cbc_encrypt BORINGSSL_ADD_PREFIX(aes_hw_cbc_encrypt)
+#define aes_hw_ccm64_decrypt_blocks BORINGSSL_ADD_PREFIX(aes_hw_ccm64_decrypt_blocks)
+#define aes_hw_ccm64_encrypt_blocks BORINGSSL_ADD_PREFIX(aes_hw_ccm64_encrypt_blocks)
+#define aes_hw_ctr32_encrypt_blocks BORINGSSL_ADD_PREFIX(aes_hw_ctr32_encrypt_blocks)
+#define aes_hw_decrypt BORINGSSL_ADD_PREFIX(aes_hw_decrypt)
+#define aes_hw_ecb_encrypt BORINGSSL_ADD_PREFIX(aes_hw_ecb_encrypt)
+#define aes_hw_encrypt BORINGSSL_ADD_PREFIX(aes_hw_encrypt)
+#define aes_hw_encrypt_key_to_decrypt_key BORINGSSL_ADD_PREFIX(aes_hw_encrypt_key_to_decrypt_key)
+#define aes_hw_set_decrypt_key BORINGSSL_ADD_PREFIX(aes_hw_set_decrypt_key)
+#define aes_hw_set_encrypt_key BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key)
+#define aes_hw_set_encrypt_key_alt BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key_alt)
+#define aes_hw_set_encrypt_key_base BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key_base)
+#define aes_hw_xts_decrypt BORINGSSL_ADD_PREFIX(aes_hw_xts_decrypt)
+#define aes_hw_xts_encrypt BORINGSSL_ADD_PREFIX(aes_hw_xts_encrypt)
+#define aesgcmsiv_htable6_init BORINGSSL_ADD_PREFIX(aesgcmsiv_htable6_init)
+#define aesgcmsiv_htable_init BORINGSSL_ADD_PREFIX(aesgcmsiv_htable_init)
+#define aesgcmsiv_htable_polyval BORINGSSL_ADD_PREFIX(aesgcmsiv_htable_polyval)
+#define aesgcmsiv_polyval_horner BORINGSSL_ADD_PREFIX(aesgcmsiv_polyval_horner)
+#define aesni_gcm_decrypt BORINGSSL_ADD_PREFIX(aesni_gcm_decrypt)
+#define aesni_gcm_encrypt BORINGSSL_ADD_PREFIX(aesni_gcm_encrypt)
+#define beeu_mod_inverse_vartime BORINGSSL_ADD_PREFIX(beeu_mod_inverse_vartime)
+#define bn_add_words BORINGSSL_ADD_PREFIX(bn_add_words)
+#define bn_gather5 BORINGSSL_ADD_PREFIX(bn_gather5)
+#define bn_mul4x_mont BORINGSSL_ADD_PREFIX(bn_mul4x_mont)
+#define bn_mul4x_mont_gather5 BORINGSSL_ADD_PREFIX(bn_mul4x_mont_gather5)
+#define bn_mul8x_mont_neon BORINGSSL_ADD_PREFIX(bn_mul8x_mont_neon)
+#define bn_mul_add_words BORINGSSL_ADD_PREFIX(bn_mul_add_words)
+#define bn_mul_comba4 BORINGSSL_ADD_PREFIX(bn_mul_comba4)
+#define bn_mul_comba8 BORINGSSL_ADD_PREFIX(bn_mul_comba8)
+#define bn_mul_mont_gather5_nohw BORINGSSL_ADD_PREFIX(bn_mul_mont_gather5_nohw)
+#define bn_mul_mont_nohw BORINGSSL_ADD_PREFIX(bn_mul_mont_nohw)
+#define bn_mul_mont_words BORINGSSL_ADD_PREFIX(bn_mul_mont_words)
+#define bn_mul_words BORINGSSL_ADD_PREFIX(bn_mul_words)
+#define bn_mulx4x_mont BORINGSSL_ADD_PREFIX(bn_mulx4x_mont)
+#define bn_mulx4x_mont_gather5 BORINGSSL_ADD_PREFIX(bn_mulx4x_mont_gather5)
+#define bn_power5_nohw BORINGSSL_ADD_PREFIX(bn_power5_nohw)
+#define bn_powerx5 BORINGSSL_ADD_PREFIX(bn_powerx5)
+#define bn_scatter5 BORINGSSL_ADD_PREFIX(bn_scatter5)
+#define bn_sqr8x_internal BORINGSSL_ADD_PREFIX(bn_sqr8x_internal)
+#define bn_sqr8x_mont BORINGSSL_ADD_PREFIX(bn_sqr8x_mont)
+#define bn_sqr_add_words BORINGSSL_ADD_PREFIX(bn_sqr_add_words)
+#define bn_sqr_comba4 BORINGSSL_ADD_PREFIX(bn_sqr_comba4)
+#define bn_sqr_comba8 BORINGSSL_ADD_PREFIX(bn_sqr_comba8)
+#define bn_sqrx8x_internal BORINGSSL_ADD_PREFIX(bn_sqrx8x_internal)
+#define bn_sub_words BORINGSSL_ADD_PREFIX(bn_sub_words)
+#define bsaes_cbc_encrypt BORINGSSL_ADD_PREFIX(bsaes_cbc_encrypt)
+#define bsaes_ctr32_encrypt_blocks BORINGSSL_ADD_PREFIX(bsaes_ctr32_encrypt_blocks)
+#define chacha20_poly1305_open BORINGSSL_ADD_PREFIX(chacha20_poly1305_open)
+#define chacha20_poly1305_open_avx2 BORINGSSL_ADD_PREFIX(chacha20_poly1305_open_avx2)
+#define chacha20_poly1305_open_sse41 BORINGSSL_ADD_PREFIX(chacha20_poly1305_open_sse41)
+#define chacha20_poly1305_seal BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal)
+#define chacha20_poly1305_seal_avx2 BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal_avx2)
+#define chacha20_poly1305_seal_sse41 BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal_sse41)
+#define ecp_nistz256_div_by_2 BORINGSSL_ADD_PREFIX(ecp_nistz256_div_by_2)
+#define ecp_nistz256_mul_by_2 BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_by_2)
+#define ecp_nistz256_mul_by_3 BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_by_3)
+#define ecp_nistz256_mul_mont BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont)
+#define ecp_nistz256_mul_mont_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont_adx)
+#define ecp_nistz256_mul_mont_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont_nohw)
+#define ecp_nistz256_neg BORINGSSL_ADD_PREFIX(ecp_nistz256_neg)
+#define ecp_nistz256_ord_mul_mont BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont)
+#define ecp_nistz256_ord_mul_mont_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont_adx)
+#define ecp_nistz256_ord_mul_mont_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont_nohw)
+#define ecp_nistz256_ord_sqr_mont BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont)
+#define ecp_nistz256_ord_sqr_mont_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont_adx)
+#define ecp_nistz256_ord_sqr_mont_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont_nohw)
+#define ecp_nistz256_point_add BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add)
+#define ecp_nistz256_point_add_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_adx)
+#define ecp_nistz256_point_add_affine BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine)
+#define ecp_nistz256_point_add_affine_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine_adx)
+#define ecp_nistz256_point_add_affine_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine_nohw)
+#define ecp_nistz256_point_add_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_nohw)
+#define ecp_nistz256_point_double BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double)
+#define ecp_nistz256_point_double_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double_adx)
+#define ecp_nistz256_point_double_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double_nohw)
+#define ecp_nistz256_select_w5 BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5)
+#define ecp_nistz256_select_w5_avx2 BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5_avx2)
+#define ecp_nistz256_select_w5_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5_nohw)
+#define ecp_nistz256_select_w7 BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7)
+#define ecp_nistz256_select_w7_avx2 BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7_avx2)
+#define ecp_nistz256_select_w7_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7_nohw)
+#define ecp_nistz256_sqr_mont BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont)
+#define ecp_nistz256_sqr_mont_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont_adx)
+#define ecp_nistz256_sqr_mont_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont_nohw)
+#define ecp_nistz256_sub BORINGSSL_ADD_PREFIX(ecp_nistz256_sub)
+#define fiat_curve25519_adx_mul BORINGSSL_ADD_PREFIX(fiat_curve25519_adx_mul)
+#define fiat_curve25519_adx_square BORINGSSL_ADD_PREFIX(fiat_curve25519_adx_square)
+#define fiat_p256_adx_mul BORINGSSL_ADD_PREFIX(fiat_p256_adx_mul)
+#define fiat_p256_adx_sqr BORINGSSL_ADD_PREFIX(fiat_p256_adx_sqr)
+#define gcm_ghash_avx BORINGSSL_ADD_PREFIX(gcm_ghash_avx)
+#define gcm_ghash_clmul BORINGSSL_ADD_PREFIX(gcm_ghash_clmul)
+#define gcm_ghash_neon BORINGSSL_ADD_PREFIX(gcm_ghash_neon)
+#define gcm_ghash_ssse3 BORINGSSL_ADD_PREFIX(gcm_ghash_ssse3)
+#define gcm_ghash_v8 BORINGSSL_ADD_PREFIX(gcm_ghash_v8)
+#define gcm_ghash_vpclmulqdq_avx2 BORINGSSL_ADD_PREFIX(gcm_ghash_vpclmulqdq_avx2)
+#define gcm_ghash_vpclmulqdq_avx512 BORINGSSL_ADD_PREFIX(gcm_ghash_vpclmulqdq_avx512)
+#define gcm_gmult_avx BORINGSSL_ADD_PREFIX(gcm_gmult_avx)
+#define gcm_gmult_clmul BORINGSSL_ADD_PREFIX(gcm_gmult_clmul)
+#define gcm_gmult_neon BORINGSSL_ADD_PREFIX(gcm_gmult_neon)
+#define gcm_gmult_ssse3 BORINGSSL_ADD_PREFIX(gcm_gmult_ssse3)
+#define gcm_gmult_v8 BORINGSSL_ADD_PREFIX(gcm_gmult_v8)
+#define gcm_gmult_vpclmulqdq_avx2 BORINGSSL_ADD_PREFIX(gcm_gmult_vpclmulqdq_avx2)
+#define gcm_gmult_vpclmulqdq_avx512 BORINGSSL_ADD_PREFIX(gcm_gmult_vpclmulqdq_avx512)
+#define gcm_init_avx BORINGSSL_ADD_PREFIX(gcm_init_avx)
+#define gcm_init_clmul BORINGSSL_ADD_PREFIX(gcm_init_clmul)
+#define gcm_init_neon BORINGSSL_ADD_PREFIX(gcm_init_neon)
+#define gcm_init_v8 BORINGSSL_ADD_PREFIX(gcm_init_v8)
+#define gcm_init_vpclmulqdq_avx2 BORINGSSL_ADD_PREFIX(gcm_init_vpclmulqdq_avx2)
+#define gcm_init_vpclmulqdq_avx512 BORINGSSL_ADD_PREFIX(gcm_init_vpclmulqdq_avx512)
+#define md5_block_asm_data_order BORINGSSL_ADD_PREFIX(md5_block_asm_data_order)
+#define openssl_poly1305_neon2_addmulmod BORINGSSL_ADD_PREFIX(openssl_poly1305_neon2_addmulmod)
+#define openssl_poly1305_neon2_blocks BORINGSSL_ADD_PREFIX(openssl_poly1305_neon2_blocks)
+#define poly_Rq_mul BORINGSSL_ADD_PREFIX(poly_Rq_mul)
+#define rsaz_1024_gather5_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_gather5_avx2)
+#define rsaz_1024_mul_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_mul_avx2)
+#define rsaz_1024_norm2red_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_norm2red_avx2)
+#define rsaz_1024_red2norm_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_red2norm_avx2)
+#define rsaz_1024_scatter5_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_scatter5_avx2)
+#define rsaz_1024_sqr_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_sqr_avx2)
+#define sha1_block_data_order_avx BORINGSSL_ADD_PREFIX(sha1_block_data_order_avx)
+#define sha1_block_data_order_avx2 BORINGSSL_ADD_PREFIX(sha1_block_data_order_avx2)
+#define sha1_block_data_order_hw BORINGSSL_ADD_PREFIX(sha1_block_data_order_hw)
+#define sha1_block_data_order_neon BORINGSSL_ADD_PREFIX(sha1_block_data_order_neon)
+#define sha1_block_data_order_nohw BORINGSSL_ADD_PREFIX(sha1_block_data_order_nohw)
+#define sha1_block_data_order_ssse3 BORINGSSL_ADD_PREFIX(sha1_block_data_order_ssse3)
+#define sha256_block_data_order_avx BORINGSSL_ADD_PREFIX(sha256_block_data_order_avx)
+#define sha256_block_data_order_hw BORINGSSL_ADD_PREFIX(sha256_block_data_order_hw)
+#define sha256_block_data_order_neon BORINGSSL_ADD_PREFIX(sha256_block_data_order_neon)
+#define sha256_block_data_order_nohw BORINGSSL_ADD_PREFIX(sha256_block_data_order_nohw)
+#define sha256_block_data_order_ssse3 BORINGSSL_ADD_PREFIX(sha256_block_data_order_ssse3)
+#define sha512_block_data_order_avx BORINGSSL_ADD_PREFIX(sha512_block_data_order_avx)
+#define sha512_block_data_order_hw BORINGSSL_ADD_PREFIX(sha512_block_data_order_hw)
+#define sha512_block_data_order_neon BORINGSSL_ADD_PREFIX(sha512_block_data_order_neon)
+#define sha512_block_data_order_nohw BORINGSSL_ADD_PREFIX(sha512_block_data_order_nohw)
+#define sha512_block_data_order_ssse3 BORINGSSL_ADD_PREFIX(sha512_block_data_order_ssse3)
+#define vpaes_cbc_encrypt BORINGSSL_ADD_PREFIX(vpaes_cbc_encrypt)
+#define vpaes_ctr32_encrypt_blocks BORINGSSL_ADD_PREFIX(vpaes_ctr32_encrypt_blocks)
+#define vpaes_decrypt BORINGSSL_ADD_PREFIX(vpaes_decrypt)
+#define vpaes_decrypt_key_to_bsaes BORINGSSL_ADD_PREFIX(vpaes_decrypt_key_to_bsaes)
+#define vpaes_encrypt BORINGSSL_ADD_PREFIX(vpaes_encrypt)
+#define vpaes_encrypt_key_to_bsaes BORINGSSL_ADD_PREFIX(vpaes_encrypt_key_to_bsaes)
+#define vpaes_set_decrypt_key BORINGSSL_ADD_PREFIX(vpaes_set_decrypt_key)
+#define vpaes_set_encrypt_key BORINGSSL_ADD_PREFIX(vpaes_set_encrypt_key)
+#define x25519_NEON BORINGSSL_ADD_PREFIX(x25519_NEON)
+
+#endif  // __APPLE__
diff --git a/gen/boringssl_prefix_symbols_internal_asm.inc b/gen/boringssl_prefix_symbols_internal_asm.inc
new file mode 100644
index 0000000..ea66411
--- /dev/null
+++ b/gen/boringssl_prefix_symbols_internal_asm.inc
@@ -0,0 +1,312 @@
+; Copyright 2024 The BoringSSL Authors
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+;     https://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+; Generated by go ./util/pregenerate. Do not edit manually.
+
+%define _BORINGSSL_function_hit BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(BORINGSSL_function_hit))
+%define _CRYPTO_rdrand BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(CRYPTO_rdrand))
+%define _CRYPTO_rdrand_multiple8_buf BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(CRYPTO_rdrand_multiple8_buf))
+%define _ChaCha20_ctr32_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_avx2))
+%define _ChaCha20_ctr32_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_neon))
+%define _ChaCha20_ctr32_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_nohw))
+%define _ChaCha20_ctr32_ssse3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_ssse3))
+%define _ChaCha20_ctr32_ssse3_4x BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_ssse3_4x))
+%define _abi_test_bad_unwind_epilog BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_epilog))
+%define _abi_test_bad_unwind_temporary BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_temporary))
+%define _abi_test_bad_unwind_wrong_register BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_wrong_register))
+%define _abi_test_clobber_d0 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d0))
+%define _abi_test_clobber_d1 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d1))
+%define _abi_test_clobber_d10 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d10))
+%define _abi_test_clobber_d11 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d11))
+%define _abi_test_clobber_d12 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d12))
+%define _abi_test_clobber_d13 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d13))
+%define _abi_test_clobber_d14 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d14))
+%define _abi_test_clobber_d15 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d15))
+%define _abi_test_clobber_d16 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d16))
+%define _abi_test_clobber_d17 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d17))
+%define _abi_test_clobber_d18 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d18))
+%define _abi_test_clobber_d19 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d19))
+%define _abi_test_clobber_d2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d2))
+%define _abi_test_clobber_d20 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d20))
+%define _abi_test_clobber_d21 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d21))
+%define _abi_test_clobber_d22 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d22))
+%define _abi_test_clobber_d23 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d23))
+%define _abi_test_clobber_d24 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d24))
+%define _abi_test_clobber_d25 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d25))
+%define _abi_test_clobber_d26 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d26))
+%define _abi_test_clobber_d27 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d27))
+%define _abi_test_clobber_d28 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d28))
+%define _abi_test_clobber_d29 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d29))
+%define _abi_test_clobber_d3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d3))
+%define _abi_test_clobber_d30 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d30))
+%define _abi_test_clobber_d31 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d31))
+%define _abi_test_clobber_d4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d4))
+%define _abi_test_clobber_d5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d5))
+%define _abi_test_clobber_d6 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d6))
+%define _abi_test_clobber_d7 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d7))
+%define _abi_test_clobber_d8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d8))
+%define _abi_test_clobber_d9 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_d9))
+%define _abi_test_clobber_eax BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_eax))
+%define _abi_test_clobber_ebp BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_ebp))
+%define _abi_test_clobber_ebx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_ebx))
+%define _abi_test_clobber_ecx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_ecx))
+%define _abi_test_clobber_edi BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_edi))
+%define _abi_test_clobber_edx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_edx))
+%define _abi_test_clobber_esi BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_esi))
+%define _abi_test_clobber_r0 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r0))
+%define _abi_test_clobber_r1 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r1))
+%define _abi_test_clobber_r10 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r10))
+%define _abi_test_clobber_r11 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r11))
+%define _abi_test_clobber_r12 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r12))
+%define _abi_test_clobber_r13 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r13))
+%define _abi_test_clobber_r14 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r14))
+%define _abi_test_clobber_r15 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r15))
+%define _abi_test_clobber_r2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r2))
+%define _abi_test_clobber_r3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r3))
+%define _abi_test_clobber_r4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r4))
+%define _abi_test_clobber_r5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r5))
+%define _abi_test_clobber_r6 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r6))
+%define _abi_test_clobber_r7 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r7))
+%define _abi_test_clobber_r8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r8))
+%define _abi_test_clobber_r9 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_r9))
+%define _abi_test_clobber_rax BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rax))
+%define _abi_test_clobber_rbp BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rbp))
+%define _abi_test_clobber_rbx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rbx))
+%define _abi_test_clobber_rcx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rcx))
+%define _abi_test_clobber_rdi BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rdi))
+%define _abi_test_clobber_rdx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rdx))
+%define _abi_test_clobber_rsi BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_rsi))
+%define _abi_test_clobber_v10_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v10_upper))
+%define _abi_test_clobber_v11_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v11_upper))
+%define _abi_test_clobber_v12_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v12_upper))
+%define _abi_test_clobber_v13_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v13_upper))
+%define _abi_test_clobber_v14_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v14_upper))
+%define _abi_test_clobber_v15_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v15_upper))
+%define _abi_test_clobber_v8_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v8_upper))
+%define _abi_test_clobber_v9_upper BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_v9_upper))
+%define _abi_test_clobber_x0 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x0))
+%define _abi_test_clobber_x1 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x1))
+%define _abi_test_clobber_x10 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x10))
+%define _abi_test_clobber_x11 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x11))
+%define _abi_test_clobber_x12 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x12))
+%define _abi_test_clobber_x13 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x13))
+%define _abi_test_clobber_x14 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x14))
+%define _abi_test_clobber_x15 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x15))
+%define _abi_test_clobber_x16 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x16))
+%define _abi_test_clobber_x17 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x17))
+%define _abi_test_clobber_x19 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x19))
+%define _abi_test_clobber_x2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x2))
+%define _abi_test_clobber_x20 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x20))
+%define _abi_test_clobber_x21 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x21))
+%define _abi_test_clobber_x22 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x22))
+%define _abi_test_clobber_x23 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x23))
+%define _abi_test_clobber_x24 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x24))
+%define _abi_test_clobber_x25 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x25))
+%define _abi_test_clobber_x26 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x26))
+%define _abi_test_clobber_x27 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x27))
+%define _abi_test_clobber_x28 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x28))
+%define _abi_test_clobber_x29 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x29))
+%define _abi_test_clobber_x3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x3))
+%define _abi_test_clobber_x4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x4))
+%define _abi_test_clobber_x5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x5))
+%define _abi_test_clobber_x6 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x6))
+%define _abi_test_clobber_x7 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x7))
+%define _abi_test_clobber_x8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x8))
+%define _abi_test_clobber_x9 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_x9))
+%define _abi_test_clobber_xmm0 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm0))
+%define _abi_test_clobber_xmm1 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm1))
+%define _abi_test_clobber_xmm10 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm10))
+%define _abi_test_clobber_xmm11 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm11))
+%define _abi_test_clobber_xmm12 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm12))
+%define _abi_test_clobber_xmm13 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm13))
+%define _abi_test_clobber_xmm14 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm14))
+%define _abi_test_clobber_xmm15 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm15))
+%define _abi_test_clobber_xmm2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm2))
+%define _abi_test_clobber_xmm3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm3))
+%define _abi_test_clobber_xmm4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm4))
+%define _abi_test_clobber_xmm5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm5))
+%define _abi_test_clobber_xmm6 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm6))
+%define _abi_test_clobber_xmm7 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm7))
+%define _abi_test_clobber_xmm8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm8))
+%define _abi_test_clobber_xmm9 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm9))
+%define _abi_test_get_and_clear_direction_flag BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_get_and_clear_direction_flag))
+%define _abi_test_set_direction_flag BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_set_direction_flag))
+%define _abi_test_trampoline BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_trampoline))
+%define _abi_test_unwind_return BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_unwind_return))
+%define _abi_test_unwind_start BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_unwind_start))
+%define _abi_test_unwind_stop BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(abi_test_unwind_stop))
+%define _aes128gcmsiv_aes_ks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_aes_ks))
+%define _aes128gcmsiv_aes_ks_enc_x1 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_aes_ks_enc_x1))
+%define _aes128gcmsiv_dec BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_dec))
+%define _aes128gcmsiv_ecb_enc_block BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_ecb_enc_block))
+%define _aes128gcmsiv_enc_msg_x4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_enc_msg_x4))
+%define _aes128gcmsiv_enc_msg_x8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_enc_msg_x8))
+%define _aes128gcmsiv_kdf BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes128gcmsiv_kdf))
+%define _aes256gcmsiv_aes_ks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_aes_ks))
+%define _aes256gcmsiv_aes_ks_enc_x1 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_aes_ks_enc_x1))
+%define _aes256gcmsiv_dec BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_dec))
+%define _aes256gcmsiv_ecb_enc_block BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_ecb_enc_block))
+%define _aes256gcmsiv_enc_msg_x4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_enc_msg_x4))
+%define _aes256gcmsiv_enc_msg_x8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_enc_msg_x8))
+%define _aes256gcmsiv_kdf BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes256gcmsiv_kdf))
+%define _aes_gcm_dec_kernel BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_gcm_dec_kernel))
+%define _aes_gcm_dec_update_vaes_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_gcm_dec_update_vaes_avx2))
+%define _aes_gcm_dec_update_vaes_avx512 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_gcm_dec_update_vaes_avx512))
+%define _aes_gcm_enc_kernel BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_gcm_enc_kernel))
+%define _aes_gcm_enc_update_vaes_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_gcm_enc_update_vaes_avx2))
+%define _aes_gcm_enc_update_vaes_avx512 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_gcm_enc_update_vaes_avx512))
+%define _aes_hw_cbc_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_cbc_encrypt))
+%define _aes_hw_ccm64_decrypt_blocks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_ccm64_decrypt_blocks))
+%define _aes_hw_ccm64_encrypt_blocks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_ccm64_encrypt_blocks))
+%define _aes_hw_ctr32_encrypt_blocks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_ctr32_encrypt_blocks))
+%define _aes_hw_decrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_decrypt))
+%define _aes_hw_ecb_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_ecb_encrypt))
+%define _aes_hw_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_encrypt))
+%define _aes_hw_encrypt_key_to_decrypt_key BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_encrypt_key_to_decrypt_key))
+%define _aes_hw_set_decrypt_key BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_set_decrypt_key))
+%define _aes_hw_set_encrypt_key BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key))
+%define _aes_hw_set_encrypt_key_alt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key_alt))
+%define _aes_hw_set_encrypt_key_base BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key_base))
+%define _aes_hw_xts_decrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_xts_decrypt))
+%define _aes_hw_xts_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aes_hw_xts_encrypt))
+%define _aesgcmsiv_htable6_init BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aesgcmsiv_htable6_init))
+%define _aesgcmsiv_htable_init BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aesgcmsiv_htable_init))
+%define _aesgcmsiv_htable_polyval BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aesgcmsiv_htable_polyval))
+%define _aesgcmsiv_polyval_horner BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aesgcmsiv_polyval_horner))
+%define _aesni_gcm_decrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aesni_gcm_decrypt))
+%define _aesni_gcm_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(aesni_gcm_encrypt))
+%define _beeu_mod_inverse_vartime BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(beeu_mod_inverse_vartime))
+%define _bn_add_words BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_add_words))
+%define _bn_gather5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_gather5))
+%define _bn_mul4x_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul4x_mont))
+%define _bn_mul4x_mont_gather5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul4x_mont_gather5))
+%define _bn_mul8x_mont_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul8x_mont_neon))
+%define _bn_mul_add_words BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_add_words))
+%define _bn_mul_comba4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_comba4))
+%define _bn_mul_comba8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_comba8))
+%define _bn_mul_mont_gather5_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_mont_gather5_nohw))
+%define _bn_mul_mont_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_mont_nohw))
+%define _bn_mul_mont_words BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_mont_words))
+%define _bn_mul_words BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mul_words))
+%define _bn_mulx4x_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mulx4x_mont))
+%define _bn_mulx4x_mont_gather5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_mulx4x_mont_gather5))
+%define _bn_power5_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_power5_nohw))
+%define _bn_powerx5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_powerx5))
+%define _bn_scatter5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_scatter5))
+%define _bn_sqr8x_internal BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sqr8x_internal))
+%define _bn_sqr8x_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sqr8x_mont))
+%define _bn_sqr_add_words BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sqr_add_words))
+%define _bn_sqr_comba4 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sqr_comba4))
+%define _bn_sqr_comba8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sqr_comba8))
+%define _bn_sqrx8x_internal BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sqrx8x_internal))
+%define _bn_sub_words BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bn_sub_words))
+%define _bsaes_cbc_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bsaes_cbc_encrypt))
+%define _bsaes_ctr32_encrypt_blocks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(bsaes_ctr32_encrypt_blocks))
+%define _chacha20_poly1305_open BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(chacha20_poly1305_open))
+%define _chacha20_poly1305_open_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(chacha20_poly1305_open_avx2))
+%define _chacha20_poly1305_open_sse41 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(chacha20_poly1305_open_sse41))
+%define _chacha20_poly1305_seal BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal))
+%define _chacha20_poly1305_seal_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal_avx2))
+%define _chacha20_poly1305_seal_sse41 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal_sse41))
+%define _ecp_nistz256_div_by_2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_div_by_2))
+%define _ecp_nistz256_mul_by_2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_by_2))
+%define _ecp_nistz256_mul_by_3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_by_3))
+%define _ecp_nistz256_mul_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont))
+%define _ecp_nistz256_mul_mont_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont_adx))
+%define _ecp_nistz256_mul_mont_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont_nohw))
+%define _ecp_nistz256_neg BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_neg))
+%define _ecp_nistz256_ord_mul_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont))
+%define _ecp_nistz256_ord_mul_mont_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont_adx))
+%define _ecp_nistz256_ord_mul_mont_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont_nohw))
+%define _ecp_nistz256_ord_sqr_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont))
+%define _ecp_nistz256_ord_sqr_mont_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont_adx))
+%define _ecp_nistz256_ord_sqr_mont_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont_nohw))
+%define _ecp_nistz256_point_add BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add))
+%define _ecp_nistz256_point_add_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_adx))
+%define _ecp_nistz256_point_add_affine BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine))
+%define _ecp_nistz256_point_add_affine_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine_adx))
+%define _ecp_nistz256_point_add_affine_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine_nohw))
+%define _ecp_nistz256_point_add_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_nohw))
+%define _ecp_nistz256_point_double BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double))
+%define _ecp_nistz256_point_double_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double_adx))
+%define _ecp_nistz256_point_double_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double_nohw))
+%define _ecp_nistz256_select_w5 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5))
+%define _ecp_nistz256_select_w5_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5_avx2))
+%define _ecp_nistz256_select_w5_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5_nohw))
+%define _ecp_nistz256_select_w7 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7))
+%define _ecp_nistz256_select_w7_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7_avx2))
+%define _ecp_nistz256_select_w7_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7_nohw))
+%define _ecp_nistz256_sqr_mont BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont))
+%define _ecp_nistz256_sqr_mont_adx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont_adx))
+%define _ecp_nistz256_sqr_mont_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont_nohw))
+%define _ecp_nistz256_sub BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(ecp_nistz256_sub))
+%define _fiat_curve25519_adx_mul BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(fiat_curve25519_adx_mul))
+%define _fiat_curve25519_adx_square BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(fiat_curve25519_adx_square))
+%define _fiat_p256_adx_mul BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(fiat_p256_adx_mul))
+%define _fiat_p256_adx_sqr BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(fiat_p256_adx_sqr))
+%define _gcm_ghash_avx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_avx))
+%define _gcm_ghash_clmul BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_clmul))
+%define _gcm_ghash_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_neon))
+%define _gcm_ghash_ssse3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_ssse3))
+%define _gcm_ghash_v8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_v8))
+%define _gcm_ghash_vpclmulqdq_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_vpclmulqdq_avx2))
+%define _gcm_ghash_vpclmulqdq_avx512 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_ghash_vpclmulqdq_avx512))
+%define _gcm_gmult_avx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_avx))
+%define _gcm_gmult_clmul BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_clmul))
+%define _gcm_gmult_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_neon))
+%define _gcm_gmult_ssse3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_ssse3))
+%define _gcm_gmult_v8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_v8))
+%define _gcm_gmult_vpclmulqdq_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_vpclmulqdq_avx2))
+%define _gcm_gmult_vpclmulqdq_avx512 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_gmult_vpclmulqdq_avx512))
+%define _gcm_init_avx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_init_avx))
+%define _gcm_init_clmul BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_init_clmul))
+%define _gcm_init_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_init_neon))
+%define _gcm_init_v8 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_init_v8))
+%define _gcm_init_vpclmulqdq_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_init_vpclmulqdq_avx2))
+%define _gcm_init_vpclmulqdq_avx512 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(gcm_init_vpclmulqdq_avx512))
+%define _md5_block_asm_data_order BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(md5_block_asm_data_order))
+%define _openssl_poly1305_neon2_addmulmod BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(openssl_poly1305_neon2_addmulmod))
+%define _openssl_poly1305_neon2_blocks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(openssl_poly1305_neon2_blocks))
+%define _poly_Rq_mul BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(poly_Rq_mul))
+%define _rsaz_1024_gather5_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(rsaz_1024_gather5_avx2))
+%define _rsaz_1024_mul_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(rsaz_1024_mul_avx2))
+%define _rsaz_1024_norm2red_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(rsaz_1024_norm2red_avx2))
+%define _rsaz_1024_red2norm_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(rsaz_1024_red2norm_avx2))
+%define _rsaz_1024_scatter5_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(rsaz_1024_scatter5_avx2))
+%define _rsaz_1024_sqr_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(rsaz_1024_sqr_avx2))
+%define _sha1_block_data_order_avx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha1_block_data_order_avx))
+%define _sha1_block_data_order_avx2 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha1_block_data_order_avx2))
+%define _sha1_block_data_order_hw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha1_block_data_order_hw))
+%define _sha1_block_data_order_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha1_block_data_order_neon))
+%define _sha1_block_data_order_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha1_block_data_order_nohw))
+%define _sha1_block_data_order_ssse3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha1_block_data_order_ssse3))
+%define _sha256_block_data_order_avx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha256_block_data_order_avx))
+%define _sha256_block_data_order_hw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha256_block_data_order_hw))
+%define _sha256_block_data_order_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha256_block_data_order_neon))
+%define _sha256_block_data_order_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha256_block_data_order_nohw))
+%define _sha256_block_data_order_ssse3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha256_block_data_order_ssse3))
+%define _sha512_block_data_order_avx BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha512_block_data_order_avx))
+%define _sha512_block_data_order_hw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha512_block_data_order_hw))
+%define _sha512_block_data_order_neon BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha512_block_data_order_neon))
+%define _sha512_block_data_order_nohw BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha512_block_data_order_nohw))
+%define _sha512_block_data_order_ssse3 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(sha512_block_data_order_ssse3))
+%define _vpaes_cbc_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_cbc_encrypt))
+%define _vpaes_ctr32_encrypt_blocks BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_ctr32_encrypt_blocks))
+%define _vpaes_decrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_decrypt))
+%define _vpaes_decrypt_key_to_bsaes BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_decrypt_key_to_bsaes))
+%define _vpaes_encrypt BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_encrypt))
+%define _vpaes_encrypt_key_to_bsaes BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_encrypt_key_to_bsaes))
+%define _vpaes_set_decrypt_key BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_set_decrypt_key))
+%define _vpaes_set_encrypt_key BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(vpaes_set_encrypt_key))
+%define _x25519_NEON BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(x25519_NEON))
diff --git a/gen/boringssl_prefix_symbols_internal_c.inc b/gen/boringssl_prefix_symbols_internal_c.inc
new file mode 100644
index 0000000..009a821
--- /dev/null
+++ b/gen/boringssl_prefix_symbols_internal_c.inc
@@ -0,0 +1,312 @@
+// Copyright 2024 The BoringSSL Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Generated by go ./util/pregenerate. Do not edit manually.
+
+#define BORINGSSL_function_hit BORINGSSL_ADD_PREFIX(BORINGSSL_function_hit)
+#define CRYPTO_rdrand BORINGSSL_ADD_PREFIX(CRYPTO_rdrand)
+#define CRYPTO_rdrand_multiple8_buf BORINGSSL_ADD_PREFIX(CRYPTO_rdrand_multiple8_buf)
+#define ChaCha20_ctr32_avx2 BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_avx2)
+#define ChaCha20_ctr32_neon BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_neon)
+#define ChaCha20_ctr32_nohw BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_nohw)
+#define ChaCha20_ctr32_ssse3 BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_ssse3)
+#define ChaCha20_ctr32_ssse3_4x BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_ssse3_4x)
+#define abi_test_bad_unwind_epilog BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_epilog)
+#define abi_test_bad_unwind_temporary BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_temporary)
+#define abi_test_bad_unwind_wrong_register BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_wrong_register)
+#define abi_test_clobber_d0 BORINGSSL_ADD_PREFIX(abi_test_clobber_d0)
+#define abi_test_clobber_d1 BORINGSSL_ADD_PREFIX(abi_test_clobber_d1)
+#define abi_test_clobber_d10 BORINGSSL_ADD_PREFIX(abi_test_clobber_d10)
+#define abi_test_clobber_d11 BORINGSSL_ADD_PREFIX(abi_test_clobber_d11)
+#define abi_test_clobber_d12 BORINGSSL_ADD_PREFIX(abi_test_clobber_d12)
+#define abi_test_clobber_d13 BORINGSSL_ADD_PREFIX(abi_test_clobber_d13)
+#define abi_test_clobber_d14 BORINGSSL_ADD_PREFIX(abi_test_clobber_d14)
+#define abi_test_clobber_d15 BORINGSSL_ADD_PREFIX(abi_test_clobber_d15)
+#define abi_test_clobber_d16 BORINGSSL_ADD_PREFIX(abi_test_clobber_d16)
+#define abi_test_clobber_d17 BORINGSSL_ADD_PREFIX(abi_test_clobber_d17)
+#define abi_test_clobber_d18 BORINGSSL_ADD_PREFIX(abi_test_clobber_d18)
+#define abi_test_clobber_d19 BORINGSSL_ADD_PREFIX(abi_test_clobber_d19)
+#define abi_test_clobber_d2 BORINGSSL_ADD_PREFIX(abi_test_clobber_d2)
+#define abi_test_clobber_d20 BORINGSSL_ADD_PREFIX(abi_test_clobber_d20)
+#define abi_test_clobber_d21 BORINGSSL_ADD_PREFIX(abi_test_clobber_d21)
+#define abi_test_clobber_d22 BORINGSSL_ADD_PREFIX(abi_test_clobber_d22)
+#define abi_test_clobber_d23 BORINGSSL_ADD_PREFIX(abi_test_clobber_d23)
+#define abi_test_clobber_d24 BORINGSSL_ADD_PREFIX(abi_test_clobber_d24)
+#define abi_test_clobber_d25 BORINGSSL_ADD_PREFIX(abi_test_clobber_d25)
+#define abi_test_clobber_d26 BORINGSSL_ADD_PREFIX(abi_test_clobber_d26)
+#define abi_test_clobber_d27 BORINGSSL_ADD_PREFIX(abi_test_clobber_d27)
+#define abi_test_clobber_d28 BORINGSSL_ADD_PREFIX(abi_test_clobber_d28)
+#define abi_test_clobber_d29 BORINGSSL_ADD_PREFIX(abi_test_clobber_d29)
+#define abi_test_clobber_d3 BORINGSSL_ADD_PREFIX(abi_test_clobber_d3)
+#define abi_test_clobber_d30 BORINGSSL_ADD_PREFIX(abi_test_clobber_d30)
+#define abi_test_clobber_d31 BORINGSSL_ADD_PREFIX(abi_test_clobber_d31)
+#define abi_test_clobber_d4 BORINGSSL_ADD_PREFIX(abi_test_clobber_d4)
+#define abi_test_clobber_d5 BORINGSSL_ADD_PREFIX(abi_test_clobber_d5)
+#define abi_test_clobber_d6 BORINGSSL_ADD_PREFIX(abi_test_clobber_d6)
+#define abi_test_clobber_d7 BORINGSSL_ADD_PREFIX(abi_test_clobber_d7)
+#define abi_test_clobber_d8 BORINGSSL_ADD_PREFIX(abi_test_clobber_d8)
+#define abi_test_clobber_d9 BORINGSSL_ADD_PREFIX(abi_test_clobber_d9)
+#define abi_test_clobber_eax BORINGSSL_ADD_PREFIX(abi_test_clobber_eax)
+#define abi_test_clobber_ebp BORINGSSL_ADD_PREFIX(abi_test_clobber_ebp)
+#define abi_test_clobber_ebx BORINGSSL_ADD_PREFIX(abi_test_clobber_ebx)
+#define abi_test_clobber_ecx BORINGSSL_ADD_PREFIX(abi_test_clobber_ecx)
+#define abi_test_clobber_edi BORINGSSL_ADD_PREFIX(abi_test_clobber_edi)
+#define abi_test_clobber_edx BORINGSSL_ADD_PREFIX(abi_test_clobber_edx)
+#define abi_test_clobber_esi BORINGSSL_ADD_PREFIX(abi_test_clobber_esi)
+#define abi_test_clobber_r0 BORINGSSL_ADD_PREFIX(abi_test_clobber_r0)
+#define abi_test_clobber_r1 BORINGSSL_ADD_PREFIX(abi_test_clobber_r1)
+#define abi_test_clobber_r10 BORINGSSL_ADD_PREFIX(abi_test_clobber_r10)
+#define abi_test_clobber_r11 BORINGSSL_ADD_PREFIX(abi_test_clobber_r11)
+#define abi_test_clobber_r12 BORINGSSL_ADD_PREFIX(abi_test_clobber_r12)
+#define abi_test_clobber_r13 BORINGSSL_ADD_PREFIX(abi_test_clobber_r13)
+#define abi_test_clobber_r14 BORINGSSL_ADD_PREFIX(abi_test_clobber_r14)
+#define abi_test_clobber_r15 BORINGSSL_ADD_PREFIX(abi_test_clobber_r15)
+#define abi_test_clobber_r2 BORINGSSL_ADD_PREFIX(abi_test_clobber_r2)
+#define abi_test_clobber_r3 BORINGSSL_ADD_PREFIX(abi_test_clobber_r3)
+#define abi_test_clobber_r4 BORINGSSL_ADD_PREFIX(abi_test_clobber_r4)
+#define abi_test_clobber_r5 BORINGSSL_ADD_PREFIX(abi_test_clobber_r5)
+#define abi_test_clobber_r6 BORINGSSL_ADD_PREFIX(abi_test_clobber_r6)
+#define abi_test_clobber_r7 BORINGSSL_ADD_PREFIX(abi_test_clobber_r7)
+#define abi_test_clobber_r8 BORINGSSL_ADD_PREFIX(abi_test_clobber_r8)
+#define abi_test_clobber_r9 BORINGSSL_ADD_PREFIX(abi_test_clobber_r9)
+#define abi_test_clobber_rax BORINGSSL_ADD_PREFIX(abi_test_clobber_rax)
+#define abi_test_clobber_rbp BORINGSSL_ADD_PREFIX(abi_test_clobber_rbp)
+#define abi_test_clobber_rbx BORINGSSL_ADD_PREFIX(abi_test_clobber_rbx)
+#define abi_test_clobber_rcx BORINGSSL_ADD_PREFIX(abi_test_clobber_rcx)
+#define abi_test_clobber_rdi BORINGSSL_ADD_PREFIX(abi_test_clobber_rdi)
+#define abi_test_clobber_rdx BORINGSSL_ADD_PREFIX(abi_test_clobber_rdx)
+#define abi_test_clobber_rsi BORINGSSL_ADD_PREFIX(abi_test_clobber_rsi)
+#define abi_test_clobber_v10_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v10_upper)
+#define abi_test_clobber_v11_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v11_upper)
+#define abi_test_clobber_v12_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v12_upper)
+#define abi_test_clobber_v13_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v13_upper)
+#define abi_test_clobber_v14_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v14_upper)
+#define abi_test_clobber_v15_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v15_upper)
+#define abi_test_clobber_v8_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v8_upper)
+#define abi_test_clobber_v9_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v9_upper)
+#define abi_test_clobber_x0 BORINGSSL_ADD_PREFIX(abi_test_clobber_x0)
+#define abi_test_clobber_x1 BORINGSSL_ADD_PREFIX(abi_test_clobber_x1)
+#define abi_test_clobber_x10 BORINGSSL_ADD_PREFIX(abi_test_clobber_x10)
+#define abi_test_clobber_x11 BORINGSSL_ADD_PREFIX(abi_test_clobber_x11)
+#define abi_test_clobber_x12 BORINGSSL_ADD_PREFIX(abi_test_clobber_x12)
+#define abi_test_clobber_x13 BORINGSSL_ADD_PREFIX(abi_test_clobber_x13)
+#define abi_test_clobber_x14 BORINGSSL_ADD_PREFIX(abi_test_clobber_x14)
+#define abi_test_clobber_x15 BORINGSSL_ADD_PREFIX(abi_test_clobber_x15)
+#define abi_test_clobber_x16 BORINGSSL_ADD_PREFIX(abi_test_clobber_x16)
+#define abi_test_clobber_x17 BORINGSSL_ADD_PREFIX(abi_test_clobber_x17)
+#define abi_test_clobber_x19 BORINGSSL_ADD_PREFIX(abi_test_clobber_x19)
+#define abi_test_clobber_x2 BORINGSSL_ADD_PREFIX(abi_test_clobber_x2)
+#define abi_test_clobber_x20 BORINGSSL_ADD_PREFIX(abi_test_clobber_x20)
+#define abi_test_clobber_x21 BORINGSSL_ADD_PREFIX(abi_test_clobber_x21)
+#define abi_test_clobber_x22 BORINGSSL_ADD_PREFIX(abi_test_clobber_x22)
+#define abi_test_clobber_x23 BORINGSSL_ADD_PREFIX(abi_test_clobber_x23)
+#define abi_test_clobber_x24 BORINGSSL_ADD_PREFIX(abi_test_clobber_x24)
+#define abi_test_clobber_x25 BORINGSSL_ADD_PREFIX(abi_test_clobber_x25)
+#define abi_test_clobber_x26 BORINGSSL_ADD_PREFIX(abi_test_clobber_x26)
+#define abi_test_clobber_x27 BORINGSSL_ADD_PREFIX(abi_test_clobber_x27)
+#define abi_test_clobber_x28 BORINGSSL_ADD_PREFIX(abi_test_clobber_x28)
+#define abi_test_clobber_x29 BORINGSSL_ADD_PREFIX(abi_test_clobber_x29)
+#define abi_test_clobber_x3 BORINGSSL_ADD_PREFIX(abi_test_clobber_x3)
+#define abi_test_clobber_x4 BORINGSSL_ADD_PREFIX(abi_test_clobber_x4)
+#define abi_test_clobber_x5 BORINGSSL_ADD_PREFIX(abi_test_clobber_x5)
+#define abi_test_clobber_x6 BORINGSSL_ADD_PREFIX(abi_test_clobber_x6)
+#define abi_test_clobber_x7 BORINGSSL_ADD_PREFIX(abi_test_clobber_x7)
+#define abi_test_clobber_x8 BORINGSSL_ADD_PREFIX(abi_test_clobber_x8)
+#define abi_test_clobber_x9 BORINGSSL_ADD_PREFIX(abi_test_clobber_x9)
+#define abi_test_clobber_xmm0 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm0)
+#define abi_test_clobber_xmm1 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm1)
+#define abi_test_clobber_xmm10 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm10)
+#define abi_test_clobber_xmm11 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm11)
+#define abi_test_clobber_xmm12 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm12)
+#define abi_test_clobber_xmm13 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm13)
+#define abi_test_clobber_xmm14 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm14)
+#define abi_test_clobber_xmm15 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm15)
+#define abi_test_clobber_xmm2 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm2)
+#define abi_test_clobber_xmm3 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm3)
+#define abi_test_clobber_xmm4 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm4)
+#define abi_test_clobber_xmm5 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm5)
+#define abi_test_clobber_xmm6 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm6)
+#define abi_test_clobber_xmm7 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm7)
+#define abi_test_clobber_xmm8 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm8)
+#define abi_test_clobber_xmm9 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm9)
+#define abi_test_get_and_clear_direction_flag BORINGSSL_ADD_PREFIX(abi_test_get_and_clear_direction_flag)
+#define abi_test_set_direction_flag BORINGSSL_ADD_PREFIX(abi_test_set_direction_flag)
+#define abi_test_trampoline BORINGSSL_ADD_PREFIX(abi_test_trampoline)
+#define abi_test_unwind_return BORINGSSL_ADD_PREFIX(abi_test_unwind_return)
+#define abi_test_unwind_start BORINGSSL_ADD_PREFIX(abi_test_unwind_start)
+#define abi_test_unwind_stop BORINGSSL_ADD_PREFIX(abi_test_unwind_stop)
+#define aes128gcmsiv_aes_ks BORINGSSL_ADD_PREFIX(aes128gcmsiv_aes_ks)
+#define aes128gcmsiv_aes_ks_enc_x1 BORINGSSL_ADD_PREFIX(aes128gcmsiv_aes_ks_enc_x1)
+#define aes128gcmsiv_dec BORINGSSL_ADD_PREFIX(aes128gcmsiv_dec)
+#define aes128gcmsiv_ecb_enc_block BORINGSSL_ADD_PREFIX(aes128gcmsiv_ecb_enc_block)
+#define aes128gcmsiv_enc_msg_x4 BORINGSSL_ADD_PREFIX(aes128gcmsiv_enc_msg_x4)
+#define aes128gcmsiv_enc_msg_x8 BORINGSSL_ADD_PREFIX(aes128gcmsiv_enc_msg_x8)
+#define aes128gcmsiv_kdf BORINGSSL_ADD_PREFIX(aes128gcmsiv_kdf)
+#define aes256gcmsiv_aes_ks BORINGSSL_ADD_PREFIX(aes256gcmsiv_aes_ks)
+#define aes256gcmsiv_aes_ks_enc_x1 BORINGSSL_ADD_PREFIX(aes256gcmsiv_aes_ks_enc_x1)
+#define aes256gcmsiv_dec BORINGSSL_ADD_PREFIX(aes256gcmsiv_dec)
+#define aes256gcmsiv_ecb_enc_block BORINGSSL_ADD_PREFIX(aes256gcmsiv_ecb_enc_block)
+#define aes256gcmsiv_enc_msg_x4 BORINGSSL_ADD_PREFIX(aes256gcmsiv_enc_msg_x4)
+#define aes256gcmsiv_enc_msg_x8 BORINGSSL_ADD_PREFIX(aes256gcmsiv_enc_msg_x8)
+#define aes256gcmsiv_kdf BORINGSSL_ADD_PREFIX(aes256gcmsiv_kdf)
+#define aes_gcm_dec_kernel BORINGSSL_ADD_PREFIX(aes_gcm_dec_kernel)
+#define aes_gcm_dec_update_vaes_avx2 BORINGSSL_ADD_PREFIX(aes_gcm_dec_update_vaes_avx2)
+#define aes_gcm_dec_update_vaes_avx512 BORINGSSL_ADD_PREFIX(aes_gcm_dec_update_vaes_avx512)
+#define aes_gcm_enc_kernel BORINGSSL_ADD_PREFIX(aes_gcm_enc_kernel)
+#define aes_gcm_enc_update_vaes_avx2 BORINGSSL_ADD_PREFIX(aes_gcm_enc_update_vaes_avx2)
+#define aes_gcm_enc_update_vaes_avx512 BORINGSSL_ADD_PREFIX(aes_gcm_enc_update_vaes_avx512)
+#define aes_hw_cbc_encrypt BORINGSSL_ADD_PREFIX(aes_hw_cbc_encrypt)
+#define aes_hw_ccm64_decrypt_blocks BORINGSSL_ADD_PREFIX(aes_hw_ccm64_decrypt_blocks)
+#define aes_hw_ccm64_encrypt_blocks BORINGSSL_ADD_PREFIX(aes_hw_ccm64_encrypt_blocks)
+#define aes_hw_ctr32_encrypt_blocks BORINGSSL_ADD_PREFIX(aes_hw_ctr32_encrypt_blocks)
+#define aes_hw_decrypt BORINGSSL_ADD_PREFIX(aes_hw_decrypt)
+#define aes_hw_ecb_encrypt BORINGSSL_ADD_PREFIX(aes_hw_ecb_encrypt)
+#define aes_hw_encrypt BORINGSSL_ADD_PREFIX(aes_hw_encrypt)
+#define aes_hw_encrypt_key_to_decrypt_key BORINGSSL_ADD_PREFIX(aes_hw_encrypt_key_to_decrypt_key)
+#define aes_hw_set_decrypt_key BORINGSSL_ADD_PREFIX(aes_hw_set_decrypt_key)
+#define aes_hw_set_encrypt_key BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key)
+#define aes_hw_set_encrypt_key_alt BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key_alt)
+#define aes_hw_set_encrypt_key_base BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key_base)
+#define aes_hw_xts_decrypt BORINGSSL_ADD_PREFIX(aes_hw_xts_decrypt)
+#define aes_hw_xts_encrypt BORINGSSL_ADD_PREFIX(aes_hw_xts_encrypt)
+#define aesgcmsiv_htable6_init BORINGSSL_ADD_PREFIX(aesgcmsiv_htable6_init)
+#define aesgcmsiv_htable_init BORINGSSL_ADD_PREFIX(aesgcmsiv_htable_init)
+#define aesgcmsiv_htable_polyval BORINGSSL_ADD_PREFIX(aesgcmsiv_htable_polyval)
+#define aesgcmsiv_polyval_horner BORINGSSL_ADD_PREFIX(aesgcmsiv_polyval_horner)
+#define aesni_gcm_decrypt BORINGSSL_ADD_PREFIX(aesni_gcm_decrypt)
+#define aesni_gcm_encrypt BORINGSSL_ADD_PREFIX(aesni_gcm_encrypt)
+#define beeu_mod_inverse_vartime BORINGSSL_ADD_PREFIX(beeu_mod_inverse_vartime)
+#define bn_add_words BORINGSSL_ADD_PREFIX(bn_add_words)
+#define bn_gather5 BORINGSSL_ADD_PREFIX(bn_gather5)
+#define bn_mul4x_mont BORINGSSL_ADD_PREFIX(bn_mul4x_mont)
+#define bn_mul4x_mont_gather5 BORINGSSL_ADD_PREFIX(bn_mul4x_mont_gather5)
+#define bn_mul8x_mont_neon BORINGSSL_ADD_PREFIX(bn_mul8x_mont_neon)
+#define bn_mul_add_words BORINGSSL_ADD_PREFIX(bn_mul_add_words)
+#define bn_mul_comba4 BORINGSSL_ADD_PREFIX(bn_mul_comba4)
+#define bn_mul_comba8 BORINGSSL_ADD_PREFIX(bn_mul_comba8)
+#define bn_mul_mont_gather5_nohw BORINGSSL_ADD_PREFIX(bn_mul_mont_gather5_nohw)
+#define bn_mul_mont_nohw BORINGSSL_ADD_PREFIX(bn_mul_mont_nohw)
+#define bn_mul_mont_words BORINGSSL_ADD_PREFIX(bn_mul_mont_words)
+#define bn_mul_words BORINGSSL_ADD_PREFIX(bn_mul_words)
+#define bn_mulx4x_mont BORINGSSL_ADD_PREFIX(bn_mulx4x_mont)
+#define bn_mulx4x_mont_gather5 BORINGSSL_ADD_PREFIX(bn_mulx4x_mont_gather5)
+#define bn_power5_nohw BORINGSSL_ADD_PREFIX(bn_power5_nohw)
+#define bn_powerx5 BORINGSSL_ADD_PREFIX(bn_powerx5)
+#define bn_scatter5 BORINGSSL_ADD_PREFIX(bn_scatter5)
+#define bn_sqr8x_internal BORINGSSL_ADD_PREFIX(bn_sqr8x_internal)
+#define bn_sqr8x_mont BORINGSSL_ADD_PREFIX(bn_sqr8x_mont)
+#define bn_sqr_add_words BORINGSSL_ADD_PREFIX(bn_sqr_add_words)
+#define bn_sqr_comba4 BORINGSSL_ADD_PREFIX(bn_sqr_comba4)
+#define bn_sqr_comba8 BORINGSSL_ADD_PREFIX(bn_sqr_comba8)
+#define bn_sqrx8x_internal BORINGSSL_ADD_PREFIX(bn_sqrx8x_internal)
+#define bn_sub_words BORINGSSL_ADD_PREFIX(bn_sub_words)
+#define bsaes_cbc_encrypt BORINGSSL_ADD_PREFIX(bsaes_cbc_encrypt)
+#define bsaes_ctr32_encrypt_blocks BORINGSSL_ADD_PREFIX(bsaes_ctr32_encrypt_blocks)
+#define chacha20_poly1305_open BORINGSSL_ADD_PREFIX(chacha20_poly1305_open)
+#define chacha20_poly1305_open_avx2 BORINGSSL_ADD_PREFIX(chacha20_poly1305_open_avx2)
+#define chacha20_poly1305_open_sse41 BORINGSSL_ADD_PREFIX(chacha20_poly1305_open_sse41)
+#define chacha20_poly1305_seal BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal)
+#define chacha20_poly1305_seal_avx2 BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal_avx2)
+#define chacha20_poly1305_seal_sse41 BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal_sse41)
+#define ecp_nistz256_div_by_2 BORINGSSL_ADD_PREFIX(ecp_nistz256_div_by_2)
+#define ecp_nistz256_mul_by_2 BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_by_2)
+#define ecp_nistz256_mul_by_3 BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_by_3)
+#define ecp_nistz256_mul_mont BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont)
+#define ecp_nistz256_mul_mont_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont_adx)
+#define ecp_nistz256_mul_mont_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont_nohw)
+#define ecp_nistz256_neg BORINGSSL_ADD_PREFIX(ecp_nistz256_neg)
+#define ecp_nistz256_ord_mul_mont BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont)
+#define ecp_nistz256_ord_mul_mont_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont_adx)
+#define ecp_nistz256_ord_mul_mont_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont_nohw)
+#define ecp_nistz256_ord_sqr_mont BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont)
+#define ecp_nistz256_ord_sqr_mont_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont_adx)
+#define ecp_nistz256_ord_sqr_mont_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont_nohw)
+#define ecp_nistz256_point_add BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add)
+#define ecp_nistz256_point_add_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_adx)
+#define ecp_nistz256_point_add_affine BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine)
+#define ecp_nistz256_point_add_affine_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine_adx)
+#define ecp_nistz256_point_add_affine_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine_nohw)
+#define ecp_nistz256_point_add_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_nohw)
+#define ecp_nistz256_point_double BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double)
+#define ecp_nistz256_point_double_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double_adx)
+#define ecp_nistz256_point_double_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double_nohw)
+#define ecp_nistz256_select_w5 BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5)
+#define ecp_nistz256_select_w5_avx2 BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5_avx2)
+#define ecp_nistz256_select_w5_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5_nohw)
+#define ecp_nistz256_select_w7 BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7)
+#define ecp_nistz256_select_w7_avx2 BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7_avx2)
+#define ecp_nistz256_select_w7_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7_nohw)
+#define ecp_nistz256_sqr_mont BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont)
+#define ecp_nistz256_sqr_mont_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont_adx)
+#define ecp_nistz256_sqr_mont_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont_nohw)
+#define ecp_nistz256_sub BORINGSSL_ADD_PREFIX(ecp_nistz256_sub)
+#define fiat_curve25519_adx_mul BORINGSSL_ADD_PREFIX(fiat_curve25519_adx_mul)
+#define fiat_curve25519_adx_square BORINGSSL_ADD_PREFIX(fiat_curve25519_adx_square)
+#define fiat_p256_adx_mul BORINGSSL_ADD_PREFIX(fiat_p256_adx_mul)
+#define fiat_p256_adx_sqr BORINGSSL_ADD_PREFIX(fiat_p256_adx_sqr)
+#define gcm_ghash_avx BORINGSSL_ADD_PREFIX(gcm_ghash_avx)
+#define gcm_ghash_clmul BORINGSSL_ADD_PREFIX(gcm_ghash_clmul)
+#define gcm_ghash_neon BORINGSSL_ADD_PREFIX(gcm_ghash_neon)
+#define gcm_ghash_ssse3 BORINGSSL_ADD_PREFIX(gcm_ghash_ssse3)
+#define gcm_ghash_v8 BORINGSSL_ADD_PREFIX(gcm_ghash_v8)
+#define gcm_ghash_vpclmulqdq_avx2 BORINGSSL_ADD_PREFIX(gcm_ghash_vpclmulqdq_avx2)
+#define gcm_ghash_vpclmulqdq_avx512 BORINGSSL_ADD_PREFIX(gcm_ghash_vpclmulqdq_avx512)
+#define gcm_gmult_avx BORINGSSL_ADD_PREFIX(gcm_gmult_avx)
+#define gcm_gmult_clmul BORINGSSL_ADD_PREFIX(gcm_gmult_clmul)
+#define gcm_gmult_neon BORINGSSL_ADD_PREFIX(gcm_gmult_neon)
+#define gcm_gmult_ssse3 BORINGSSL_ADD_PREFIX(gcm_gmult_ssse3)
+#define gcm_gmult_v8 BORINGSSL_ADD_PREFIX(gcm_gmult_v8)
+#define gcm_gmult_vpclmulqdq_avx2 BORINGSSL_ADD_PREFIX(gcm_gmult_vpclmulqdq_avx2)
+#define gcm_gmult_vpclmulqdq_avx512 BORINGSSL_ADD_PREFIX(gcm_gmult_vpclmulqdq_avx512)
+#define gcm_init_avx BORINGSSL_ADD_PREFIX(gcm_init_avx)
+#define gcm_init_clmul BORINGSSL_ADD_PREFIX(gcm_init_clmul)
+#define gcm_init_neon BORINGSSL_ADD_PREFIX(gcm_init_neon)
+#define gcm_init_v8 BORINGSSL_ADD_PREFIX(gcm_init_v8)
+#define gcm_init_vpclmulqdq_avx2 BORINGSSL_ADD_PREFIX(gcm_init_vpclmulqdq_avx2)
+#define gcm_init_vpclmulqdq_avx512 BORINGSSL_ADD_PREFIX(gcm_init_vpclmulqdq_avx512)
+#define md5_block_asm_data_order BORINGSSL_ADD_PREFIX(md5_block_asm_data_order)
+#define openssl_poly1305_neon2_addmulmod BORINGSSL_ADD_PREFIX(openssl_poly1305_neon2_addmulmod)
+#define openssl_poly1305_neon2_blocks BORINGSSL_ADD_PREFIX(openssl_poly1305_neon2_blocks)
+#define poly_Rq_mul BORINGSSL_ADD_PREFIX(poly_Rq_mul)
+#define rsaz_1024_gather5_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_gather5_avx2)
+#define rsaz_1024_mul_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_mul_avx2)
+#define rsaz_1024_norm2red_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_norm2red_avx2)
+#define rsaz_1024_red2norm_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_red2norm_avx2)
+#define rsaz_1024_scatter5_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_scatter5_avx2)
+#define rsaz_1024_sqr_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_sqr_avx2)
+#define sha1_block_data_order_avx BORINGSSL_ADD_PREFIX(sha1_block_data_order_avx)
+#define sha1_block_data_order_avx2 BORINGSSL_ADD_PREFIX(sha1_block_data_order_avx2)
+#define sha1_block_data_order_hw BORINGSSL_ADD_PREFIX(sha1_block_data_order_hw)
+#define sha1_block_data_order_neon BORINGSSL_ADD_PREFIX(sha1_block_data_order_neon)
+#define sha1_block_data_order_nohw BORINGSSL_ADD_PREFIX(sha1_block_data_order_nohw)
+#define sha1_block_data_order_ssse3 BORINGSSL_ADD_PREFIX(sha1_block_data_order_ssse3)
+#define sha256_block_data_order_avx BORINGSSL_ADD_PREFIX(sha256_block_data_order_avx)
+#define sha256_block_data_order_hw BORINGSSL_ADD_PREFIX(sha256_block_data_order_hw)
+#define sha256_block_data_order_neon BORINGSSL_ADD_PREFIX(sha256_block_data_order_neon)
+#define sha256_block_data_order_nohw BORINGSSL_ADD_PREFIX(sha256_block_data_order_nohw)
+#define sha256_block_data_order_ssse3 BORINGSSL_ADD_PREFIX(sha256_block_data_order_ssse3)
+#define sha512_block_data_order_avx BORINGSSL_ADD_PREFIX(sha512_block_data_order_avx)
+#define sha512_block_data_order_hw BORINGSSL_ADD_PREFIX(sha512_block_data_order_hw)
+#define sha512_block_data_order_neon BORINGSSL_ADD_PREFIX(sha512_block_data_order_neon)
+#define sha512_block_data_order_nohw BORINGSSL_ADD_PREFIX(sha512_block_data_order_nohw)
+#define sha512_block_data_order_ssse3 BORINGSSL_ADD_PREFIX(sha512_block_data_order_ssse3)
+#define vpaes_cbc_encrypt BORINGSSL_ADD_PREFIX(vpaes_cbc_encrypt)
+#define vpaes_ctr32_encrypt_blocks BORINGSSL_ADD_PREFIX(vpaes_ctr32_encrypt_blocks)
+#define vpaes_decrypt BORINGSSL_ADD_PREFIX(vpaes_decrypt)
+#define vpaes_decrypt_key_to_bsaes BORINGSSL_ADD_PREFIX(vpaes_decrypt_key_to_bsaes)
+#define vpaes_encrypt BORINGSSL_ADD_PREFIX(vpaes_encrypt)
+#define vpaes_encrypt_key_to_bsaes BORINGSSL_ADD_PREFIX(vpaes_encrypt_key_to_bsaes)
+#define vpaes_set_decrypt_key BORINGSSL_ADD_PREFIX(vpaes_set_decrypt_key)
+#define vpaes_set_encrypt_key BORINGSSL_ADD_PREFIX(vpaes_set_encrypt_key)
+#define x25519_NEON BORINGSSL_ADD_PREFIX(x25519_NEON)
diff --git a/util/pregenerate/asm_globals.go b/util/pregenerate/asm_globals.go
index 0889632..7d35a26 100644
--- a/util/pregenerate/asm_globals.go
+++ b/util/pregenerate/asm_globals.go
@@ -17,6 +17,7 @@
 import (
 	"bufio"
 	"bytes"
+	"fmt"
 	"os"
 	"slices"
 	"strings"
@@ -64,3 +65,46 @@
 	slices.Sort(ret)
 	return ret, nil
 }
+
+// BuildAsmGlobalsCHeader builds a symbol prefixing header for C.
+func BuildAsmGlobalsCHeader(syms []string) []byte {
+	var output bytes.Buffer
+	writeHeader(&output, "//")
+	output.WriteString("\n")
+	for _, sym := range syms {
+		fmt.Fprintf(&output, "#define %s BORINGSSL_ADD_PREFIX(%s)\n", sym, sym)
+	}
+	return output.Bytes()
+}
+
+// BuildAsmGlobalsGasHeader builds a symbol prefixing header for the GNU Assembler (gas).
+func BuildAsmGlobalsGasHeader(syms []string) []byte {
+	var output bytes.Buffer
+	writeHeader(&output, "//")
+	output.WriteString("\n")
+	fmt.Fprintf(&output, "#if defined(__APPLE__)\n")
+	output.WriteString("\n")
+	for _, sym := range syms {
+		fmt.Fprintf(&output, "#define _%s BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(%s))\n", sym, sym)
+	}
+	output.WriteString("\n")
+	fmt.Fprintf(&output, "#else  // __APPLE__\n")
+	output.WriteString("\n")
+	for _, sym := range syms {
+		fmt.Fprintf(&output, "#define %s BORINGSSL_ADD_PREFIX(%s)\n", sym, sym)
+	}
+	output.WriteString("\n")
+	fmt.Fprintf(&output, "#endif  // __APPLE__\n")
+	return output.Bytes()
+}
+
+// BuildAsmGlobalsNasmHeader builds a symbol prefixing header for the Netwide Assembler (nasm).
+func BuildAsmGlobalsNasmHeader(syms []string) []byte {
+	var output bytes.Buffer
+	writeHeader(&output, ";")
+	output.WriteString("\n")
+	for _, sym := range syms {
+		fmt.Fprintf(&output, "%%define _%s BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(%s))\n", sym, sym)
+	}
+	return output.Bytes()
+}
diff --git a/util/pregenerate/build.go b/util/pregenerate/build.go
index f6b07c5..0d9d57e 100644
--- a/util/pregenerate/build.go
+++ b/util/pregenerate/build.go
@@ -23,6 +23,7 @@
 	"path/filepath"
 	"slices"
 	"strings"
+	"sync"
 
 	"boringssl.googlesource.com/boringssl.git/util/build"
 )
@@ -330,26 +331,33 @@
 
 // Construct a task to collect assembly global symbols into the file "gen/asm.syms".
 // This task should only run after all the `PerlAsmTask`s in `perlAsmTasks` complete.
-func MakeCollectAsmGlobalTask(perlAsmTasks []WaitableTask, allAsmSrcs []string) Task {
-	return NewSimpleTask("gen/asm.syms", func() ([]byte, error) {
+func MakeCollectAsmGlobalTasks(perlAsmTasks []WaitableTask, allAsmSrcs []string) []Task {
+	var syms []string
+	var err error
+	buildIncludesOnce := func() {
 		for _, t := range perlAsmTasks {
-			err := t.Wait()
+			err = t.Wait()
 			if err != nil {
-				return nil, err
+				return
 			}
 		}
-
-		syms, err := CollectAsmGlobals(allAsmSrcs)
-		if err != nil {
-			return nil, err
-		}
-		var out []byte
-		for _, sym := range syms {
-			out = append(out, []byte(sym)...)
-			out = append(out, '\n')
-		}
-		return out, nil
-	})
+		syms, err = CollectAsmGlobals(allAsmSrcs)
+	}
+	var once sync.Once
+	return []Task{
+		NewSimpleTask("gen/boringssl_prefix_symbols_internal_c.inc", func() ([]byte, error) {
+			once.Do(buildIncludesOnce)
+			return BuildAsmGlobalsCHeader(syms), err
+		}),
+		NewSimpleTask("gen/boringssl_prefix_symbols_internal_S.inc", func() ([]byte, error) {
+			once.Do(buildIncludesOnce)
+			return BuildAsmGlobalsGasHeader(syms), err
+		}),
+		NewSimpleTask("gen/boringssl_prefix_symbols_internal_asm.inc", func() ([]byte, error) {
+			once.Do(buildIncludesOnce)
+			return BuildAsmGlobalsNasmHeader(syms), err
+		}),
+	}
 }
 
 // MakePrefixingIncludes returns the tasks to generate the header files for symbol prefixing.
diff --git a/util/pregenerate/pregenerate.go b/util/pregenerate/pregenerate.go
index d57c9db..661f1dc 100644
--- a/util/pregenerate/pregenerate.go
+++ b/util/pregenerate/pregenerate.go
@@ -181,7 +181,7 @@
 
 	tasks = append(tasks, MakePrefixingIncludes(targetsIn)...)
 	tasks = append(tasks, MakeBuildFiles(targetsOut)...)
-	tasks = append(tasks, MakeCollectAsmGlobalTask(perlAsmTasks, allAsmSrcs))
+	tasks = append(tasks, MakeCollectAsmGlobalTasks(perlAsmTasks, allAsmSrcs)...)
 	tasks = append(tasks, NewSimpleTask("gen/README.md", func() ([]byte, error) {
 		return []byte(readme), nil
 	}))