Build: Upgrade ArmClang version to 6.21
Previously, ArmClang was upgraded to 6.18, but this version was found to
have issues when UBL licensing is enabled. So, upgrade to the latest as
of now to resolve them.
https://linaro.atlassian.net/browse/TFC-525
Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
Change-Id: I2f6dffbdd8079cc22e0016c9be247aed508eb02a
diff --git a/build_helper/build_helper_configs.py b/build_helper/build_helper_configs.py
index 7edcd4c..8e663b3 100755
--- a/build_helper/build_helper_configs.py
+++ b/build_helper/build_helper_configs.py
@@ -189,11 +189,11 @@
# List of all build configs that are impossible under all circumstances
_common_tfm_invalid_configs = [
# LR_CODE size exceeds limit on MUSCA_B1 & MUSCA_S1 with regression tests in Debug mode built with ARMCLANG
- ("arm/musca_b1", "ARMCLANG_6_18", "*", "RegBL2, RegS, RegNS", "OFF", "Debug", "*", "", "*"),
- ("arm/musca_s1", "ARMCLANG_6_18", "*", "RegBL2, RegS, RegNS", "OFF", "Debug", "*", "", "*"),
+ ("arm/musca_b1", "ARMCLANG_6_21", "*", "RegBL2, RegS, RegNS", "OFF", "Debug", "*", "", "*"),
+ ("arm/musca_s1", "ARMCLANG_6_21", "*", "RegBL2, RegS, RegNS", "OFF", "Debug", "*", "", "*"),
# Load range overlap on Musca for IPC Debug type: T895
- ("arm/musca_b1", "ARMCLANG_6_18", "*", "*", "IPC", "Debug", "*", "*", "*"),
- ("arm/musca_s1", "ARMCLANG_6_18", "*", "*", "IPC", "Debug", "*", "*", "*"),
+ ("arm/musca_b1", "ARMCLANG_6_21", "*", "*", "IPC", "Debug", "*", "*", "*"),
+ ("arm/musca_s1", "ARMCLANG_6_21", "*", "*", "IPC", "Debug", "*", "*", "*"),
# FF does not support L3
("*", "*", "3", "*", "IPC", "*", "*", "*", "*"),
# Musca requires BL2
@@ -210,7 +210,7 @@
config_pp_test = {"seed_params": {
# AN519_ARMCLANG_IPC_1_RegBL2_RegS_RegNS_Debug_BL2
"tfm_platform": ["arm/mps2/an519"],
- "compiler": ["ARMCLANG_6_18"],
+ "compiler": ["ARMCLANG_6_21"],
"isolation_level": ["1"],
"test_regression": ["RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -222,7 +222,7 @@
"common_params": _common_tfm_builder_cfg,
"valid": [
# AN519_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
- ("arm/mps2/an519", "ARMCLANG_6_18", "2",
+ ("arm/mps2/an519", "ARMCLANG_6_21", "2",
"RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
# AN519_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
("arm/mps2/an519", "GCC_10_3", "1",
@@ -234,22 +234,22 @@
("arm/mps2/an519", "GCC_10_3", "1",
"RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
# AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_SMALL_PSOFF
- ("arm/mps2/an521", "ARMCLANG_6_18", "1",
+ ("arm/mps2/an521", "ARMCLANG_6_21", "1",
"RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_small", "PSOFF"),
# AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2
- ("arm/mps2/an521", "ARMCLANG_6_18", "1",
+ ("arm/mps2/an521", "ARMCLANG_6_21", "1",
"RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
# AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_IPC
- ("arm/mps2/an521", "ARMCLANG_6_18", "1",
+ ("arm/mps2/an521", "ARMCLANG_6_21", "1",
"RegBL2, RegS, RegNS", "OFF", "Debug", True, "", "IPC"),
# AN521_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
- ("arm/mps2/an521", "ARMCLANG_6_18", "2",
+ ("arm/mps2/an521", "ARMCLANG_6_21", "2",
"RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
# AN521_ARMCLANG_3_RegBL2_RegS_RegNS_Minsizerel_BL2
- ("arm/mps2/an521", "ARMCLANG_6_18", "3",
+ ("arm/mps2/an521", "ARMCLANG_6_21", "3",
"RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
# AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_SMALL_PSOFF
- ("arm/mps2/an521", "ARMCLANG_6_18", "1",
+ ("arm/mps2/an521", "ARMCLANG_6_21", "1",
"RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_small", "PSOFF"),
# AN521_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
("arm/mps2/an521", "GCC_10_3", "1",
@@ -270,7 +270,7 @@
("arm/mps2/an521", "GCC_10_3", "1",
"OFF", "IPC", "Release", True, "", ""),
# AN521_ARMCLANG_2_STORAGE_Debug_BL2
- ("arm/mps2/an521", "ARMCLANG_6_18", "2",
+ ("arm/mps2/an521", "ARMCLANG_6_21", "2",
"OFF", "STORAGE", "Debug", True, "", ""),
# CS300_FVP_GNUARM_2_RegBL2_RegS_RegNS_Debug_BL2
("arm/mps3/corstone300/fvp", "GCC_10_3", "2",
@@ -285,7 +285,7 @@
("arm/musca_b1", "GCC_10_3", "1",
"RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
# MUSCA_S1_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
- ("arm/musca_s1", "ARMCLANG_6_18", "2",
+ ("arm/musca_s1", "ARMCLANG_6_21", "2",
"RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
# MUSCA_S1_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
("arm/musca_s1", "GCC_10_3", "1",
@@ -303,7 +303,7 @@
("arm/rss/tc", "GCC_10_3", "2",
"RegS, RegNS", "OFF", "Release", True, "", "PSOFF"),
# stm32l562e_dk_ARMCLANG_1_RegS_RegNS_Release_BL2_CRYPTO_OFF
- ("stm/stm32l562e_dk", "ARMCLANG_6_18", "1",
+ ("stm/stm32l562e_dk", "ARMCLANG_6_21", "1",
"RegS, RegNS", "OFF", "Release", True, "", "CRYPTO_OFF"),
# stm32l562e_dk_GCC_2_Release_BL2_CRYPTO_ON
("stm/stm32l562e_dk", "GCC_10_3", "2",
@@ -315,7 +315,7 @@
("stm/b_u585i_iot02a", "GCC_10_3", "1",
"RegS, RegNS", "OFF", "Release", True, "", ""),
# b_u585i_iot02a_ARMCLANG_2_RegS_RegNS_Release_BL2
- ("stm/b_u585i_iot02a", "ARMCLANG_6_18", "2",
+ ("stm/b_u585i_iot02a", "ARMCLANG_6_21", "2",
"RegS, RegNS", "OFF", "Release", True, "", ""),
# psoc64_GCC_2_RegS_RegNS_Release
("cypress/psoc64", "GCC_10_3", "2",
@@ -331,7 +331,7 @@
"arm/mps3/an524",
"arm/musca_s1",
"arm/musca_b1"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1", "2", "3"],
"test_regression": ["OFF", "RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -351,7 +351,7 @@
"arm/mps3/an524",
"arm/musca_b1",
"arm/musca_s1"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1", "2", "3"],
"test_regression": ["OFF", "RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -374,7 +374,7 @@
# Config groups for TF-M features
config_profile_s = {"seed_params": {
"tfm_platform": ["arm/mps2/an519", "arm/mps2/an521"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1"],
"test_regression": ["OFF", "RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -394,7 +394,7 @@
"tfm_platform": ["arm/mps2/an519",
"arm/mps2/an521",
"arm/musca_b1"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["2"],
"test_regression": ["OFF", "RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -409,7 +409,7 @@
config_profile_m_arotless = {"seed_params": {
"tfm_platform": ["arm/musca_b1"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1"],
"test_regression": ["OFF", "RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -424,7 +424,7 @@
config_profile_l = {"seed_params": {
"tfm_platform": ["arm/mps2/an521"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["3"],
"test_regression": ["OFF", "RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -442,7 +442,7 @@
"arm/mps2/an521",
"arm/musca_s1",
"arm/musca_b1"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1"],
"test_regression": ["OFF", "RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -492,7 +492,7 @@
"tfm_platform": ["arm/mps2/an521",
"arm/musca_b1",
"arm/musca_s1"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1", "2", "3"],
"test_regression": ["OFF"],
"test_psa_api": ["IPC",
@@ -510,7 +510,7 @@
config_nsce = {"seed_params": {
"tfm_platform": ["arm/mps2/an521"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1", "2", "3"],
"test_regression": ["RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -525,7 +525,7 @@
config_mmio = {"seed_params": {
"tfm_platform": ["arm/mps2/an521"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1"],
"test_regression": ["RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -684,7 +684,7 @@
# Config groups for platforms
config_an519 = {"seed_params": {
"tfm_platform": ["arm/mps2/an519"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1", "2"],
"test_regression": ["OFF", "RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -699,7 +699,7 @@
config_an521 = {"seed_params": {
"tfm_platform": ["arm/mps2/an521"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1", "2", "3"],
"test_regression": ["OFF", "RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -714,7 +714,7 @@
config_an524 = {"seed_params": {
"tfm_platform": ["arm/mps3/an524"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1", "2"],
"test_regression": ["OFF", "RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -774,7 +774,7 @@
config_musca_b1 = {"seed_params": {
"tfm_platform": ["arm/musca_b1"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1", "2", "3"],
"test_regression": ["OFF", "RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -789,7 +789,7 @@
config_musca_s1 = {"seed_params": {
"tfm_platform": ["arm/musca_s1"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1", "2"],
"test_regression": ["OFF", "RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -838,7 +838,7 @@
config_psoc64 = {"seed_params": {
"tfm_platform": ["cypress/psoc64"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1", "2"],
"test_regression": ["RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -868,7 +868,7 @@
config_stm32l562e_dk = {"seed_params": {
"tfm_platform": ["stm/stm32l562e_dk"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1", "2", "3"],
"test_regression": ["OFF", "RegBL2, RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -880,7 +880,7 @@
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
# Oversize issue on config stm32l562e_dk_ARMCLANG_1_RegBL2_RegS_RegNS_Release_BL2
- ("stm/stm32l562e_dk", "ARMCLANG_6_18", "1",
+ ("stm/stm32l562e_dk", "ARMCLANG_6_21", "1",
"RegBL2, RegS, RegNS", "OFF", "Release", True, "", "*"),
# all other tests are off when CRYPTO is ON
("stm/stm32l562e_dk", "*", "*", "RegBL2, RegS, RegNS", "*",
@@ -893,7 +893,7 @@
config_b_u585i_iot02a = {"seed_params": {
"tfm_platform": ["stm/b_u585i_iot02a"],
- "compiler": ["GCC_10_3", "ARMCLANG_6_18"],
+ "compiler": ["GCC_10_3", "ARMCLANG_6_21"],
"isolation_level": ["1", "2"],
"test_regression": ["OFF", "RegS, RegNS"],
"test_psa_api": ["OFF"],
@@ -1013,7 +1013,7 @@
config_mem_footprint = {"seed_params": {
"tfm_platform": ["arm/mps2/an521"],
- "compiler": ["ARMCLANG_6_18"],
+ "compiler": ["ARMCLANG_6_21"],
"isolation_level": ["1"],
"test_regression": ["OFF"],
"test_psa_api": ["OFF"],
@@ -1025,13 +1025,13 @@
"common_params": _common_tfm_builder_cfg,
"valid": [
# AN521_ARMCLANG_1_Minsizerel_BL2_SMALL_PSOFF
- ("arm/mps2/an521", "ARMCLANG_6_18", "1",
+ ("arm/mps2/an521", "ARMCLANG_6_21", "1",
"OFF", "OFF", "Minsizerel", True, "profile_small", "PSOFF"),
# AN521_ARMCLANG_2_Minsizerel_BL2_MEDIUM_PSOFF
- ("arm/mps2/an521", "ARMCLANG_6_18", "2",
+ ("arm/mps2/an521", "ARMCLANG_6_21", "2",
"OFF", "OFF", "Minsizerel", True, "profile_medium", "PSOFF"),
# AN521_ARMCLANG_3_Minsizerel_BL2_LARGE_PSOFF
- ("arm/mps2/an521", "ARMCLANG_6_18", "3",
+ ("arm/mps2/an521", "ARMCLANG_6_21", "3",
"OFF", "OFF", "Minsizerel", True, "profile_large", "PSOFF"),
],
"invalid": _common_tfm_invalid_configs + []
@@ -1084,7 +1084,7 @@
config_debug_PSA_API = {"seed_params": {
"tfm_platform": ["arm/mps2/an521"],
- "compiler": ["ARMCLANG_6_18"],
+ "compiler": ["ARMCLANG_6_21"],
"isolation_level": ["1"],
"test_regression": ["OFF"],
"test_psa_api": ["CRYPTO",
diff --git a/performance.py b/performance.py
index 97c6554..e377898 100755
--- a/performance.py
+++ b/performance.py
@@ -144,7 +144,7 @@
def main(user_args):
if user_args.generate_memory:
# Export ARMClang v6.13 to ENV PATH
- os.environ['PATH'] += os.pathsep + os.getenv('ARMCLANG_6_18_PATH')
+ os.environ['PATH'] += os.pathsep + os.getenv('ARMCLANG_6_21_PATH')
if os.getenv('CONFIG_NAME') in mem_configs.keys():
print('Configuration ' + os.getenv('CONFIG_NAME') + ' is a reference')