Improve explicit_bzero detection
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/library/platform_util.c b/library/platform_util.c
index 9ac57e1..d8499bd 100644
--- a/library/platform_util.c
+++ b/library/platform_util.c
@@ -26,6 +26,11 @@
#define _POSIX_C_SOURCE 200112L
#endif
+#if !defined (_GNU_SOURCE)
+/* Clang requires this to get support for explicit_bzero */
+#define _GNU_SOURCE
+#endif
+
#include "common.h"
#include "mbedtls/platform_util.h"
@@ -84,7 +89,10 @@
* mbedtls_platform_zeroize() to use a suitable implementation for their
* platform and needs.
*/
+ #if !defined(MBEDTLS_PLATFORM_HAS_EXPLICIT_BZERO) && !defined(__STDC_LIB_EXT1__) \
+ && !defined(_WIN32)
static void *(*const volatile memset_func)(void *, int, size_t) = memset;
+#endif
void mbedtls_platform_zeroize(void *buf, size_t len)
{