minifi-cpp: Fix libsodium build on aarch64/clang

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj 2024-03-26 21:04:28 -07:00
parent b0ca28a7e0
commit 79fb44fa43
No known key found for this signature in database
GPG Key ID: BB053355919D3314
2 changed files with 39 additions and 0 deletions

View File

@ -0,0 +1,38 @@
Move target #pragma after arm_neon.h include
Fix per android/ndk#1945
If the pragma is done before the header include,
when using clang compiler attribute may apply to the functions in arm_neon.h
Upstream-Status: Submitted [https://github.com/jedisct1/libsodium/pull/1321]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
+++ b/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
@@ -19,12 +19,6 @@
#define __vectorcall
#endif
-#ifdef __clang__
-#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
-#elif defined(__GNUC__)
-#pragma GCC target("+simd+crypto")
-#endif
-
#ifndef __ARM_FEATURE_CRYPTO
#define __ARM_FEATURE_CRYPTO 1
#endif
@@ -34,6 +28,12 @@
#include <arm_neon.h>
+#ifdef __clang__
+#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
+#elif defined(__GNUC__)
+#pragma GCC target("+simd+crypto")
+#endif
+
#define ABYTES crypto_aead_aes256gcm_ABYTES
#define NPUBBYTES crypto_aead_aes256gcm_NPUBBYTES
#define KEYBYTES crypto_aead_aes256gcm_KEYBYTES

View File

@ -26,6 +26,7 @@ SRC_URI = "git://github.com/apache/nifi-minifi-cpp.git;protocol=https;branch=mai
file://0005-Pass-noline-flag-to-flex.patch \
file://0006-OsUtils.h-add-missing-header-cstdint-for-int64_t.patch \
file://0007-CMakeLists.txt-do-not-use-ccache.patch \
file://0008-libsodium-aarch64_crypto.patch \
file://systemd-volatile.conf \
file://sysvinit-volatile.conf \
"