summaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2023-11-05 21:14:47 -0800
committerKhem Raj <raj.khem@gmail.com>2023-11-06 08:49:52 -0800
commitfe8ee3c8d608ecd6973b8f624836ebf49c1a9d80 (patch)
treeea461d68d756014738c000a0dec7eaf078d6b1fd /meta-oe
parent294b2e9ae951e22ffe8ac5d7c8b5e2114db17b03 (diff)
downloadmeta-openembedded-fe8ee3c8d608ecd6973b8f624836ebf49c1a9d80.tar.gz
libsodium: Fix build with clang on aarch64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
-rw-r--r--meta-oe/recipes-crypto/libsodium/libsodium/0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch49
-rw-r--r--meta-oe/recipes-crypto/libsodium/libsodium_1.0.19.bb3
2 files changed, 51 insertions, 1 deletions
diff --git a/meta-oe/recipes-crypto/libsodium/libsodium/0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch b/meta-oe/recipes-crypto/libsodium/libsodium/0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch
new file mode 100644
index 0000000000..7a6fae7997
--- /dev/null
+++ b/meta-oe/recipes-crypto/libsodium/libsodium/0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch
@@ -0,0 +1,49 @@
1From d3253310f7c0fc0f1aad6864e3b57958ea1bb9c5 Mon Sep 17 00:00:00 2001
2From: tux3 <barrdetwix@gmail.com>
3Date: Mon, 16 Oct 2023 16:42:04 +0200
4Subject: [PATCH] fix(aarch64): Move target #pragma after arm_neon.h include
5
6Fix per https://github.com/android/ndk/issues/1945
7
8If the pragma is done before the header include,
9in NDK 26 the attribute may apply to the functions in arm_neon.h
10
11Upstream-Status: Backport [https://github.com/jedisct1/libsodium/pull/1321]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 .../aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c | 12 ++++++------
15 1 file changed, 6 insertions(+), 6 deletions(-)
16
17diff --git a/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c b/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
18index 0a5a128..aa76f5c 100644
19--- a/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
20+++ b/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
21@@ -19,12 +19,6 @@
22 #define __vectorcall
23 #endif
24
25-#ifdef __clang__
26-#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
27-#elif defined(__GNUC__)
28-#pragma GCC target("+simd+crypto")
29-#endif
30-
31 #ifndef __ARM_FEATURE_CRYPTO
32 #define __ARM_FEATURE_CRYPTO 1
33 #endif
34@@ -34,6 +28,12 @@
35
36 #include <arm_neon.h>
37
38+#ifdef __clang__
39+#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
40+#elif defined(__GNUC__)
41+#pragma GCC target("+simd+crypto")
42+#endif
43+
44 #define ABYTES crypto_aead_aes256gcm_ABYTES
45 #define NPUBBYTES crypto_aead_aes256gcm_NPUBBYTES
46 #define KEYBYTES crypto_aead_aes256gcm_KEYBYTES
47--
482.42.1
49
diff --git a/meta-oe/recipes-crypto/libsodium/libsodium_1.0.19.bb b/meta-oe/recipes-crypto/libsodium/libsodium_1.0.19.bb
index 824ac45c87..2e678f3f0f 100644
--- a/meta-oe/recipes-crypto/libsodium/libsodium_1.0.19.bb
+++ b/meta-oe/recipes-crypto/libsodium/libsodium_1.0.19.bb
@@ -4,7 +4,8 @@ BUGTRACKER = "https://github.com/jedisct1/libsodium/issues"
4LICENSE = "ISC" 4LICENSE = "ISC"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=49ce3b426e6a002e23a1387248e6dbe9" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=49ce3b426e6a002e23a1387248e6dbe9"
6 6
7SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz" 7SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz \
8 file://0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch"
8SRC_URI[sha256sum] = "018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea" 9SRC_URI[sha256sum] = "018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea"
9 10
10inherit autotools 11inherit autotools