From 74b06bd7738c199f7e3d4aaa22c9b73f79905fe0 Mon Sep 17 00:00:00 2001 From: grasci <86058054+grasci-arm@users.noreply.github.com> Date: Fri, 7 Jul 2023 08:01:38 +0100 Subject: [PATCH] [buildmgr] Add C pre-processor secure flags --- tools/buildmgr/cbuildgen/config/AC6.6.18.0.cmake | 10 +++++----- .../buildmgr/cbuildgen/config/CLANG.16.0.0.cmake | 12 +++++------- tools/buildmgr/cbuildgen/config/GCC.10.3.1.cmake | 12 +++++------- tools/buildmgr/cbuildgen/config/IAR.9.32.1.cmake | 15 ++++++++------- 4 files changed, 23 insertions(+), 26 deletions(-) diff --git a/tools/buildmgr/cbuildgen/config/AC6.6.18.0.cmake b/tools/buildmgr/cbuildgen/config/AC6.6.18.0.cmake index bbf36fcc0..d175be6de 100644 --- a/tools/buildmgr/cbuildgen/config/AC6.6.18.0.cmake +++ b/tools/buildmgr/cbuildgen/config/AC6.6.18.0.cmake @@ -545,7 +545,11 @@ set(AS_GNU_BYTE_ORDER "${AS_BYTE_ORDER}") # C Pre-Processor -set(CPP_FLAGS "-E --target=arm-arm-none-eabi ${ARMCLANG_CPU} -xc") +if(SECURE STREQUAL "Secure") + set(CC_SECURE "-mcmse") +endif() + +set(CPP_FLAGS "-E --target=arm-arm-none-eabi ${ARMCLANG_CPU} -xc ${CC_SECURE}") set(CPP_DEFINES ${LD_SCRIPT_PP_DEFINES}) cbuild_set_defines(CC CPP_DEFINES) if(DEFINED LD_REGIONS AND NOT LD_REGIONS STREQUAL "") @@ -565,10 +569,6 @@ set(_ISYS "-isystem ") set(CC_OPTIONS_FLAGS) cbuild_set_options_flags(CC "${OPTIMIZE}" "${DEBUG}" "${WARNINGS}" "${LANGUAGE_CC}" CC_OPTIONS_FLAGS) -if(SECURE STREQUAL "Secure") - set(CC_SECURE "-mcmse") -endif() - if(BRANCHPROT STREQUAL "NO_BRANCHPROT") set(CC_BRANCHPROT "-mbranch-protection=none") elseif(BRANCHPROT STREQUAL "BTI") diff --git a/tools/buildmgr/cbuildgen/config/CLANG.16.0.0.cmake b/tools/buildmgr/cbuildgen/config/CLANG.16.0.0.cmake index 84c598cfb..4f9afd0a2 100644 --- a/tools/buildmgr/cbuildgen/config/CLANG.16.0.0.cmake +++ b/tools/buildmgr/cbuildgen/config/CLANG.16.0.0.cmake @@ -257,7 +257,11 @@ endif() # C Pre-Processor -set(CPP_FLAGS "-E -P -xc") +if(SECURE STREQUAL "Secure") + set(CC_SECURE "-mcmse") +endif() + +set(CPP_FLAGS "-E -P ${CLANG_CPU} -xc ${CC_SECURE}") set(CPP_DEFINES ${LD_SCRIPT_PP_DEFINES}) cbuild_set_defines(CC CPP_DEFINES) if(DEFINED LD_REGIONS AND NOT LD_REGIONS STREQUAL "") @@ -275,12 +279,6 @@ set(CC_FLAGS "--target=${CLANG_ARCH}-none-eabi --sysroot=${TOOLCHAIN_ROOT}/../li set(CC_OPTIONS_FLAGS) cbuild_set_options_flags(CC "${OPTIMIZE}" "${DEBUG}" "${WARNINGS}" "${LANGUAGE_CC}" CC_OPTIONS_FLAGS) -if(SECURE STREQUAL "Secure") - set(CC_SECURE "-mcmse") -else() - set(CC_SECURE "") -endif() - if(BRANCHPROT STREQUAL "NO_BRANCHPROT") set(CC_BRANCHPROT "-mbranch-protection=none") elseif(BRANCHPROT STREQUAL "BTI") diff --git a/tools/buildmgr/cbuildgen/config/GCC.10.3.1.cmake b/tools/buildmgr/cbuildgen/config/GCC.10.3.1.cmake index 8da0d9cf6..fb597488e 100644 --- a/tools/buildmgr/cbuildgen/config/GCC.10.3.1.cmake +++ b/tools/buildmgr/cbuildgen/config/GCC.10.3.1.cmake @@ -254,7 +254,11 @@ set(AS_GNU_BYTE_ORDER "${AS_BYTE_ORDER}") # C Pre-Processor -set(CPP_FLAGS "-E -P -xc") +if(SECURE STREQUAL "Secure") + set(CC_SECURE "-mcmse") +endif() + +set(CPP_FLAGS "-E -P ${GNUASM_CPU} -xc ${CC_SECURE}") set(CPP_DEFINES ${LD_SCRIPT_PP_DEFINES}) cbuild_set_defines(CC CPP_DEFINES) if(DEFINED LD_REGIONS AND NOT LD_REGIONS STREQUAL "") @@ -274,12 +278,6 @@ set(_ISYS "-isystem ") set(CC_OPTIONS_FLAGS) cbuild_set_options_flags(CC "${OPTIMIZE}" "${DEBUG}" "${WARNINGS}" "${LANGUAGE_CC}" CC_OPTIONS_FLAGS) -if(SECURE STREQUAL "Secure") - set(CC_SECURE "-mcmse") -else() - set(CC_SECURE "") -endif() - if(BRANCHPROT STREQUAL "NO_BRANCHPROT") set(CC_BRANCHPROT "-mbranch-protection=none") elseif(BRANCHPROT STREQUAL "BTI") diff --git a/tools/buildmgr/cbuildgen/config/IAR.9.32.1.cmake b/tools/buildmgr/cbuildgen/config/IAR.9.32.1.cmake index 2deb4f4c9..d644f6d0b 100644 --- a/tools/buildmgr/cbuildgen/config/IAR.9.32.1.cmake +++ b/tools/buildmgr/cbuildgen/config/IAR.9.32.1.cmake @@ -281,12 +281,19 @@ cbuild_set_options_flags(ASM "${OPTIMIZE}" "${DEBUG}" "${WARNINGS}" "" ASM_OPTIO # C Pre-Processor +if((SECURE STREQUAL "Secure") AND + (TZ STREQUAL "NO_TZ") AND + ${SUPPORTS_TZ} ) + set(CC_SECURE "--cmse") +endif() + +set(CPP_FLAGS "--cpu=${IAR_CPU} --fpu=${IAR_FPU} ${CC_SECURE}") set(CPP_DEFINES ${LD_SCRIPT_PP_DEFINES}) cbuild_set_defines(CC CPP_DEFINES) if(DEFINED LD_REGIONS AND NOT LD_REGIONS STREQUAL "") set(CPP_INCLUDES "--preinclude \"${LD_REGIONS}\"") endif() -set(CPP_ARGS_LD_SCRIPT "${CPP_DEFINES} \"${LD_SCRIPT}\" ${CPP_INCLUDES} --preprocess=ns \"${LD_SCRIPT_PP}\"") +set(CPP_ARGS_LD_SCRIPT "${CPP_FLAGS} ${CPP_DEFINES} \"${LD_SCRIPT}\" ${CPP_INCLUDES} --preprocess=ns \"${LD_SCRIPT_PP}\"") separate_arguments(CPP_ARGS_LD_SCRIPT NATIVE_COMMAND ${CPP_ARGS_LD_SCRIPT}) # C Compiler @@ -300,12 +307,6 @@ set(CC_OPTIONS_FLAGS) cbuild_set_options_flags(CC "${OPTIMIZE}" "${DEBUG}" "${WARNINGS}" "${LANGUAGE_CC}" CC_OPTIONS_FLAGS) set(_PI "--preinclude ") -if((SECURE STREQUAL "Secure") AND - (TZ STREQUAL "NO_TZ") AND - ${SUPPORTS_TZ} ) - set(CC_SECURE "--cmse") -endif() - # C++ Compiler set(CXX_CPU "${CC_CPU}")