Open
Description
On linux/armv7 some symbols are not properly prefixed. Building a project that includes both swift-nio-ssl and swift-crypto, results in the following conflicts:
ld.lld: error: duplicate symbol: CRYPTO_poly1305_init_neon
ld.lld: error: duplicate symbol: CRYPTO_poly1305_update_neon
ld.lld: error: duplicate symbol: CRYPTO_poly1305_finish_neon
ld.lld: error: duplicate symbol: openssl_poly1305_neon2_blocks
ld.lld: error: duplicate symbol: openssl_poly1305_neon2_addmulmod
ld.lld: error: duplicate symbol: vpaes_encrypt_key_to_bsaes
ld.lld: error: duplicate symbol: vpaes_decrypt_key_to_bsaes
ld.lld: error: duplicate symbol: sha512_block_data_order_neon
ld.lld: error: duplicate symbol: sha256_block_data_order_neon
ld.lld: error: duplicate symbol: bsaes_cbc_encrypt
ld.lld: error: duplicate symbol: bsaes_ctr32_encrypt_blocks
ld.lld: error: duplicate symbol: x25519_NEON
ld.lld: error: duplicate symbol: CRYPTO_has_broken_NEON
ld.lld: error: duplicate symbol: CRYPTO_needs_hwcap2_workaround
It looks like CCryptoBoringSSL_boringssl_prefix_symbols.h is generated by vendor-boringssl.sh by building BoringSSL for various architectures and gathering all symbols. There is no official linux/armv7 docker image yet, so at the moment we can't use the same method for adding these symbols, but would it be possible to create a temporary solution, for example by hardcoding these symbols? Or is there any proper solution that could work without requiring an official linux/armv7 docker?
Metadata
Metadata
Assignees
Labels
No labels