From 48b965d9413515a6dedd60c2bc7e09dd5bcb1485 Mon Sep 17 00:00:00 2001 From: Dave Rodgman Date: Mon, 9 Oct 2023 12:19:44 +0100 Subject: [PATCH] Update clang version requirements Signed-off-by: Dave Rodgman --- include/mbedtls/mbedtls_config.h | 7 ++++--- library/aesce.c | 6 ++++-- tests/scripts/all.sh | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/mbedtls/mbedtls_config.h b/include/mbedtls/mbedtls_config.h index 4be2a21a0..cbcffa4c3 100644 --- a/include/mbedtls/mbedtls_config.h +++ b/include/mbedtls/mbedtls_config.h @@ -2258,9 +2258,10 @@ * system, Armv8-A Cryptographic Extensions must be supported by * the CPU when this option is enabled. * - * \note Minimum compiler versions for this feature are Clang 4.0; - * armclang 6.6 when targeting aarch64, or 6.20 when targeting - * Thumb or 32-bit Arm; GCC 6.0; or MSVC 2019 version 16.11.2. + * \note Minimum compiler versions for this feature when targeting aarch64 + * are Clang 4.0; armclang 6.6; GCC 6.0; or MSVC 2019 version 16.11.2. + * Minimum compiler versions for this feature when targeting 32-bit + * Arm or Thumb are Clang 11.0; armclang 6.20; or GCC 6.0. * * \note \c CFLAGS must be set to a minimum of \c -march=armv8-a+crypto for * armclang <= 6.9 diff --git a/library/aesce.c b/library/aesce.c index 3ba6a6059..caf9560cd 100644 --- a/library/aesce.c +++ b/library/aesce.c @@ -61,8 +61,10 @@ /* Compiler version checks. */ #if defined(__clang__) -# if __clang_major__ < 4 -# error "Minimum version of Clang for MBEDTLS_AESCE_C is 4.0." +# if defined(MBEDTLS_ARCH_IS_ARM32) && (__clang_major__ < 11) +# error "Minimum version of Clang for MBEDTLS_AESCE_C on 32-bit Arm or Thumb is 111.0." +# elif defined(MBEDTLS_ARCH_IS_ARM64) && (__clang_major__ < 4) +# error "Minimum version of Clang for MBEDTLS_AESCE_C on aarch64 is 4.0." # endif #elif defined(__GNUC__) # if __GNUC__ < 6 diff --git a/tests/scripts/all.sh b/tests/scripts/all.sh index 91d0a255e..d84bdb7bd 100755 --- a/tests/scripts/all.sh +++ b/tests/scripts/all.sh @@ -4394,7 +4394,7 @@ component_build_aes_aesce_armcc () { support_build_aes_armce() { # clang >= 4 is required to build with AES extensions ver="$(clang --version|grep version|sed -E 's#.*version ([0-9]+).*#\1#')" - [ "${ver}" -ge 4 ] + [ "${ver}" -ge 11 ] } component_build_aes_armce () {