Fix asm symbol prefixing includes:

- For nasm, include the BoringSSL prefix directly in the macros (which
  in this preprocessor is possible, unlike C's).
- For nasm, put the _ only on x86-64, not on x86.
- Include p_thread_callback_boringssl as an asm symbol, as it's used in
  an asm-like way and must be prefixed.

Bug: 42220000
Change-Id: I13f950275b9128ebc29ce5ce8d9ad9f26a6a6964
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/87387
Reviewed-by: Xiangfei Ding <xfding@google.com>
Auto-Submit: Rudolf Polzer <rpolzer@google.com>
Commit-Queue: Rudolf Polzer <rpolzer@google.com>
diff --git a/gen/boringssl_prefix_symbols_internal_S.inc b/gen/boringssl_prefix_symbols_internal_S.inc
index b7d5261..0e1fc7e 100644
--- a/gen/boringssl_prefix_symbols_internal_S.inc
+++ b/gen/boringssl_prefix_symbols_internal_S.inc
@@ -280,6 +280,7 @@
 #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 _p_thread_callback_boringssl BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(p_thread_callback_boringssl))
 #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))
@@ -579,6 +580,7 @@
 #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 p_thread_callback_boringssl BORINGSSL_ADD_PREFIX(p_thread_callback_boringssl)
 #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)
diff --git a/gen/boringssl_prefix_symbols_internal_asm.inc b/gen/boringssl_prefix_symbols_internal_asm.inc
deleted file mode 100644
index ea66411..0000000
--- a/gen/boringssl_prefix_symbols_internal_asm.inc
+++ /dev/null
@@ -1,312 +0,0 @@
-; 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
index 009a821..0066d9b 100644
--- a/gen/boringssl_prefix_symbols_internal_c.inc
+++ b/gen/boringssl_prefix_symbols_internal_c.inc
@@ -278,6 +278,7 @@
 #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 p_thread_callback_boringssl BORINGSSL_ADD_PREFIX(p_thread_callback_boringssl)
 #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)
diff --git a/gen/boringssl_prefix_symbols_internal_x86_64_asm.inc b/gen/boringssl_prefix_symbols_internal_x86_64_asm.inc
new file mode 100644
index 0000000..5a20a2f
--- /dev/null
+++ b/gen/boringssl_prefix_symbols_internal_x86_64_asm.inc
@@ -0,0 +1,313 @@
+; 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_PREFIX %+ _BORINGSSL_function_hit
+%define CRYPTO_rdrand BORINGSSL_PREFIX %+ _CRYPTO_rdrand
+%define CRYPTO_rdrand_multiple8_buf BORINGSSL_PREFIX %+ _CRYPTO_rdrand_multiple8_buf
+%define ChaCha20_ctr32_avx2 BORINGSSL_PREFIX %+ _ChaCha20_ctr32_avx2
+%define ChaCha20_ctr32_neon BORINGSSL_PREFIX %+ _ChaCha20_ctr32_neon
+%define ChaCha20_ctr32_nohw BORINGSSL_PREFIX %+ _ChaCha20_ctr32_nohw
+%define ChaCha20_ctr32_ssse3 BORINGSSL_PREFIX %+ _ChaCha20_ctr32_ssse3
+%define ChaCha20_ctr32_ssse3_4x BORINGSSL_PREFIX %+ _ChaCha20_ctr32_ssse3_4x
+%define abi_test_bad_unwind_epilog BORINGSSL_PREFIX %+ _abi_test_bad_unwind_epilog
+%define abi_test_bad_unwind_temporary BORINGSSL_PREFIX %+ _abi_test_bad_unwind_temporary
+%define abi_test_bad_unwind_wrong_register BORINGSSL_PREFIX %+ _abi_test_bad_unwind_wrong_register
+%define abi_test_clobber_d0 BORINGSSL_PREFIX %+ _abi_test_clobber_d0
+%define abi_test_clobber_d1 BORINGSSL_PREFIX %+ _abi_test_clobber_d1
+%define abi_test_clobber_d10 BORINGSSL_PREFIX %+ _abi_test_clobber_d10
+%define abi_test_clobber_d11 BORINGSSL_PREFIX %+ _abi_test_clobber_d11
+%define abi_test_clobber_d12 BORINGSSL_PREFIX %+ _abi_test_clobber_d12
+%define abi_test_clobber_d13 BORINGSSL_PREFIX %+ _abi_test_clobber_d13
+%define abi_test_clobber_d14 BORINGSSL_PREFIX %+ _abi_test_clobber_d14
+%define abi_test_clobber_d15 BORINGSSL_PREFIX %+ _abi_test_clobber_d15
+%define abi_test_clobber_d16 BORINGSSL_PREFIX %+ _abi_test_clobber_d16
+%define abi_test_clobber_d17 BORINGSSL_PREFIX %+ _abi_test_clobber_d17
+%define abi_test_clobber_d18 BORINGSSL_PREFIX %+ _abi_test_clobber_d18
+%define abi_test_clobber_d19 BORINGSSL_PREFIX %+ _abi_test_clobber_d19
+%define abi_test_clobber_d2 BORINGSSL_PREFIX %+ _abi_test_clobber_d2
+%define abi_test_clobber_d20 BORINGSSL_PREFIX %+ _abi_test_clobber_d20
+%define abi_test_clobber_d21 BORINGSSL_PREFIX %+ _abi_test_clobber_d21
+%define abi_test_clobber_d22 BORINGSSL_PREFIX %+ _abi_test_clobber_d22
+%define abi_test_clobber_d23 BORINGSSL_PREFIX %+ _abi_test_clobber_d23
+%define abi_test_clobber_d24 BORINGSSL_PREFIX %+ _abi_test_clobber_d24
+%define abi_test_clobber_d25 BORINGSSL_PREFIX %+ _abi_test_clobber_d25
+%define abi_test_clobber_d26 BORINGSSL_PREFIX %+ _abi_test_clobber_d26
+%define abi_test_clobber_d27 BORINGSSL_PREFIX %+ _abi_test_clobber_d27
+%define abi_test_clobber_d28 BORINGSSL_PREFIX %+ _abi_test_clobber_d28
+%define abi_test_clobber_d29 BORINGSSL_PREFIX %+ _abi_test_clobber_d29
+%define abi_test_clobber_d3 BORINGSSL_PREFIX %+ _abi_test_clobber_d3
+%define abi_test_clobber_d30 BORINGSSL_PREFIX %+ _abi_test_clobber_d30
+%define abi_test_clobber_d31 BORINGSSL_PREFIX %+ _abi_test_clobber_d31
+%define abi_test_clobber_d4 BORINGSSL_PREFIX %+ _abi_test_clobber_d4
+%define abi_test_clobber_d5 BORINGSSL_PREFIX %+ _abi_test_clobber_d5
+%define abi_test_clobber_d6 BORINGSSL_PREFIX %+ _abi_test_clobber_d6
+%define abi_test_clobber_d7 BORINGSSL_PREFIX %+ _abi_test_clobber_d7
+%define abi_test_clobber_d8 BORINGSSL_PREFIX %+ _abi_test_clobber_d8
+%define abi_test_clobber_d9 BORINGSSL_PREFIX %+ _abi_test_clobber_d9
+%define abi_test_clobber_eax BORINGSSL_PREFIX %+ _abi_test_clobber_eax
+%define abi_test_clobber_ebp BORINGSSL_PREFIX %+ _abi_test_clobber_ebp
+%define abi_test_clobber_ebx BORINGSSL_PREFIX %+ _abi_test_clobber_ebx
+%define abi_test_clobber_ecx BORINGSSL_PREFIX %+ _abi_test_clobber_ecx
+%define abi_test_clobber_edi BORINGSSL_PREFIX %+ _abi_test_clobber_edi
+%define abi_test_clobber_edx BORINGSSL_PREFIX %+ _abi_test_clobber_edx
+%define abi_test_clobber_esi BORINGSSL_PREFIX %+ _abi_test_clobber_esi
+%define abi_test_clobber_r0 BORINGSSL_PREFIX %+ _abi_test_clobber_r0
+%define abi_test_clobber_r1 BORINGSSL_PREFIX %+ _abi_test_clobber_r1
+%define abi_test_clobber_r10 BORINGSSL_PREFIX %+ _abi_test_clobber_r10
+%define abi_test_clobber_r11 BORINGSSL_PREFIX %+ _abi_test_clobber_r11
+%define abi_test_clobber_r12 BORINGSSL_PREFIX %+ _abi_test_clobber_r12
+%define abi_test_clobber_r13 BORINGSSL_PREFIX %+ _abi_test_clobber_r13
+%define abi_test_clobber_r14 BORINGSSL_PREFIX %+ _abi_test_clobber_r14
+%define abi_test_clobber_r15 BORINGSSL_PREFIX %+ _abi_test_clobber_r15
+%define abi_test_clobber_r2 BORINGSSL_PREFIX %+ _abi_test_clobber_r2
+%define abi_test_clobber_r3 BORINGSSL_PREFIX %+ _abi_test_clobber_r3
+%define abi_test_clobber_r4 BORINGSSL_PREFIX %+ _abi_test_clobber_r4
+%define abi_test_clobber_r5 BORINGSSL_PREFIX %+ _abi_test_clobber_r5
+%define abi_test_clobber_r6 BORINGSSL_PREFIX %+ _abi_test_clobber_r6
+%define abi_test_clobber_r7 BORINGSSL_PREFIX %+ _abi_test_clobber_r7
+%define abi_test_clobber_r8 BORINGSSL_PREFIX %+ _abi_test_clobber_r8
+%define abi_test_clobber_r9 BORINGSSL_PREFIX %+ _abi_test_clobber_r9
+%define abi_test_clobber_rax BORINGSSL_PREFIX %+ _abi_test_clobber_rax
+%define abi_test_clobber_rbp BORINGSSL_PREFIX %+ _abi_test_clobber_rbp
+%define abi_test_clobber_rbx BORINGSSL_PREFIX %+ _abi_test_clobber_rbx
+%define abi_test_clobber_rcx BORINGSSL_PREFIX %+ _abi_test_clobber_rcx
+%define abi_test_clobber_rdi BORINGSSL_PREFIX %+ _abi_test_clobber_rdi
+%define abi_test_clobber_rdx BORINGSSL_PREFIX %+ _abi_test_clobber_rdx
+%define abi_test_clobber_rsi BORINGSSL_PREFIX %+ _abi_test_clobber_rsi
+%define abi_test_clobber_v10_upper BORINGSSL_PREFIX %+ _abi_test_clobber_v10_upper
+%define abi_test_clobber_v11_upper BORINGSSL_PREFIX %+ _abi_test_clobber_v11_upper
+%define abi_test_clobber_v12_upper BORINGSSL_PREFIX %+ _abi_test_clobber_v12_upper
+%define abi_test_clobber_v13_upper BORINGSSL_PREFIX %+ _abi_test_clobber_v13_upper
+%define abi_test_clobber_v14_upper BORINGSSL_PREFIX %+ _abi_test_clobber_v14_upper
+%define abi_test_clobber_v15_upper BORINGSSL_PREFIX %+ _abi_test_clobber_v15_upper
+%define abi_test_clobber_v8_upper BORINGSSL_PREFIX %+ _abi_test_clobber_v8_upper
+%define abi_test_clobber_v9_upper BORINGSSL_PREFIX %+ _abi_test_clobber_v9_upper
+%define abi_test_clobber_x0 BORINGSSL_PREFIX %+ _abi_test_clobber_x0
+%define abi_test_clobber_x1 BORINGSSL_PREFIX %+ _abi_test_clobber_x1
+%define abi_test_clobber_x10 BORINGSSL_PREFIX %+ _abi_test_clobber_x10
+%define abi_test_clobber_x11 BORINGSSL_PREFIX %+ _abi_test_clobber_x11
+%define abi_test_clobber_x12 BORINGSSL_PREFIX %+ _abi_test_clobber_x12
+%define abi_test_clobber_x13 BORINGSSL_PREFIX %+ _abi_test_clobber_x13
+%define abi_test_clobber_x14 BORINGSSL_PREFIX %+ _abi_test_clobber_x14
+%define abi_test_clobber_x15 BORINGSSL_PREFIX %+ _abi_test_clobber_x15
+%define abi_test_clobber_x16 BORINGSSL_PREFIX %+ _abi_test_clobber_x16
+%define abi_test_clobber_x17 BORINGSSL_PREFIX %+ _abi_test_clobber_x17
+%define abi_test_clobber_x19 BORINGSSL_PREFIX %+ _abi_test_clobber_x19
+%define abi_test_clobber_x2 BORINGSSL_PREFIX %+ _abi_test_clobber_x2
+%define abi_test_clobber_x20 BORINGSSL_PREFIX %+ _abi_test_clobber_x20
+%define abi_test_clobber_x21 BORINGSSL_PREFIX %+ _abi_test_clobber_x21
+%define abi_test_clobber_x22 BORINGSSL_PREFIX %+ _abi_test_clobber_x22
+%define abi_test_clobber_x23 BORINGSSL_PREFIX %+ _abi_test_clobber_x23
+%define abi_test_clobber_x24 BORINGSSL_PREFIX %+ _abi_test_clobber_x24
+%define abi_test_clobber_x25 BORINGSSL_PREFIX %+ _abi_test_clobber_x25
+%define abi_test_clobber_x26 BORINGSSL_PREFIX %+ _abi_test_clobber_x26
+%define abi_test_clobber_x27 BORINGSSL_PREFIX %+ _abi_test_clobber_x27
+%define abi_test_clobber_x28 BORINGSSL_PREFIX %+ _abi_test_clobber_x28
+%define abi_test_clobber_x29 BORINGSSL_PREFIX %+ _abi_test_clobber_x29
+%define abi_test_clobber_x3 BORINGSSL_PREFIX %+ _abi_test_clobber_x3
+%define abi_test_clobber_x4 BORINGSSL_PREFIX %+ _abi_test_clobber_x4
+%define abi_test_clobber_x5 BORINGSSL_PREFIX %+ _abi_test_clobber_x5
+%define abi_test_clobber_x6 BORINGSSL_PREFIX %+ _abi_test_clobber_x6
+%define abi_test_clobber_x7 BORINGSSL_PREFIX %+ _abi_test_clobber_x7
+%define abi_test_clobber_x8 BORINGSSL_PREFIX %+ _abi_test_clobber_x8
+%define abi_test_clobber_x9 BORINGSSL_PREFIX %+ _abi_test_clobber_x9
+%define abi_test_clobber_xmm0 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm0
+%define abi_test_clobber_xmm1 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm1
+%define abi_test_clobber_xmm10 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm10
+%define abi_test_clobber_xmm11 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm11
+%define abi_test_clobber_xmm12 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm12
+%define abi_test_clobber_xmm13 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm13
+%define abi_test_clobber_xmm14 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm14
+%define abi_test_clobber_xmm15 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm15
+%define abi_test_clobber_xmm2 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm2
+%define abi_test_clobber_xmm3 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm3
+%define abi_test_clobber_xmm4 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm4
+%define abi_test_clobber_xmm5 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm5
+%define abi_test_clobber_xmm6 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm6
+%define abi_test_clobber_xmm7 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm7
+%define abi_test_clobber_xmm8 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm8
+%define abi_test_clobber_xmm9 BORINGSSL_PREFIX %+ _abi_test_clobber_xmm9
+%define abi_test_get_and_clear_direction_flag BORINGSSL_PREFIX %+ _abi_test_get_and_clear_direction_flag
+%define abi_test_set_direction_flag BORINGSSL_PREFIX %+ _abi_test_set_direction_flag
+%define abi_test_trampoline BORINGSSL_PREFIX %+ _abi_test_trampoline
+%define abi_test_unwind_return BORINGSSL_PREFIX %+ _abi_test_unwind_return
+%define abi_test_unwind_start BORINGSSL_PREFIX %+ _abi_test_unwind_start
+%define abi_test_unwind_stop BORINGSSL_PREFIX %+ _abi_test_unwind_stop
+%define aes128gcmsiv_aes_ks BORINGSSL_PREFIX %+ _aes128gcmsiv_aes_ks
+%define aes128gcmsiv_aes_ks_enc_x1 BORINGSSL_PREFIX %+ _aes128gcmsiv_aes_ks_enc_x1
+%define aes128gcmsiv_dec BORINGSSL_PREFIX %+ _aes128gcmsiv_dec
+%define aes128gcmsiv_ecb_enc_block BORINGSSL_PREFIX %+ _aes128gcmsiv_ecb_enc_block
+%define aes128gcmsiv_enc_msg_x4 BORINGSSL_PREFIX %+ _aes128gcmsiv_enc_msg_x4
+%define aes128gcmsiv_enc_msg_x8 BORINGSSL_PREFIX %+ _aes128gcmsiv_enc_msg_x8
+%define aes128gcmsiv_kdf BORINGSSL_PREFIX %+ _aes128gcmsiv_kdf
+%define aes256gcmsiv_aes_ks BORINGSSL_PREFIX %+ _aes256gcmsiv_aes_ks
+%define aes256gcmsiv_aes_ks_enc_x1 BORINGSSL_PREFIX %+ _aes256gcmsiv_aes_ks_enc_x1
+%define aes256gcmsiv_dec BORINGSSL_PREFIX %+ _aes256gcmsiv_dec
+%define aes256gcmsiv_ecb_enc_block BORINGSSL_PREFIX %+ _aes256gcmsiv_ecb_enc_block
+%define aes256gcmsiv_enc_msg_x4 BORINGSSL_PREFIX %+ _aes256gcmsiv_enc_msg_x4
+%define aes256gcmsiv_enc_msg_x8 BORINGSSL_PREFIX %+ _aes256gcmsiv_enc_msg_x8
+%define aes256gcmsiv_kdf BORINGSSL_PREFIX %+ _aes256gcmsiv_kdf
+%define aes_gcm_dec_kernel BORINGSSL_PREFIX %+ _aes_gcm_dec_kernel
+%define aes_gcm_dec_update_vaes_avx2 BORINGSSL_PREFIX %+ _aes_gcm_dec_update_vaes_avx2
+%define aes_gcm_dec_update_vaes_avx512 BORINGSSL_PREFIX %+ _aes_gcm_dec_update_vaes_avx512
+%define aes_gcm_enc_kernel BORINGSSL_PREFIX %+ _aes_gcm_enc_kernel
+%define aes_gcm_enc_update_vaes_avx2 BORINGSSL_PREFIX %+ _aes_gcm_enc_update_vaes_avx2
+%define aes_gcm_enc_update_vaes_avx512 BORINGSSL_PREFIX %+ _aes_gcm_enc_update_vaes_avx512
+%define aes_hw_cbc_encrypt BORINGSSL_PREFIX %+ _aes_hw_cbc_encrypt
+%define aes_hw_ccm64_decrypt_blocks BORINGSSL_PREFIX %+ _aes_hw_ccm64_decrypt_blocks
+%define aes_hw_ccm64_encrypt_blocks BORINGSSL_PREFIX %+ _aes_hw_ccm64_encrypt_blocks
+%define aes_hw_ctr32_encrypt_blocks BORINGSSL_PREFIX %+ _aes_hw_ctr32_encrypt_blocks
+%define aes_hw_decrypt BORINGSSL_PREFIX %+ _aes_hw_decrypt
+%define aes_hw_ecb_encrypt BORINGSSL_PREFIX %+ _aes_hw_ecb_encrypt
+%define aes_hw_encrypt BORINGSSL_PREFIX %+ _aes_hw_encrypt
+%define aes_hw_encrypt_key_to_decrypt_key BORINGSSL_PREFIX %+ _aes_hw_encrypt_key_to_decrypt_key
+%define aes_hw_set_decrypt_key BORINGSSL_PREFIX %+ _aes_hw_set_decrypt_key
+%define aes_hw_set_encrypt_key BORINGSSL_PREFIX %+ _aes_hw_set_encrypt_key
+%define aes_hw_set_encrypt_key_alt BORINGSSL_PREFIX %+ _aes_hw_set_encrypt_key_alt
+%define aes_hw_set_encrypt_key_base BORINGSSL_PREFIX %+ _aes_hw_set_encrypt_key_base
+%define aes_hw_xts_decrypt BORINGSSL_PREFIX %+ _aes_hw_xts_decrypt
+%define aes_hw_xts_encrypt BORINGSSL_PREFIX %+ _aes_hw_xts_encrypt
+%define aesgcmsiv_htable6_init BORINGSSL_PREFIX %+ _aesgcmsiv_htable6_init
+%define aesgcmsiv_htable_init BORINGSSL_PREFIX %+ _aesgcmsiv_htable_init
+%define aesgcmsiv_htable_polyval BORINGSSL_PREFIX %+ _aesgcmsiv_htable_polyval
+%define aesgcmsiv_polyval_horner BORINGSSL_PREFIX %+ _aesgcmsiv_polyval_horner
+%define aesni_gcm_decrypt BORINGSSL_PREFIX %+ _aesni_gcm_decrypt
+%define aesni_gcm_encrypt BORINGSSL_PREFIX %+ _aesni_gcm_encrypt
+%define beeu_mod_inverse_vartime BORINGSSL_PREFIX %+ _beeu_mod_inverse_vartime
+%define bn_add_words BORINGSSL_PREFIX %+ _bn_add_words
+%define bn_gather5 BORINGSSL_PREFIX %+ _bn_gather5
+%define bn_mul4x_mont BORINGSSL_PREFIX %+ _bn_mul4x_mont
+%define bn_mul4x_mont_gather5 BORINGSSL_PREFIX %+ _bn_mul4x_mont_gather5
+%define bn_mul8x_mont_neon BORINGSSL_PREFIX %+ _bn_mul8x_mont_neon
+%define bn_mul_add_words BORINGSSL_PREFIX %+ _bn_mul_add_words
+%define bn_mul_comba4 BORINGSSL_PREFIX %+ _bn_mul_comba4
+%define bn_mul_comba8 BORINGSSL_PREFIX %+ _bn_mul_comba8
+%define bn_mul_mont_gather5_nohw BORINGSSL_PREFIX %+ _bn_mul_mont_gather5_nohw
+%define bn_mul_mont_nohw BORINGSSL_PREFIX %+ _bn_mul_mont_nohw
+%define bn_mul_mont_words BORINGSSL_PREFIX %+ _bn_mul_mont_words
+%define bn_mul_words BORINGSSL_PREFIX %+ _bn_mul_words
+%define bn_mulx4x_mont BORINGSSL_PREFIX %+ _bn_mulx4x_mont
+%define bn_mulx4x_mont_gather5 BORINGSSL_PREFIX %+ _bn_mulx4x_mont_gather5
+%define bn_power5_nohw BORINGSSL_PREFIX %+ _bn_power5_nohw
+%define bn_powerx5 BORINGSSL_PREFIX %+ _bn_powerx5
+%define bn_scatter5 BORINGSSL_PREFIX %+ _bn_scatter5
+%define bn_sqr8x_internal BORINGSSL_PREFIX %+ _bn_sqr8x_internal
+%define bn_sqr8x_mont BORINGSSL_PREFIX %+ _bn_sqr8x_mont
+%define bn_sqr_add_words BORINGSSL_PREFIX %+ _bn_sqr_add_words
+%define bn_sqr_comba4 BORINGSSL_PREFIX %+ _bn_sqr_comba4
+%define bn_sqr_comba8 BORINGSSL_PREFIX %+ _bn_sqr_comba8
+%define bn_sqrx8x_internal BORINGSSL_PREFIX %+ _bn_sqrx8x_internal
+%define bn_sub_words BORINGSSL_PREFIX %+ _bn_sub_words
+%define bsaes_cbc_encrypt BORINGSSL_PREFIX %+ _bsaes_cbc_encrypt
+%define bsaes_ctr32_encrypt_blocks BORINGSSL_PREFIX %+ _bsaes_ctr32_encrypt_blocks
+%define chacha20_poly1305_open BORINGSSL_PREFIX %+ _chacha20_poly1305_open
+%define chacha20_poly1305_open_avx2 BORINGSSL_PREFIX %+ _chacha20_poly1305_open_avx2
+%define chacha20_poly1305_open_sse41 BORINGSSL_PREFIX %+ _chacha20_poly1305_open_sse41
+%define chacha20_poly1305_seal BORINGSSL_PREFIX %+ _chacha20_poly1305_seal
+%define chacha20_poly1305_seal_avx2 BORINGSSL_PREFIX %+ _chacha20_poly1305_seal_avx2
+%define chacha20_poly1305_seal_sse41 BORINGSSL_PREFIX %+ _chacha20_poly1305_seal_sse41
+%define ecp_nistz256_div_by_2 BORINGSSL_PREFIX %+ _ecp_nistz256_div_by_2
+%define ecp_nistz256_mul_by_2 BORINGSSL_PREFIX %+ _ecp_nistz256_mul_by_2
+%define ecp_nistz256_mul_by_3 BORINGSSL_PREFIX %+ _ecp_nistz256_mul_by_3
+%define ecp_nistz256_mul_mont BORINGSSL_PREFIX %+ _ecp_nistz256_mul_mont
+%define ecp_nistz256_mul_mont_adx BORINGSSL_PREFIX %+ _ecp_nistz256_mul_mont_adx
+%define ecp_nistz256_mul_mont_nohw BORINGSSL_PREFIX %+ _ecp_nistz256_mul_mont_nohw
+%define ecp_nistz256_neg BORINGSSL_PREFIX %+ _ecp_nistz256_neg
+%define ecp_nistz256_ord_mul_mont BORINGSSL_PREFIX %+ _ecp_nistz256_ord_mul_mont
+%define ecp_nistz256_ord_mul_mont_adx BORINGSSL_PREFIX %+ _ecp_nistz256_ord_mul_mont_adx
+%define ecp_nistz256_ord_mul_mont_nohw BORINGSSL_PREFIX %+ _ecp_nistz256_ord_mul_mont_nohw
+%define ecp_nistz256_ord_sqr_mont BORINGSSL_PREFIX %+ _ecp_nistz256_ord_sqr_mont
+%define ecp_nistz256_ord_sqr_mont_adx BORINGSSL_PREFIX %+ _ecp_nistz256_ord_sqr_mont_adx
+%define ecp_nistz256_ord_sqr_mont_nohw BORINGSSL_PREFIX %+ _ecp_nistz256_ord_sqr_mont_nohw
+%define ecp_nistz256_point_add BORINGSSL_PREFIX %+ _ecp_nistz256_point_add
+%define ecp_nistz256_point_add_adx BORINGSSL_PREFIX %+ _ecp_nistz256_point_add_adx
+%define ecp_nistz256_point_add_affine BORINGSSL_PREFIX %+ _ecp_nistz256_point_add_affine
+%define ecp_nistz256_point_add_affine_adx BORINGSSL_PREFIX %+ _ecp_nistz256_point_add_affine_adx
+%define ecp_nistz256_point_add_affine_nohw BORINGSSL_PREFIX %+ _ecp_nistz256_point_add_affine_nohw
+%define ecp_nistz256_point_add_nohw BORINGSSL_PREFIX %+ _ecp_nistz256_point_add_nohw
+%define ecp_nistz256_point_double BORINGSSL_PREFIX %+ _ecp_nistz256_point_double
+%define ecp_nistz256_point_double_adx BORINGSSL_PREFIX %+ _ecp_nistz256_point_double_adx
+%define ecp_nistz256_point_double_nohw BORINGSSL_PREFIX %+ _ecp_nistz256_point_double_nohw
+%define ecp_nistz256_select_w5 BORINGSSL_PREFIX %+ _ecp_nistz256_select_w5
+%define ecp_nistz256_select_w5_avx2 BORINGSSL_PREFIX %+ _ecp_nistz256_select_w5_avx2
+%define ecp_nistz256_select_w5_nohw BORINGSSL_PREFIX %+ _ecp_nistz256_select_w5_nohw
+%define ecp_nistz256_select_w7 BORINGSSL_PREFIX %+ _ecp_nistz256_select_w7
+%define ecp_nistz256_select_w7_avx2 BORINGSSL_PREFIX %+ _ecp_nistz256_select_w7_avx2
+%define ecp_nistz256_select_w7_nohw BORINGSSL_PREFIX %+ _ecp_nistz256_select_w7_nohw
+%define ecp_nistz256_sqr_mont BORINGSSL_PREFIX %+ _ecp_nistz256_sqr_mont
+%define ecp_nistz256_sqr_mont_adx BORINGSSL_PREFIX %+ _ecp_nistz256_sqr_mont_adx
+%define ecp_nistz256_sqr_mont_nohw BORINGSSL_PREFIX %+ _ecp_nistz256_sqr_mont_nohw
+%define ecp_nistz256_sub BORINGSSL_PREFIX %+ _ecp_nistz256_sub
+%define fiat_curve25519_adx_mul BORINGSSL_PREFIX %+ _fiat_curve25519_adx_mul
+%define fiat_curve25519_adx_square BORINGSSL_PREFIX %+ _fiat_curve25519_adx_square
+%define fiat_p256_adx_mul BORINGSSL_PREFIX %+ _fiat_p256_adx_mul
+%define fiat_p256_adx_sqr BORINGSSL_PREFIX %+ _fiat_p256_adx_sqr
+%define gcm_ghash_avx BORINGSSL_PREFIX %+ _gcm_ghash_avx
+%define gcm_ghash_clmul BORINGSSL_PREFIX %+ _gcm_ghash_clmul
+%define gcm_ghash_neon BORINGSSL_PREFIX %+ _gcm_ghash_neon
+%define gcm_ghash_ssse3 BORINGSSL_PREFIX %+ _gcm_ghash_ssse3
+%define gcm_ghash_v8 BORINGSSL_PREFIX %+ _gcm_ghash_v8
+%define gcm_ghash_vpclmulqdq_avx2 BORINGSSL_PREFIX %+ _gcm_ghash_vpclmulqdq_avx2
+%define gcm_ghash_vpclmulqdq_avx512 BORINGSSL_PREFIX %+ _gcm_ghash_vpclmulqdq_avx512
+%define gcm_gmult_avx BORINGSSL_PREFIX %+ _gcm_gmult_avx
+%define gcm_gmult_clmul BORINGSSL_PREFIX %+ _gcm_gmult_clmul
+%define gcm_gmult_neon BORINGSSL_PREFIX %+ _gcm_gmult_neon
+%define gcm_gmult_ssse3 BORINGSSL_PREFIX %+ _gcm_gmult_ssse3
+%define gcm_gmult_v8 BORINGSSL_PREFIX %+ _gcm_gmult_v8
+%define gcm_gmult_vpclmulqdq_avx2 BORINGSSL_PREFIX %+ _gcm_gmult_vpclmulqdq_avx2
+%define gcm_gmult_vpclmulqdq_avx512 BORINGSSL_PREFIX %+ _gcm_gmult_vpclmulqdq_avx512
+%define gcm_init_avx BORINGSSL_PREFIX %+ _gcm_init_avx
+%define gcm_init_clmul BORINGSSL_PREFIX %+ _gcm_init_clmul
+%define gcm_init_neon BORINGSSL_PREFIX %+ _gcm_init_neon
+%define gcm_init_v8 BORINGSSL_PREFIX %+ _gcm_init_v8
+%define gcm_init_vpclmulqdq_avx2 BORINGSSL_PREFIX %+ _gcm_init_vpclmulqdq_avx2
+%define gcm_init_vpclmulqdq_avx512 BORINGSSL_PREFIX %+ _gcm_init_vpclmulqdq_avx512
+%define md5_block_asm_data_order BORINGSSL_PREFIX %+ _md5_block_asm_data_order
+%define openssl_poly1305_neon2_addmulmod BORINGSSL_PREFIX %+ _openssl_poly1305_neon2_addmulmod
+%define openssl_poly1305_neon2_blocks BORINGSSL_PREFIX %+ _openssl_poly1305_neon2_blocks
+%define p_thread_callback_boringssl BORINGSSL_PREFIX %+ _p_thread_callback_boringssl
+%define poly_Rq_mul BORINGSSL_PREFIX %+ _poly_Rq_mul
+%define rsaz_1024_gather5_avx2 BORINGSSL_PREFIX %+ _rsaz_1024_gather5_avx2
+%define rsaz_1024_mul_avx2 BORINGSSL_PREFIX %+ _rsaz_1024_mul_avx2
+%define rsaz_1024_norm2red_avx2 BORINGSSL_PREFIX %+ _rsaz_1024_norm2red_avx2
+%define rsaz_1024_red2norm_avx2 BORINGSSL_PREFIX %+ _rsaz_1024_red2norm_avx2
+%define rsaz_1024_scatter5_avx2 BORINGSSL_PREFIX %+ _rsaz_1024_scatter5_avx2
+%define rsaz_1024_sqr_avx2 BORINGSSL_PREFIX %+ _rsaz_1024_sqr_avx2
+%define sha1_block_data_order_avx BORINGSSL_PREFIX %+ _sha1_block_data_order_avx
+%define sha1_block_data_order_avx2 BORINGSSL_PREFIX %+ _sha1_block_data_order_avx2
+%define sha1_block_data_order_hw BORINGSSL_PREFIX %+ _sha1_block_data_order_hw
+%define sha1_block_data_order_neon BORINGSSL_PREFIX %+ _sha1_block_data_order_neon
+%define sha1_block_data_order_nohw BORINGSSL_PREFIX %+ _sha1_block_data_order_nohw
+%define sha1_block_data_order_ssse3 BORINGSSL_PREFIX %+ _sha1_block_data_order_ssse3
+%define sha256_block_data_order_avx BORINGSSL_PREFIX %+ _sha256_block_data_order_avx
+%define sha256_block_data_order_hw BORINGSSL_PREFIX %+ _sha256_block_data_order_hw
+%define sha256_block_data_order_neon BORINGSSL_PREFIX %+ _sha256_block_data_order_neon
+%define sha256_block_data_order_nohw BORINGSSL_PREFIX %+ _sha256_block_data_order_nohw
+%define sha256_block_data_order_ssse3 BORINGSSL_PREFIX %+ _sha256_block_data_order_ssse3
+%define sha512_block_data_order_avx BORINGSSL_PREFIX %+ _sha512_block_data_order_avx
+%define sha512_block_data_order_hw BORINGSSL_PREFIX %+ _sha512_block_data_order_hw
+%define sha512_block_data_order_neon BORINGSSL_PREFIX %+ _sha512_block_data_order_neon
+%define sha512_block_data_order_nohw BORINGSSL_PREFIX %+ _sha512_block_data_order_nohw
+%define sha512_block_data_order_ssse3 BORINGSSL_PREFIX %+ _sha512_block_data_order_ssse3
+%define vpaes_cbc_encrypt BORINGSSL_PREFIX %+ _vpaes_cbc_encrypt
+%define vpaes_ctr32_encrypt_blocks BORINGSSL_PREFIX %+ _vpaes_ctr32_encrypt_blocks
+%define vpaes_decrypt BORINGSSL_PREFIX %+ _vpaes_decrypt
+%define vpaes_decrypt_key_to_bsaes BORINGSSL_PREFIX %+ _vpaes_decrypt_key_to_bsaes
+%define vpaes_encrypt BORINGSSL_PREFIX %+ _vpaes_encrypt
+%define vpaes_encrypt_key_to_bsaes BORINGSSL_PREFIX %+ _vpaes_encrypt_key_to_bsaes
+%define vpaes_set_decrypt_key BORINGSSL_PREFIX %+ _vpaes_set_decrypt_key
+%define vpaes_set_encrypt_key BORINGSSL_PREFIX %+ _vpaes_set_encrypt_key
+%define x25519_NEON BORINGSSL_PREFIX %+ _x25519_NEON
diff --git a/gen/boringssl_prefix_symbols_internal_x86_asm.inc b/gen/boringssl_prefix_symbols_internal_x86_asm.inc
new file mode 100644
index 0000000..49531e6
--- /dev/null
+++ b/gen/boringssl_prefix_symbols_internal_x86_asm.inc
@@ -0,0 +1,313 @@
+; 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_PREFIX %+ _BORINGSSL_function_hit
+%define _CRYPTO_rdrand _ %+ BORINGSSL_PREFIX %+ _CRYPTO_rdrand
+%define _CRYPTO_rdrand_multiple8_buf _ %+ BORINGSSL_PREFIX %+ _CRYPTO_rdrand_multiple8_buf
+%define _ChaCha20_ctr32_avx2 _ %+ BORINGSSL_PREFIX %+ _ChaCha20_ctr32_avx2
+%define _ChaCha20_ctr32_neon _ %+ BORINGSSL_PREFIX %+ _ChaCha20_ctr32_neon
+%define _ChaCha20_ctr32_nohw _ %+ BORINGSSL_PREFIX %+ _ChaCha20_ctr32_nohw
+%define _ChaCha20_ctr32_ssse3 _ %+ BORINGSSL_PREFIX %+ _ChaCha20_ctr32_ssse3
+%define _ChaCha20_ctr32_ssse3_4x _ %+ BORINGSSL_PREFIX %+ _ChaCha20_ctr32_ssse3_4x
+%define _abi_test_bad_unwind_epilog _ %+ BORINGSSL_PREFIX %+ _abi_test_bad_unwind_epilog
+%define _abi_test_bad_unwind_temporary _ %+ BORINGSSL_PREFIX %+ _abi_test_bad_unwind_temporary
+%define _abi_test_bad_unwind_wrong_register _ %+ BORINGSSL_PREFIX %+ _abi_test_bad_unwind_wrong_register
+%define _abi_test_clobber_d0 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d0
+%define _abi_test_clobber_d1 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d1
+%define _abi_test_clobber_d10 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d10
+%define _abi_test_clobber_d11 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d11
+%define _abi_test_clobber_d12 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d12
+%define _abi_test_clobber_d13 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d13
+%define _abi_test_clobber_d14 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d14
+%define _abi_test_clobber_d15 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d15
+%define _abi_test_clobber_d16 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d16
+%define _abi_test_clobber_d17 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d17
+%define _abi_test_clobber_d18 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d18
+%define _abi_test_clobber_d19 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d19
+%define _abi_test_clobber_d2 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d2
+%define _abi_test_clobber_d20 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d20
+%define _abi_test_clobber_d21 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d21
+%define _abi_test_clobber_d22 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d22
+%define _abi_test_clobber_d23 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d23
+%define _abi_test_clobber_d24 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d24
+%define _abi_test_clobber_d25 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d25
+%define _abi_test_clobber_d26 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d26
+%define _abi_test_clobber_d27 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d27
+%define _abi_test_clobber_d28 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d28
+%define _abi_test_clobber_d29 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d29
+%define _abi_test_clobber_d3 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d3
+%define _abi_test_clobber_d30 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d30
+%define _abi_test_clobber_d31 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d31
+%define _abi_test_clobber_d4 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d4
+%define _abi_test_clobber_d5 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d5
+%define _abi_test_clobber_d6 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d6
+%define _abi_test_clobber_d7 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d7
+%define _abi_test_clobber_d8 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d8
+%define _abi_test_clobber_d9 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_d9
+%define _abi_test_clobber_eax _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_eax
+%define _abi_test_clobber_ebp _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_ebp
+%define _abi_test_clobber_ebx _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_ebx
+%define _abi_test_clobber_ecx _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_ecx
+%define _abi_test_clobber_edi _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_edi
+%define _abi_test_clobber_edx _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_edx
+%define _abi_test_clobber_esi _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_esi
+%define _abi_test_clobber_r0 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r0
+%define _abi_test_clobber_r1 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r1
+%define _abi_test_clobber_r10 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r10
+%define _abi_test_clobber_r11 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r11
+%define _abi_test_clobber_r12 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r12
+%define _abi_test_clobber_r13 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r13
+%define _abi_test_clobber_r14 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r14
+%define _abi_test_clobber_r15 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r15
+%define _abi_test_clobber_r2 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r2
+%define _abi_test_clobber_r3 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r3
+%define _abi_test_clobber_r4 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r4
+%define _abi_test_clobber_r5 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r5
+%define _abi_test_clobber_r6 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r6
+%define _abi_test_clobber_r7 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r7
+%define _abi_test_clobber_r8 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r8
+%define _abi_test_clobber_r9 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_r9
+%define _abi_test_clobber_rax _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_rax
+%define _abi_test_clobber_rbp _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_rbp
+%define _abi_test_clobber_rbx _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_rbx
+%define _abi_test_clobber_rcx _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_rcx
+%define _abi_test_clobber_rdi _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_rdi
+%define _abi_test_clobber_rdx _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_rdx
+%define _abi_test_clobber_rsi _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_rsi
+%define _abi_test_clobber_v10_upper _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_v10_upper
+%define _abi_test_clobber_v11_upper _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_v11_upper
+%define _abi_test_clobber_v12_upper _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_v12_upper
+%define _abi_test_clobber_v13_upper _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_v13_upper
+%define _abi_test_clobber_v14_upper _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_v14_upper
+%define _abi_test_clobber_v15_upper _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_v15_upper
+%define _abi_test_clobber_v8_upper _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_v8_upper
+%define _abi_test_clobber_v9_upper _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_v9_upper
+%define _abi_test_clobber_x0 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x0
+%define _abi_test_clobber_x1 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x1
+%define _abi_test_clobber_x10 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x10
+%define _abi_test_clobber_x11 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x11
+%define _abi_test_clobber_x12 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x12
+%define _abi_test_clobber_x13 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x13
+%define _abi_test_clobber_x14 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x14
+%define _abi_test_clobber_x15 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x15
+%define _abi_test_clobber_x16 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x16
+%define _abi_test_clobber_x17 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x17
+%define _abi_test_clobber_x19 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x19
+%define _abi_test_clobber_x2 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x2
+%define _abi_test_clobber_x20 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x20
+%define _abi_test_clobber_x21 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x21
+%define _abi_test_clobber_x22 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x22
+%define _abi_test_clobber_x23 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x23
+%define _abi_test_clobber_x24 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x24
+%define _abi_test_clobber_x25 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x25
+%define _abi_test_clobber_x26 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x26
+%define _abi_test_clobber_x27 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x27
+%define _abi_test_clobber_x28 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x28
+%define _abi_test_clobber_x29 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x29
+%define _abi_test_clobber_x3 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x3
+%define _abi_test_clobber_x4 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x4
+%define _abi_test_clobber_x5 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x5
+%define _abi_test_clobber_x6 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x6
+%define _abi_test_clobber_x7 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x7
+%define _abi_test_clobber_x8 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x8
+%define _abi_test_clobber_x9 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_x9
+%define _abi_test_clobber_xmm0 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm0
+%define _abi_test_clobber_xmm1 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm1
+%define _abi_test_clobber_xmm10 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm10
+%define _abi_test_clobber_xmm11 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm11
+%define _abi_test_clobber_xmm12 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm12
+%define _abi_test_clobber_xmm13 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm13
+%define _abi_test_clobber_xmm14 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm14
+%define _abi_test_clobber_xmm15 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm15
+%define _abi_test_clobber_xmm2 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm2
+%define _abi_test_clobber_xmm3 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm3
+%define _abi_test_clobber_xmm4 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm4
+%define _abi_test_clobber_xmm5 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm5
+%define _abi_test_clobber_xmm6 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm6
+%define _abi_test_clobber_xmm7 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm7
+%define _abi_test_clobber_xmm8 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm8
+%define _abi_test_clobber_xmm9 _ %+ BORINGSSL_PREFIX %+ _abi_test_clobber_xmm9
+%define _abi_test_get_and_clear_direction_flag _ %+ BORINGSSL_PREFIX %+ _abi_test_get_and_clear_direction_flag
+%define _abi_test_set_direction_flag _ %+ BORINGSSL_PREFIX %+ _abi_test_set_direction_flag
+%define _abi_test_trampoline _ %+ BORINGSSL_PREFIX %+ _abi_test_trampoline
+%define _abi_test_unwind_return _ %+ BORINGSSL_PREFIX %+ _abi_test_unwind_return
+%define _abi_test_unwind_start _ %+ BORINGSSL_PREFIX %+ _abi_test_unwind_start
+%define _abi_test_unwind_stop _ %+ BORINGSSL_PREFIX %+ _abi_test_unwind_stop
+%define _aes128gcmsiv_aes_ks _ %+ BORINGSSL_PREFIX %+ _aes128gcmsiv_aes_ks
+%define _aes128gcmsiv_aes_ks_enc_x1 _ %+ BORINGSSL_PREFIX %+ _aes128gcmsiv_aes_ks_enc_x1
+%define _aes128gcmsiv_dec _ %+ BORINGSSL_PREFIX %+ _aes128gcmsiv_dec
+%define _aes128gcmsiv_ecb_enc_block _ %+ BORINGSSL_PREFIX %+ _aes128gcmsiv_ecb_enc_block
+%define _aes128gcmsiv_enc_msg_x4 _ %+ BORINGSSL_PREFIX %+ _aes128gcmsiv_enc_msg_x4
+%define _aes128gcmsiv_enc_msg_x8 _ %+ BORINGSSL_PREFIX %+ _aes128gcmsiv_enc_msg_x8
+%define _aes128gcmsiv_kdf _ %+ BORINGSSL_PREFIX %+ _aes128gcmsiv_kdf
+%define _aes256gcmsiv_aes_ks _ %+ BORINGSSL_PREFIX %+ _aes256gcmsiv_aes_ks
+%define _aes256gcmsiv_aes_ks_enc_x1 _ %+ BORINGSSL_PREFIX %+ _aes256gcmsiv_aes_ks_enc_x1
+%define _aes256gcmsiv_dec _ %+ BORINGSSL_PREFIX %+ _aes256gcmsiv_dec
+%define _aes256gcmsiv_ecb_enc_block _ %+ BORINGSSL_PREFIX %+ _aes256gcmsiv_ecb_enc_block
+%define _aes256gcmsiv_enc_msg_x4 _ %+ BORINGSSL_PREFIX %+ _aes256gcmsiv_enc_msg_x4
+%define _aes256gcmsiv_enc_msg_x8 _ %+ BORINGSSL_PREFIX %+ _aes256gcmsiv_enc_msg_x8
+%define _aes256gcmsiv_kdf _ %+ BORINGSSL_PREFIX %+ _aes256gcmsiv_kdf
+%define _aes_gcm_dec_kernel _ %+ BORINGSSL_PREFIX %+ _aes_gcm_dec_kernel
+%define _aes_gcm_dec_update_vaes_avx2 _ %+ BORINGSSL_PREFIX %+ _aes_gcm_dec_update_vaes_avx2
+%define _aes_gcm_dec_update_vaes_avx512 _ %+ BORINGSSL_PREFIX %+ _aes_gcm_dec_update_vaes_avx512
+%define _aes_gcm_enc_kernel _ %+ BORINGSSL_PREFIX %+ _aes_gcm_enc_kernel
+%define _aes_gcm_enc_update_vaes_avx2 _ %+ BORINGSSL_PREFIX %+ _aes_gcm_enc_update_vaes_avx2
+%define _aes_gcm_enc_update_vaes_avx512 _ %+ BORINGSSL_PREFIX %+ _aes_gcm_enc_update_vaes_avx512
+%define _aes_hw_cbc_encrypt _ %+ BORINGSSL_PREFIX %+ _aes_hw_cbc_encrypt
+%define _aes_hw_ccm64_decrypt_blocks _ %+ BORINGSSL_PREFIX %+ _aes_hw_ccm64_decrypt_blocks
+%define _aes_hw_ccm64_encrypt_blocks _ %+ BORINGSSL_PREFIX %+ _aes_hw_ccm64_encrypt_blocks
+%define _aes_hw_ctr32_encrypt_blocks _ %+ BORINGSSL_PREFIX %+ _aes_hw_ctr32_encrypt_blocks
+%define _aes_hw_decrypt _ %+ BORINGSSL_PREFIX %+ _aes_hw_decrypt
+%define _aes_hw_ecb_encrypt _ %+ BORINGSSL_PREFIX %+ _aes_hw_ecb_encrypt
+%define _aes_hw_encrypt _ %+ BORINGSSL_PREFIX %+ _aes_hw_encrypt
+%define _aes_hw_encrypt_key_to_decrypt_key _ %+ BORINGSSL_PREFIX %+ _aes_hw_encrypt_key_to_decrypt_key
+%define _aes_hw_set_decrypt_key _ %+ BORINGSSL_PREFIX %+ _aes_hw_set_decrypt_key
+%define _aes_hw_set_encrypt_key _ %+ BORINGSSL_PREFIX %+ _aes_hw_set_encrypt_key
+%define _aes_hw_set_encrypt_key_alt _ %+ BORINGSSL_PREFIX %+ _aes_hw_set_encrypt_key_alt
+%define _aes_hw_set_encrypt_key_base _ %+ BORINGSSL_PREFIX %+ _aes_hw_set_encrypt_key_base
+%define _aes_hw_xts_decrypt _ %+ BORINGSSL_PREFIX %+ _aes_hw_xts_decrypt
+%define _aes_hw_xts_encrypt _ %+ BORINGSSL_PREFIX %+ _aes_hw_xts_encrypt
+%define _aesgcmsiv_htable6_init _ %+ BORINGSSL_PREFIX %+ _aesgcmsiv_htable6_init
+%define _aesgcmsiv_htable_init _ %+ BORINGSSL_PREFIX %+ _aesgcmsiv_htable_init
+%define _aesgcmsiv_htable_polyval _ %+ BORINGSSL_PREFIX %+ _aesgcmsiv_htable_polyval
+%define _aesgcmsiv_polyval_horner _ %+ BORINGSSL_PREFIX %+ _aesgcmsiv_polyval_horner
+%define _aesni_gcm_decrypt _ %+ BORINGSSL_PREFIX %+ _aesni_gcm_decrypt
+%define _aesni_gcm_encrypt _ %+ BORINGSSL_PREFIX %+ _aesni_gcm_encrypt
+%define _beeu_mod_inverse_vartime _ %+ BORINGSSL_PREFIX %+ _beeu_mod_inverse_vartime
+%define _bn_add_words _ %+ BORINGSSL_PREFIX %+ _bn_add_words
+%define _bn_gather5 _ %+ BORINGSSL_PREFIX %+ _bn_gather5
+%define _bn_mul4x_mont _ %+ BORINGSSL_PREFIX %+ _bn_mul4x_mont
+%define _bn_mul4x_mont_gather5 _ %+ BORINGSSL_PREFIX %+ _bn_mul4x_mont_gather5
+%define _bn_mul8x_mont_neon _ %+ BORINGSSL_PREFIX %+ _bn_mul8x_mont_neon
+%define _bn_mul_add_words _ %+ BORINGSSL_PREFIX %+ _bn_mul_add_words
+%define _bn_mul_comba4 _ %+ BORINGSSL_PREFIX %+ _bn_mul_comba4
+%define _bn_mul_comba8 _ %+ BORINGSSL_PREFIX %+ _bn_mul_comba8
+%define _bn_mul_mont_gather5_nohw _ %+ BORINGSSL_PREFIX %+ _bn_mul_mont_gather5_nohw
+%define _bn_mul_mont_nohw _ %+ BORINGSSL_PREFIX %+ _bn_mul_mont_nohw
+%define _bn_mul_mont_words _ %+ BORINGSSL_PREFIX %+ _bn_mul_mont_words
+%define _bn_mul_words _ %+ BORINGSSL_PREFIX %+ _bn_mul_words
+%define _bn_mulx4x_mont _ %+ BORINGSSL_PREFIX %+ _bn_mulx4x_mont
+%define _bn_mulx4x_mont_gather5 _ %+ BORINGSSL_PREFIX %+ _bn_mulx4x_mont_gather5
+%define _bn_power5_nohw _ %+ BORINGSSL_PREFIX %+ _bn_power5_nohw
+%define _bn_powerx5 _ %+ BORINGSSL_PREFIX %+ _bn_powerx5
+%define _bn_scatter5 _ %+ BORINGSSL_PREFIX %+ _bn_scatter5
+%define _bn_sqr8x_internal _ %+ BORINGSSL_PREFIX %+ _bn_sqr8x_internal
+%define _bn_sqr8x_mont _ %+ BORINGSSL_PREFIX %+ _bn_sqr8x_mont
+%define _bn_sqr_add_words _ %+ BORINGSSL_PREFIX %+ _bn_sqr_add_words
+%define _bn_sqr_comba4 _ %+ BORINGSSL_PREFIX %+ _bn_sqr_comba4
+%define _bn_sqr_comba8 _ %+ BORINGSSL_PREFIX %+ _bn_sqr_comba8
+%define _bn_sqrx8x_internal _ %+ BORINGSSL_PREFIX %+ _bn_sqrx8x_internal
+%define _bn_sub_words _ %+ BORINGSSL_PREFIX %+ _bn_sub_words
+%define _bsaes_cbc_encrypt _ %+ BORINGSSL_PREFIX %+ _bsaes_cbc_encrypt
+%define _bsaes_ctr32_encrypt_blocks _ %+ BORINGSSL_PREFIX %+ _bsaes_ctr32_encrypt_blocks
+%define _chacha20_poly1305_open _ %+ BORINGSSL_PREFIX %+ _chacha20_poly1305_open
+%define _chacha20_poly1305_open_avx2 _ %+ BORINGSSL_PREFIX %+ _chacha20_poly1305_open_avx2
+%define _chacha20_poly1305_open_sse41 _ %+ BORINGSSL_PREFIX %+ _chacha20_poly1305_open_sse41
+%define _chacha20_poly1305_seal _ %+ BORINGSSL_PREFIX %+ _chacha20_poly1305_seal
+%define _chacha20_poly1305_seal_avx2 _ %+ BORINGSSL_PREFIX %+ _chacha20_poly1305_seal_avx2
+%define _chacha20_poly1305_seal_sse41 _ %+ BORINGSSL_PREFIX %+ _chacha20_poly1305_seal_sse41
+%define _ecp_nistz256_div_by_2 _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_div_by_2
+%define _ecp_nistz256_mul_by_2 _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_mul_by_2
+%define _ecp_nistz256_mul_by_3 _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_mul_by_3
+%define _ecp_nistz256_mul_mont _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_mul_mont
+%define _ecp_nistz256_mul_mont_adx _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_mul_mont_adx
+%define _ecp_nistz256_mul_mont_nohw _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_mul_mont_nohw
+%define _ecp_nistz256_neg _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_neg
+%define _ecp_nistz256_ord_mul_mont _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_ord_mul_mont
+%define _ecp_nistz256_ord_mul_mont_adx _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_ord_mul_mont_adx
+%define _ecp_nistz256_ord_mul_mont_nohw _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_ord_mul_mont_nohw
+%define _ecp_nistz256_ord_sqr_mont _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_ord_sqr_mont
+%define _ecp_nistz256_ord_sqr_mont_adx _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_ord_sqr_mont_adx
+%define _ecp_nistz256_ord_sqr_mont_nohw _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_ord_sqr_mont_nohw
+%define _ecp_nistz256_point_add _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_point_add
+%define _ecp_nistz256_point_add_adx _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_point_add_adx
+%define _ecp_nistz256_point_add_affine _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_point_add_affine
+%define _ecp_nistz256_point_add_affine_adx _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_point_add_affine_adx
+%define _ecp_nistz256_point_add_affine_nohw _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_point_add_affine_nohw
+%define _ecp_nistz256_point_add_nohw _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_point_add_nohw
+%define _ecp_nistz256_point_double _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_point_double
+%define _ecp_nistz256_point_double_adx _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_point_double_adx
+%define _ecp_nistz256_point_double_nohw _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_point_double_nohw
+%define _ecp_nistz256_select_w5 _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_select_w5
+%define _ecp_nistz256_select_w5_avx2 _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_select_w5_avx2
+%define _ecp_nistz256_select_w5_nohw _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_select_w5_nohw
+%define _ecp_nistz256_select_w7 _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_select_w7
+%define _ecp_nistz256_select_w7_avx2 _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_select_w7_avx2
+%define _ecp_nistz256_select_w7_nohw _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_select_w7_nohw
+%define _ecp_nistz256_sqr_mont _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_sqr_mont
+%define _ecp_nistz256_sqr_mont_adx _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_sqr_mont_adx
+%define _ecp_nistz256_sqr_mont_nohw _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_sqr_mont_nohw
+%define _ecp_nistz256_sub _ %+ BORINGSSL_PREFIX %+ _ecp_nistz256_sub
+%define _fiat_curve25519_adx_mul _ %+ BORINGSSL_PREFIX %+ _fiat_curve25519_adx_mul
+%define _fiat_curve25519_adx_square _ %+ BORINGSSL_PREFIX %+ _fiat_curve25519_adx_square
+%define _fiat_p256_adx_mul _ %+ BORINGSSL_PREFIX %+ _fiat_p256_adx_mul
+%define _fiat_p256_adx_sqr _ %+ BORINGSSL_PREFIX %+ _fiat_p256_adx_sqr
+%define _gcm_ghash_avx _ %+ BORINGSSL_PREFIX %+ _gcm_ghash_avx
+%define _gcm_ghash_clmul _ %+ BORINGSSL_PREFIX %+ _gcm_ghash_clmul
+%define _gcm_ghash_neon _ %+ BORINGSSL_PREFIX %+ _gcm_ghash_neon
+%define _gcm_ghash_ssse3 _ %+ BORINGSSL_PREFIX %+ _gcm_ghash_ssse3
+%define _gcm_ghash_v8 _ %+ BORINGSSL_PREFIX %+ _gcm_ghash_v8
+%define _gcm_ghash_vpclmulqdq_avx2 _ %+ BORINGSSL_PREFIX %+ _gcm_ghash_vpclmulqdq_avx2
+%define _gcm_ghash_vpclmulqdq_avx512 _ %+ BORINGSSL_PREFIX %+ _gcm_ghash_vpclmulqdq_avx512
+%define _gcm_gmult_avx _ %+ BORINGSSL_PREFIX %+ _gcm_gmult_avx
+%define _gcm_gmult_clmul _ %+ BORINGSSL_PREFIX %+ _gcm_gmult_clmul
+%define _gcm_gmult_neon _ %+ BORINGSSL_PREFIX %+ _gcm_gmult_neon
+%define _gcm_gmult_ssse3 _ %+ BORINGSSL_PREFIX %+ _gcm_gmult_ssse3
+%define _gcm_gmult_v8 _ %+ BORINGSSL_PREFIX %+ _gcm_gmult_v8
+%define _gcm_gmult_vpclmulqdq_avx2 _ %+ BORINGSSL_PREFIX %+ _gcm_gmult_vpclmulqdq_avx2
+%define _gcm_gmult_vpclmulqdq_avx512 _ %+ BORINGSSL_PREFIX %+ _gcm_gmult_vpclmulqdq_avx512
+%define _gcm_init_avx _ %+ BORINGSSL_PREFIX %+ _gcm_init_avx
+%define _gcm_init_clmul _ %+ BORINGSSL_PREFIX %+ _gcm_init_clmul
+%define _gcm_init_neon _ %+ BORINGSSL_PREFIX %+ _gcm_init_neon
+%define _gcm_init_v8 _ %+ BORINGSSL_PREFIX %+ _gcm_init_v8
+%define _gcm_init_vpclmulqdq_avx2 _ %+ BORINGSSL_PREFIX %+ _gcm_init_vpclmulqdq_avx2
+%define _gcm_init_vpclmulqdq_avx512 _ %+ BORINGSSL_PREFIX %+ _gcm_init_vpclmulqdq_avx512
+%define _md5_block_asm_data_order _ %+ BORINGSSL_PREFIX %+ _md5_block_asm_data_order
+%define _openssl_poly1305_neon2_addmulmod _ %+ BORINGSSL_PREFIX %+ _openssl_poly1305_neon2_addmulmod
+%define _openssl_poly1305_neon2_blocks _ %+ BORINGSSL_PREFIX %+ _openssl_poly1305_neon2_blocks
+%define _p_thread_callback_boringssl _ %+ BORINGSSL_PREFIX %+ _p_thread_callback_boringssl
+%define _poly_Rq_mul _ %+ BORINGSSL_PREFIX %+ _poly_Rq_mul
+%define _rsaz_1024_gather5_avx2 _ %+ BORINGSSL_PREFIX %+ _rsaz_1024_gather5_avx2
+%define _rsaz_1024_mul_avx2 _ %+ BORINGSSL_PREFIX %+ _rsaz_1024_mul_avx2
+%define _rsaz_1024_norm2red_avx2 _ %+ BORINGSSL_PREFIX %+ _rsaz_1024_norm2red_avx2
+%define _rsaz_1024_red2norm_avx2 _ %+ BORINGSSL_PREFIX %+ _rsaz_1024_red2norm_avx2
+%define _rsaz_1024_scatter5_avx2 _ %+ BORINGSSL_PREFIX %+ _rsaz_1024_scatter5_avx2
+%define _rsaz_1024_sqr_avx2 _ %+ BORINGSSL_PREFIX %+ _rsaz_1024_sqr_avx2
+%define _sha1_block_data_order_avx _ %+ BORINGSSL_PREFIX %+ _sha1_block_data_order_avx
+%define _sha1_block_data_order_avx2 _ %+ BORINGSSL_PREFIX %+ _sha1_block_data_order_avx2
+%define _sha1_block_data_order_hw _ %+ BORINGSSL_PREFIX %+ _sha1_block_data_order_hw
+%define _sha1_block_data_order_neon _ %+ BORINGSSL_PREFIX %+ _sha1_block_data_order_neon
+%define _sha1_block_data_order_nohw _ %+ BORINGSSL_PREFIX %+ _sha1_block_data_order_nohw
+%define _sha1_block_data_order_ssse3 _ %+ BORINGSSL_PREFIX %+ _sha1_block_data_order_ssse3
+%define _sha256_block_data_order_avx _ %+ BORINGSSL_PREFIX %+ _sha256_block_data_order_avx
+%define _sha256_block_data_order_hw _ %+ BORINGSSL_PREFIX %+ _sha256_block_data_order_hw
+%define _sha256_block_data_order_neon _ %+ BORINGSSL_PREFIX %+ _sha256_block_data_order_neon
+%define _sha256_block_data_order_nohw _ %+ BORINGSSL_PREFIX %+ _sha256_block_data_order_nohw
+%define _sha256_block_data_order_ssse3 _ %+ BORINGSSL_PREFIX %+ _sha256_block_data_order_ssse3
+%define _sha512_block_data_order_avx _ %+ BORINGSSL_PREFIX %+ _sha512_block_data_order_avx
+%define _sha512_block_data_order_hw _ %+ BORINGSSL_PREFIX %+ _sha512_block_data_order_hw
+%define _sha512_block_data_order_neon _ %+ BORINGSSL_PREFIX %+ _sha512_block_data_order_neon
+%define _sha512_block_data_order_nohw _ %+ BORINGSSL_PREFIX %+ _sha512_block_data_order_nohw
+%define _sha512_block_data_order_ssse3 _ %+ BORINGSSL_PREFIX %+ _sha512_block_data_order_ssse3
+%define _vpaes_cbc_encrypt _ %+ BORINGSSL_PREFIX %+ _vpaes_cbc_encrypt
+%define _vpaes_ctr32_encrypt_blocks _ %+ BORINGSSL_PREFIX %+ _vpaes_ctr32_encrypt_blocks
+%define _vpaes_decrypt _ %+ BORINGSSL_PREFIX %+ _vpaes_decrypt
+%define _vpaes_decrypt_key_to_bsaes _ %+ BORINGSSL_PREFIX %+ _vpaes_decrypt_key_to_bsaes
+%define _vpaes_encrypt _ %+ BORINGSSL_PREFIX %+ _vpaes_encrypt
+%define _vpaes_encrypt_key_to_bsaes _ %+ BORINGSSL_PREFIX %+ _vpaes_encrypt_key_to_bsaes
+%define _vpaes_set_decrypt_key _ %+ BORINGSSL_PREFIX %+ _vpaes_set_decrypt_key
+%define _vpaes_set_encrypt_key _ %+ BORINGSSL_PREFIX %+ _vpaes_set_encrypt_key
+%define _x25519_NEON _ %+ BORINGSSL_PREFIX %+ _x25519_NEON
diff --git a/util/pregenerate/asm_globals.go b/util/pregenerate/asm_globals.go
index 7d35a26..ff648d4 100644
--- a/util/pregenerate/asm_globals.go
+++ b/util/pregenerate/asm_globals.go
@@ -23,13 +23,22 @@
 	"strings"
 )
 
