diff options
author | David Hu <david.hu@arm.com> | 2020-01-10 17:16:26 +0800 |
---|---|---|
committer | David Hu <david.hu@arm.com> | 2020-01-13 09:47:54 +0800 |
commit | 7ffe5b49c5694dea47a545f62442fd6076d26c53 (patch) | |
tree | dd3ba7be1cd9fe2d2adfba40f36a4e62188deea8 /cmake | |
parent | 47ecbf04561876f4ae94705c086519654be07422 (diff) | |
download | trusted-firmware-m-7ffe5b49c5694dea47a545f62442fd6076d26c53.tar.gz |
Build: Fix arch type of Cortex-M0plus in GNUARM
The arch type of Cortex-M0plus should be "armv6s-m" instead of
"armv6-m" in GNU Arm embedded toolchain. Otherwise, compiling will
fail because "armv6-m" type doesn't support SVC.
Fix the arch type values in GNUARM cmake files.
Add an arch type string "ARMv6S-M" for Cortex-M0plus in GNUARM.
Because Armclang doesn't have a dedicated flag as "armv6s-m", two
strings "ARMv6-M" and "ARMv6S-M" exist and stand for Cortex-M0plus
arch type in Armclang and GNUARM respectively.
Change-Id: I59e9b9837012fb8dbbae59beacfd6cb293548747
Signed-off-by: David Hu <david.hu@arm.com>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Common/CompilerGNUARM63.cmake | 14 | ||||
-rw-r--r-- | cmake/Common/CompilerGNUARM73.cmake | 14 | ||||
-rw-r--r-- | cmake/Common/CompilerGNUARM83.cmake | 14 |
3 files changed, 21 insertions, 21 deletions
diff --git a/cmake/Common/CompilerGNUARM63.cmake b/cmake/Common/CompilerGNUARM63.cmake index 2d3d051937..affeabb58d 100644 --- a/cmake/Common/CompilerGNUARM63.cmake +++ b/cmake/Common/CompilerGNUARM63.cmake @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------- -# Copyright (c) 2017-2019, Arm Limited. All rights reserved. +# Copyright (c) 2017-2020, Arm Limited. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -30,11 +30,11 @@ elseif(${ARM_CPU_ARCHITECTURE} STREQUAL "ARMv7-M") string_append_unique_item(STRING CMAKE_CXX_FLAGS_CPU KEY "-march=" VAL "-march=armv7-m") string_append_unique_item(STRING CMAKE_ASM_FLAGS_CPU KEY "-march=" VAL "-march=armv7-m") string_append_unique_item(STRING CMAKE_LINK_FLAGS_CPU KEY "-march=" VAL "-march=armv7-m") -elseif(${ARM_CPU_ARCHITECTURE} STREQUAL "ARMv6-M") - string_append_unique_item(STRING CMAKE_C_FLAGS_CPU KEY "-march=" VAL "-march=armv6-m") - string_append_unique_item(STRING CMAKE_CXX_FLAGS_CPU KEY "-march=" VAL "-march=armv6-m") - string_append_unique_item(STRING CMAKE_ASM_FLAGS_CPU KEY "-march=" VAL "-march=armv6-m") - string_append_unique_item(STRING CMAKE_LINK_FLAGS_CPU KEY "-march=" VAL "-march=armv6-m") +elseif(${ARM_CPU_ARCHITECTURE} STREQUAL "ARMv6S-M") + string_append_unique_item(STRING CMAKE_C_FLAGS_CPU KEY "-march=" VAL "-march=armv6s-m") + string_append_unique_item(STRING CMAKE_CXX_FLAGS_CPU KEY "-march=" VAL "-march=armv6s-m") + string_append_unique_item(STRING CMAKE_ASM_FLAGS_CPU KEY "-march=" VAL "-march=armv6s-m") + string_append_unique_item(STRING CMAKE_LINK_FLAGS_CPU KEY "-march=" VAL "-march=armv6s-m") else() message(FATAL_ERROR "Unknown or unsupported ARM cpu architecture setting.") endif() @@ -69,7 +69,7 @@ if(NOT DEFINED ARM_CPU_ARCHITECTURE) string_append_unique_item(STRING CMAKE_CXX_FLAGS_CPU KEY "-mcpu=" VAL "-mcpu=cortex-m0plus") string_append_unique_item(STRING CMAKE_ASM_FLAGS_CPU KEY "-mcpu=" VAL "-mcpu=Cortex-M0plus") string_append_unique_item(STRING CMAKE_LINK_FLAGS_CPU KEY "-mcpu=" VAL "-mcpu=Cortex-M0plus") - set(ARM_CPU_ARCHITECTURE "ARMv6-M") + set(ARM_CPU_ARCHITECTURE "ARMv6S-M") else() message(FATAL_ERROR "Unknown ARM cpu setting.") endif() diff --git a/cmake/Common/CompilerGNUARM73.cmake b/cmake/Common/CompilerGNUARM73.cmake index 861e32928d..37b94ae336 100644 --- a/cmake/Common/CompilerGNUARM73.cmake +++ b/cmake/Common/CompilerGNUARM73.cmake @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------- -# Copyright (c) 2018-2019, Arm Limited. All rights reserved. +# Copyright (c) 2018-2020, Arm Limited. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -30,11 +30,11 @@ elseif(${ARM_CPU_ARCHITECTURE} STREQUAL "ARMv7-M") string_append_unique_item(STRING CMAKE_CXX_FLAGS_CPU KEY "-march=" VAL "-march=armv7-m") string_append_unique_item(STRING CMAKE_ASM_FLAGS_CPU KEY "-march=" VAL "-march=armv7-m") string_append_unique_item(STRING CMAKE_LINK_FLAGS_CPU KEY "-march=" VAL "-march=armv7-m") -elseif(${ARM_CPU_ARCHITECTURE} STREQUAL "ARMv6-M") - string_append_unique_item(STRING CMAKE_C_FLAGS_CPU KEY "-march=" VAL "-march=armv6-m") - string_append_unique_item(STRING CMAKE_CXX_FLAGS_CPU KEY "-march=" VAL "-march=armv6-m") - string_append_unique_item(STRING CMAKE_ASM_FLAGS_CPU KEY "-march=" VAL "-march=armv6-m") - string_append_unique_item(STRING CMAKE_LINK_FLAGS_CPU KEY "-march=" VAL "-march=armv6-m") +elseif(${ARM_CPU_ARCHITECTURE} STREQUAL "ARMv6S-M") + string_append_unique_item(STRING CMAKE_C_FLAGS_CPU KEY "-march=" VAL "-march=armv6s-m") + string_append_unique_item(STRING CMAKE_CXX_FLAGS_CPU KEY "-march=" VAL "-march=armv6s-m") + string_append_unique_item(STRING CMAKE_ASM_FLAGS_CPU KEY "-march=" VAL "-march=armv6s-m") + string_append_unique_item(STRING CMAKE_LINK_FLAGS_CPU KEY "-march=" VAL "-march=armv6s-m") else() message(FATAL_ERROR "Unknown or unsupported ARM cpu architecture setting.") endif() @@ -69,7 +69,7 @@ if(NOT DEFINED ARM_CPU_ARCHITECTURE) string_append_unique_item(STRING CMAKE_CXX_FLAGS_CPU KEY "-mcpu=" VAL "-mcpu=cortex-m0plus") string_append_unique_item(STRING CMAKE_ASM_FLAGS_CPU KEY "-mcpu=" VAL "-mcpu=Cortex-M0plus") string_append_unique_item(STRING CMAKE_LINK_FLAGS_CPU KEY "-mcpu=" VAL "-mcpu=Cortex-M0plus") - set(ARM_CPU_ARCHITECTURE "ARMv6-M") + set(ARM_CPU_ARCHITECTURE "ARMv6S-M") else() message(FATAL_ERROR "Unknown ARM cpu setting.") endif() diff --git a/cmake/Common/CompilerGNUARM83.cmake b/cmake/Common/CompilerGNUARM83.cmake index 2b973e5251..57007a4f48 100644 --- a/cmake/Common/CompilerGNUARM83.cmake +++ b/cmake/Common/CompilerGNUARM83.cmake @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------- -# Copyright (c) 2019, Arm Limited. All rights reserved. +# Copyright (c) 2019-2020, Arm Limited. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -30,11 +30,11 @@ elseif(${ARM_CPU_ARCHITECTURE} STREQUAL "ARMv7-M") string_append_unique_item(STRING CMAKE_CXX_FLAGS_CPU KEY "-march=" VAL "-march=armv7-m") string_append_unique_item(STRING CMAKE_ASM_FLAGS_CPU KEY "-march=" VAL "-march=armv7-m") string_append_unique_item(STRING CMAKE_LINK_FLAGS_CPU KEY "-march=" VAL "-march=armv7-m") -elseif(${ARM_CPU_ARCHITECTURE} STREQUAL "ARMv6-M") - string_append_unique_item(STRING CMAKE_C_FLAGS_CPU KEY "-march=" VAL "-march=armv6-m") - string_append_unique_item(STRING CMAKE_CXX_FLAGS_CPU KEY "-march=" VAL "-march=armv6-m") - string_append_unique_item(STRING CMAKE_ASM_FLAGS_CPU KEY "-march=" VAL "-march=armv6-m") - string_append_unique_item(STRING CMAKE_LINK_FLAGS_CPU KEY "-march=" VAL "-march=armv6-m") +elseif(${ARM_CPU_ARCHITECTURE} STREQUAL "ARMv6S-M") + string_append_unique_item(STRING CMAKE_C_FLAGS_CPU KEY "-march=" VAL "-march=armv6s-m") + string_append_unique_item(STRING CMAKE_CXX_FLAGS_CPU KEY "-march=" VAL "-march=armv6s-m") + string_append_unique_item(STRING CMAKE_ASM_FLAGS_CPU KEY "-march=" VAL "-march=armv6s-m") + string_append_unique_item(STRING CMAKE_LINK_FLAGS_CPU KEY "-march=" VAL "-march=armv6s-m") else() message(FATAL_ERROR "Unknown or unsupported ARM cpu architecture setting.") endif() @@ -69,7 +69,7 @@ if(NOT DEFINED ARM_CPU_ARCHITECTURE) string_append_unique_item(STRING CMAKE_CXX_FLAGS_CPU KEY "-mcpu=" VAL "-mcpu=cortex-m0plus") string_append_unique_item(STRING CMAKE_ASM_FLAGS_CPU KEY "-mcpu=" VAL "-mcpu=Cortex-m0plus") string_append_unique_item(STRING CMAKE_LINK_FLAGS_CPU KEY "-mcpu=" VAL "-mcpu=Cortex-m0plus") - set(ARM_CPU_ARCHITECTURE "ARMv6-M") + set(ARM_CPU_ARCHITECTURE "ARMv6S-M") else() message(FATAL_ERROR "Unknown ARM cpu setting.") endif() |