From a6778013b4dd7bc3d60d57e0b87aa674d0b0ea76 Mon Sep 17 00:00:00 2001 From: Dave Rodgman Date: Wed, 23 Nov 2022 17:16:57 +0000 Subject: [PATCH] Tidy up UBSan detection Signed-off-by: Dave Rodgman --- library/common.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/library/common.h b/library/common.h index 808d13de2a..49c5826aa1 100644 --- a/library/common.h +++ b/library/common.h @@ -78,12 +78,17 @@ extern void (*mbedtls_test_hook_test_fail)( const char * test, int line, const c * * This list is incomplete. */ +#if defined(__has_feature) +#if __has_feature(undefined_behavior_sanitizer) +#define MBEDTLS_HAVE_UBSAN +#endif +#endif + #if (defined(__i386__) || defined(__amd64__) || defined( __x86_64__) \ || defined(__ARM_FEATURE_UNALIGNED) \ || defined(__aarch64__) \ || defined(__ARM_ARCH_8__) || defined(__ARM_ARCH_8A__) || defined(__ARM_ARCH_8M__) \ - || defined(__ARM_ARCH_7A__)) \ - && (!(defined(__has_feature) && __has_feature(undefined_behavior_sanitizer))) + || defined(__ARM_ARCH_7A__)) && !defined(MBEDTLS_HAVE_UBSAN) #define MBEDTLS_ALLOW_UNALIGNED_ACCESS #endif