This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 0832cdca1c8937d1ec473520bcf14d31bc087eb9
Author: wangmingrong1 <[email protected]>
AuthorDate: Fri Sep 12 11:17:14 2025 +0800

    toolchain/arm/clang:Update clang compilation specifications
    
    Delete the specified --config, clang can automatically find the library 
file through the set -march, -mcpu, and -mfpu
    Otherwise, different versions of clang support different special cfg 
settings.
    
    Signed-off-by: wangmingrong1 <[email protected]>
---
 arch/arm/src/armv6-m/Toolchain.defs |  4 +---
 arch/arm/src/armv7-m/Toolchain.defs | 20 +-------------------
 arch/arm/src/armv8-m/Toolchain.defs | 32 +-------------------------------
 arch/arm/src/cmake/armv8-m.cmake    | 30 ------------------------------
 arch/arm/src/cmake/clang.cmake      | 22 +---------------------
 arch/arm/src/common/Toolchain.defs  | 24 ++++++------------------
 arch/arm/src/tlsr82/Toolchain.defs  |  6 ------
 7 files changed, 10 insertions(+), 128 deletions(-)

diff --git a/arch/arm/src/armv6-m/Toolchain.defs 
b/arch/arm/src/armv6-m/Toolchain.defs
index e7887728bbd..492a9ab1f42 100644
--- a/arch/arm/src/armv6-m/Toolchain.defs
+++ b/arch/arm/src/armv6-m/Toolchain.defs
@@ -31,9 +31,7 @@ LLVM_CPUTYPE  := cortex-m0
 
 # Clang Configuration files
 
-ifeq ($(CONFIG_ARM_TOOLCHAIN_CLANG),y)
-  TOOLCHAIN_CLANG_CONFIG = armv6m_soft_nofp
-else ifeq ($(CONFIG_ARM_TOOLCHAIN_ARMCLANG),y)
+ifeq ($(CONFIG_ARM_TOOLCHAIN_ARMCLANG),y)
   LDFLAGS += --cpu=Cortex-M0
 endif
 
diff --git a/arch/arm/src/armv7-m/Toolchain.defs 
b/arch/arm/src/armv7-m/Toolchain.defs
index 180dd97ebaa..f247f996635 100644
--- a/arch/arm/src/armv7-m/Toolchain.defs
+++ b/arch/arm/src/armv7-m/Toolchain.defs
@@ -106,25 +106,7 @@ endif
 
 # Clang Configuration files
 
-ifeq ($(CONFIG_ARM_TOOLCHAIN_CLANG),y)
-
-  ifeq ($(CONFIG_ARCH_CORTEXM4),y)
-    ifeq ($(CONFIG_ARCH_FPU),y)
-      TOOLCHAIN_CLANG_CONFIG = armv7em_hard_fpv4_sp_d16
-    else
-      TOOLCHAIN_CLANG_CONFIG = armv7em_soft_nofp
-    endif
-  else ifeq ($(CONFIG_ARCH_CORTEXM7),y)
-    ifeq ($(CONFIG_ARCH_FPU),y)
-      TOOLCHAIN_CLANG_CONFIG = armv7em_hard_fpv5_d16
-    else
-      TOOLCHAIN_CLANG_CONFIG = armv7em_soft_nofp
-    endif
-  else # ifeq ($(CONFIG_ARCH_CORTEXM3),y)
-      TOOLCHAIN_CLANG_CONFIG = armv7m_soft_nofp
-  endif
-
-else ifeq ($(CONFIG_ARM_TOOLCHAIN_ARMCLANG),y)
+ifeq ($(CONFIG_ARM_TOOLCHAIN_ARMCLANG),y)
 
   ifeq ($(CONFIG_ARCH_CORTEXM4),y)
     ifeq ($(CONFIG_ARCH_FPU),y)
diff --git a/arch/arm/src/armv8-m/Toolchain.defs 
b/arch/arm/src/armv8-m/Toolchain.defs
index 59397646c7a..65914d78229 100644
--- a/arch/arm/src/armv8-m/Toolchain.defs
+++ b/arch/arm/src/armv8-m/Toolchain.defs
@@ -116,37 +116,7 @@ endif
 
 # Clang Configuration files
 
