[PATCH] Fix build of jitterentropy-base.c with clang
Tom Stellard
tstellar at redhat.com
Mon Jul 27 21:09:46 CEST 2020
Clang has a slightly different pragma to disable optimizations.
---
random/jitterentropy-base.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/random/jitterentropy-base.c b/random/jitterentropy-base.c
index 32fdea46..2c198ef5 100644
--- a/random/jitterentropy-base.c
+++ b/random/jitterentropy-base.c
@@ -50,6 +50,14 @@
*/
#undef _FORTIFY_SOURCE
+#ifdef __clang__
+#pragma clang optimize off
+
+/* clang does not undefine the __OPTIMIZE__ macro after using the
+ * clang optimize off pragma, so the same __OPTIMIZE__ check below that
+ * is used for gcc won't work.
+ */
+#else
#pragma GCC optimize ("O0")
#include "jitterentropy.h"
@@ -60,6 +68,7 @@
#error "The CPU Jitter random number generator must not be compiled with optimizations. See documentation. Use the compiler switch -O0 for compiling jitterentropy-base.c."
#endif
#endif
+#endif
#define MAJVERSION 2 /* API / ABI incompatible changes, functional changes that
* require consumer to be updated (as long as this number
--
2.26.2
More information about the Gcrypt-devel
mailing list