You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-cpp/abseil-cpp/files/abseil-cpp-20200923-arm_no_...

24 lines
1.0 KiB

Don't assume all ARM CPUs have crypto extensions.
Requires an accompanying change in the ebuild to disable crypto
extensions (by passing -DABSL_ARCH_ARM_NO_CRYPTO). This could
be done by the build system instead in future.
https://bugs.gentoo.org/778926
--- /absl/random/internal/randen_hwaes.cc
+++ /absl/random/internal/randen_hwaes.cc
@@ -50,8 +50,11 @@
(defined(__ARM_NEON) && defined(__ARM_FEATURE_CRYPTO))
#define ABSL_RANDEN_HWAES_IMPL 1
-#elif ABSL_RANDOM_INTERNAL_AES_DISPATCH && !defined(__APPLE__) && \
- (defined(__GNUC__) && __GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 9)
+// When ABSL_ARCH_ARM_NO_CRYPTO is defined, then ARM CPU without
+// crypto extension is assumed.
+#elif !defined(ABSL_ARCH_ARM_NO_CRYPTO) && \
+ (ABSL_RANDOM_INTERNAL_AES_DISPATCH && !defined(__APPLE__) && \
+ (defined(__GNUC__) && __GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 9))
// ...or, on GCC, we can use an ASM directive to
// instruct the assember to allow crypto instructions.
#define ABSL_RANDEN_HWAES_IMPL 1