+// addedAsmSymbols are additional symbols to include in prefixing,
+// even if not found by scanning the asm files.
+var addedAsmSymbols = []string{
+	"p_thread_callback_boringssl",
+}
+
 // CollectAsmGlobals collects assembly global symbols, deduplicated and sorted.
 // Inputs are paths to both original and fully templated assembly source files,
 // including GAS assembly source .S and NASM .asm files.
 // It will understand symbols prefixed with double underscores as private,
 // symbols prefixed with a *single* underscore as public on Apple platforms.
 func CollectAsmGlobals(srcs []string) ([]string, error) {
-	syms := make(map[string]bool)
+	syms := make(map[string]struct{})
+	for _, sym := range addedAsmSymbols {
+		syms[sym] = struct{}{}
+	}
 	for _, src := range srcs {
 		var file *os.File
 		file, err := os.Open(src)
@@ -53,7 +62,7 @@
 				}
 				sym := strings.TrimPrefix(sym, "_")
 				if _, exists := syms[sym]; !exists {
-					syms[sym] = true
+					syms[sym] = struct{}{}
 				}
 			}
 		}
@@ -66,19 +75,21 @@
 	return ret, nil
 }
 
-// BuildAsmGlobalsCHeader builds a symbol prefixing header for C.
-func BuildAsmGlobalsCHeader(syms []string) []byte {
+// BuildAsmGlobalsCInclude builds a symbol prefixing include for C.
+func BuildAsmGlobalsCInclude(syms []string) []byte {
 	var output bytes.Buffer
 	writeHeader(&output, "//")
 	output.WriteString("\n")
+	// Not using redefine_extname here, as some asm symbols are conditionally inline functions
+	// (on platforms with no asm implementation).
 	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 {
+// BuildAsmGlobalsGasInclude builds a symbol prefixing include for the GNU Assembler (gas).
+func BuildAsmGlobalsGasInclude(syms []string) []byte {
 	var output bytes.Buffer
 	writeHeader(&output, "//")
 	output.WriteString("\n")
@@ -98,13 +109,24 @@
 	return output.Bytes()
 }
 
-// BuildAsmGlobalsNasmHeader builds a symbol prefixing header for the Netwide Assembler (nasm).
-func BuildAsmGlobalsNasmHeader(syms []string) []byte {
+// BuildAsmGlobalsNasmX86Include builds a symbol prefixing include for the Netwide Assembler (nasm).
+func BuildAsmGlobalsNasmX86Include(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)
+		fmt.Fprintf(&output, "%%define _%s _ %%+ BORINGSSL_PREFIX %%+ _%s\n", sym, sym)
+	}
+	return output.Bytes()
+}
+
+// BuildAsmGlobalsNasmInclude builds a symbol prefixing include for the Netwide Assembler (nasm).
+func BuildAsmGlobalsNasmX8664Include(syms []string) []byte {
+	var output bytes.Buffer
+	writeHeader(&output, ";")
+	output.WriteString("\n")
+	for _, sym := range syms {
+		fmt.Fprintf(&output, "%%define %s BORINGSSL_PREFIX %%+ _%s\n", sym, sym)
 	}
 	return output.Bytes()
 }
diff --git a/util/pregenerate/build.go b/util/pregenerate/build.go
index 4ddbb8a..5853a29 100644
--- a/util/pregenerate/build.go
+++ b/util/pregenerate/build.go
@@ -341,15 +341,19 @@
 	return []*Task{
 		NewSimpleTask("gen/boringssl_prefix_symbols_internal_c.inc", func() ([]byte, error) {
 			once.Do(buildIncludesOnce)
-			return BuildAsmGlobalsCHeader(syms), err
+			return BuildAsmGlobalsCInclude(syms), err
 		}, perlAsmTasks...),
 		NewSimpleTask("gen/boringssl_prefix_symbols_internal_S.inc", func() ([]byte, error) {
 			once.Do(buildIncludesOnce)
-			return BuildAsmGlobalsGasHeader(syms), err
+			return BuildAsmGlobalsGasInclude(syms), err
 		}, perlAsmTasks...),
-		NewSimpleTask("gen/boringssl_prefix_symbols_internal_asm.inc", func() ([]byte, error) {
+		NewSimpleTask("gen/boringssl_prefix_symbols_internal_x86_asm.inc", func() ([]byte, error) {
 			once.Do(buildIncludesOnce)
-			return BuildAsmGlobalsNasmHeader(syms), err
+			return BuildAsmGlobalsNasmX86Include(syms), err
+		}, perlAsmTasks...),
+		NewSimpleTask("gen/boringssl_prefix_symbols_internal_x86_64_asm.inc", func() ([]byte, error) {
+			once.Do(buildIncludesOnce)
+			return BuildAsmGlobalsNasmX8664Include(syms), err
 		}, perlAsmTasks...),
 	}
 }