-ifeq ($(CONFIG_ARM_TOOLCHAIN_CLANG),y)
-
-  ifeq ($(CONFIG_ARCH_CORTEXM23),y)
-    TOOLCHAIN_CLANG_CONFIG = armv8m.main_soft_nofp
-  else ifeq ($(CONFIG_ARCH_CORTEXM33),y)
-    ifeq ($(CONFIG_ARCH_FPU),y)
-      TOOLCHAIN_CLANG_CONFIG = armv8m.main_hard_fp
-    else
-      TOOLCHAIN_CLANG_CONFIG = armv8m.main_soft_nofp
-    endif
-  else ifeq ($(CONFIG_ARCH_CORTEXM35P),y)
-    ifeq ($(CONFIG_ARCH_FPU),y)
-      TOOLCHAIN_CLANG_CONFIG = armv8m.main_hard_fp
-    else
-      TOOLCHAIN_CLANG_CONFIG = armv8m.main_soft_nofp
-    endif
-  else ifeq ($(CONFIG_ARCH_CORTEXM55),y)
-    ifeq ($(CONFIG_ARCH_FPU),y)
-      TOOLCHAIN_CLANG_CONFIG = armv8.1m.main_hard_fp
-    else
-      TOOLCHAIN_CLANG_CONFIG = armv8.1m.main_soft_nofp_nomve
-    endif
-  else ifeq ($(CONFIG_ARCH_CORTEXM85),y)
-    ifeq ($(CONFIG_ARCH_FPU),y)
-      TOOLCHAIN_CLANG_CONFIG = armv8.1m.main_hard_fp
-    else
-      TOOLCHAIN_CLANG_CONFIG = armv8.1m.main_soft_nofp_nomve
-    endif
-  endif
-
-else ifeq ($(CONFIG_ARM_TOOLCHAIN_ARMCLANG),y)
+ifeq ($(CONFIG_ARM_TOOLCHAIN_ARMCLANG),y)
 
   ifeq ($(CONFIG_ARCH_CORTEXM23),y)
     LDFLAGS += --cpu=Cortex-M23
diff --git a/arch/arm/src/cmake/armv8-m.cmake b/arch/arm/src/cmake/armv8-m.cmake
index 334f03b0d4c..ab083c46796 100644
--- a/arch/arm/src/cmake/armv8-m.cmake
+++ b/arch/arm/src/cmake/armv8-m.cmake
@@ -51,36 +51,6 @@ if(CONFIG_ARM_DSP)
   set(EXTCPUFLAGS +dsp)
 endif()
 
-if(CONFIG_ARM_TOOLCHAIN_CLANG)
-  if(CONFIG_ARCH_CORTEXM23)
-    set(TOOLCHAIN_CLANG_CONFIG armv8m.main_soft_nofp)
-  elseif(CONFIG_ARCH_CORTEXM33)
-    if(CONFIG_ARCH_FPU)
-      set(TOOLCHAIN_CLANG_CONFIG armv8m.main_hard_fp)
-    else()
-      set(TOOLCHAIN_CLANG_CONFIG armv8m.main_soft_nofp)
-    endif()
-  elseif(CONFIG_ARCH_CORTEXM35P)
-    if(CONFIG_ARCH_FPU)
-      set(TOOLCHAIN_CLANG_CONFIG armv8m.main_hard_fp)
-    else()
-      set(TOOLCHAIN_CLANG_CONFIG armv8m.main_soft_nofp)
-    endif()
-  elseif(CONFIG_ARCH_CORTEXM55)
-    if(CONFIG_ARCH_FPU)
-      set(TOOLCHAIN_CLANG_CONFIG armv8.1m.main_hard_fp)
-    else()
-      set(TOOLCHAIN_CLANG_CONFIG armv8.1m.main_soft_nofp_nomve)
-    endif()
-  elseif(CONFIG_ARCH_CORTEXM85)
-    if(CONFIG_ARCH_FPU)
-      set(TOOLCHAIN_CLANG_CONFIG armv8.1m.main_hard_fp)
-    else()
-      set(TOOLCHAIN_CLANG_CONFIG armv8.1m.main_soft_nofp_nomve)
-    endif()
-  endif()
-endif()
-
 if(CONFIG_ARCH_CORTEXM23)
   list(APPEND PLATFORM_FLAGS -mtune=cortex-m23 -march=armv8-m.main
        -mfloat-abi=soft)
diff --git a/arch/arm/src/cmake/clang.cmake b/arch/arm/src/cmake/clang.cmake
index 714f81ddfde..e30015145fd 100644
--- a/arch/arm/src/cmake/clang.cmake
+++ b/arch/arm/src/cmake/clang.cmake
@@ -42,27 +42,7 @@ set(CMAKE_RANLIB llvm-ranlib)
 # built-in functions, refer: 
