ce6374f8cd
Fix the following aarch64 build failure with uclibc: mud/aegis256/aegis256.c:51:10: fatal error: sys/auxv.h: No such file or directory 51 | #include <sys/auxv.h> | ^~~~~~~~~~~~ Fixes: - http://autobuild.buildroot.org/results/4e1bbd72b9b7e0f9963f6693c3d7bc9a1d24fab4 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
52 lines
1.5 KiB
Diff
52 lines
1.5 KiB
Diff
From 577ae0352d191fa604f861ea2f0847e7c5eda617 Mon Sep 17 00:00:00 2001
|
|
From: Frank Denis <github@pureftpd.org>
|
|
Date: Wed, 1 Jul 2020 22:51:43 +0200
|
|
Subject: [PATCH] Add support for Apple silicon
|
|
|
|
[Retrieved from:
|
|
https://github.com/angt/aegis256/commit/577ae0352d191fa604f861ea2f0847e7c5eda617]
|
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
---
|
|
aegis256.c | 8 +++++++-
|
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/mud/aegis256/aegis256.c b/mud/aegis256/aegis256.c
|
|
index 9a580bf..75a772c 100644
|
|
--- a/mud/aegis256/aegis256.c
|
|
+++ b/mud/aegis256/aegis256.c
|
|
@@ -36,7 +36,7 @@ typedef __m128i x128;
|
|
#define store128(X,Y) _mm_storeu_si128((x128 *)(X), (Y))
|
|
#define set2x64(X,Y) _mm_set_epi64x((long long)(X), (long long)(Y))
|
|
|
|
-#elif defined(__linux__) && (defined(__ARM_NEON_FP) || defined(__aarch64__))
|
|
+#elif (defined(__APPLE__) || defined(__linux__)) && (defined(__ARM_NEON_FP) || defined(__aarch64__))
|
|
|
|
#ifdef __clang__
|
|
#pragma clang attribute push (__attribute__((target("crypto"))),apply_to=function)
|
|
@@ -48,7 +48,9 @@ typedef __m128i x128;
|
|
#endif
|
|
|
|
#ifdef __ARM_FEATURE_CRYPTO
|
|
+#ifdef __linux__
|
|
#include <sys/auxv.h>
|
|
+#endif
|
|
#include <arm_neon.h>
|
|
|
|
typedef uint8x16_t x128;
|
|
@@ -62,11 +64,15 @@ typedef uint8x16_t x128;
|
|
int
|
|
aegis256_is_available(void)
|
|
{
|
|
+#ifdef __linux__
|
|
return (getauxval(AT_HWCAP) & HWCAP_AES)
|
|
#ifdef HWCAP2_AES
|
|
|| (getauxval(AT_HWCAP2) & HWCAP2_AES)
|
|
#endif
|
|
;
|
|
+#else // __APPLE__
|
|
+ return 1;
|
|
+#endif
|
|
}
|
|
|
|
#endif // __ARM_FEATURE_CRYPTO
|