https://github.com/apache/incubator-nuttx/pull/5971
 
 add_compile_options(-fno-builtin)
-
-if(TOOLCHAIN_CLANG_CONFIG)
-  execute_process(COMMAND clang --version
-                  OUTPUT_VARIABLE clang_full_version_string)
-
-  string(REGEX REPLACE ".*clang version ([0-9]+\\.[0-9]+\.[0-9]+).*" "\\1"
-                       CLANGVER ${clang_full_version_string})
-
-  if(CLANGVER STREQUAL "14.0")
-    set(TOOLCHAIN_CLANG_CONFIG ${TOOLCHAIN_CLANG_CONFIG}_nosys)
-  elseif(CLANGVER STRGREATER_EQUAL "17.0")
-    set(TOOLCHAIN_CLANG_OPTION -target)
-    set(TOOLCHAIN_CLANG_TARGET --target=arm-none-eabi)
-  else()
-    set(TOOLCHAIN_CLANG_OPTION --config)
-  endif()
-  add_compile_options(${TOOLCHAIN_CLANG_OPTION} ${TOOLCHAIN_CLANG_CONFIG}.cfg
-                      ${TOOLCHAIN_CLANG_TARGET})
-  add_link_options(${TOOLCHAIN_CLANG_OPTION} ${TOOLCHAIN_CLANG_CONFIG}.cfg
-                   ${TOOLCHAIN_CLANG_TARGET})
-endif()
+add_compile_options(--target=arm-none-eabi)
 
 # override the ARCHIVE command
 
diff --git a/arch/arm/src/common/Toolchain.defs 
b/arch/arm/src/common/Toolchain.defs
index fb7cd8c5719..f7c4e6a15c3 100644
--- a/arch/arm/src/common/Toolchain.defs
+++ b/arch/arm/src/common/Toolchain.defs
@@ -225,25 +225,13 @@ ifeq ($(CONFIG_ARM_TOOLCHAIN_CLANG),y)
 
   ARCHOPTIMIZATION += -fno-builtin
 
-  ifneq ($(TOOLCHAIN_CLANG_CONFIG),)
-    ifeq ($(CLANGVER),)
-      export CLANGVER := $(shell $(CC) --version | grep "clang version" | sed 
-E "s/.* ([0-9]+\.[0-9]+\.[0-9]+).*/\1/")
-    endif
-
-    ifeq ($(CLANGVER),14.0)
-      TOOLCHAIN_CLANG_CONFIG := $(TOOLCHAIN_CLANG_CONFIG)_nosys
-    endif
-
-    ifeq "17.0" "$(word 1, $(sort 17.0 $(CLANGVER)))"
-      TOOLCHAIN_CLANG_OPTION = -target
-      ARCHCPUFLAGS += --target=arm-none-eabi
-
-      LDFLAGS += --print-memory-usage
-    else
-      TOOLCHAIN_CLANG_OPTION = --config
-    endif
+  ifeq ($(CLANGVER),)
+    export CLANGVER := $(shell $(CC) --version | grep "clang version" | sed -E 
"s/.* ([0-9]+\.[0-9]+\.[0-9]+).*/\1/")
+  endif
 
-    ARCHCPUFLAGS := $(TOOLCHAIN_CLANG_OPTION) $(TOOLCHAIN_CLANG_CONFIG).cfg 
$(ARCHCPUFLAGS)
+  ifeq "17.0" "$(word 1, $(sort 17.0 $(CLANGVER)))"
+    ARCHCPUFLAGS += --target=arm-none-eabi
+    LDFLAGS += --print-memory-usage
   endif
 
   LDFLAGS += --entry=__start
diff --git a/arch/arm/src/tlsr82/Toolchain.defs 
b/arch/arm/src/tlsr82/Toolchain.defs
index 1708a0fee71..01b6e94c8b2 100644
--- a/arch/arm/src/tlsr82/Toolchain.defs
+++ b/arch/arm/src/tlsr82/Toolchain.defs
@@ -20,12 +20,6 @@
 #
 ############################################################################
 
-# Clang Configuration files
-
-ifeq ($(CONFIG_ARM_TOOLCHAIN_CLANG),y)
-  TOOLCHAIN_CLANG_CONFIG = armv6m_soft_nofp
-endif
-
 # Generic GNU EABI toolchain
 
 ifeq ($(CONFIG_ARM_TOOLCHAIN_GNU_EABI),y)

Reply via email to