risc-v/cmake: add support to Ubuntu stock toolchain

Ubuntu stock toolchain `gcc-riscv64-unknown-elf` complains about
current CMake system (see issue#11573). This tries to fix it so
that both newer XPack and stock toolchains can be used with CMake.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
This commit is contained in:
Yanfeng Liu
2024-01-22 17:07:41 +08:00
committed by Xiang Xiao
parent 78d22b997c
commit cba993df85
2 changed files with 12 additions and 10 deletions
+6 -6
View File
@@ -271,21 +271,21 @@ if(${CONFIG_RISCV_TOOLCHAIN} STREQUAL GNU_RVG)
# These models can't cover all implementation of RISCV, but it's enough for
# most cases.
set(PLATFORM_FLAGS)
set(LLVM_CPUFLAGS)
if(CONFIG_ARCH_RV32)
if(${ARCHCPUEXTFLAGS} STREQUAL imc)
list(APPEND PLATFORM_FLAGS -mcpu=sifive-e20)
list(APPEND LLVM_CPUFLAGS -mcpu=sifive-e20)
elseif(${ARCHCPUEXTFLAGS} STREQUAL imac)
list(APPEND PLATFORM_FLAGS -mcpu=sifive-e31)
list(APPEND LLVM_CPUFLAGS -mcpu=sifive-e31)
elseif(${ARCHCPUEXTFLAGS} STREQUAL imafc)
list(APPEND PLATFORM_FLAGS -mcpu=sifive-e76)
list(APPEND LLVM_CPUFLAGS -mcpu=sifive-e76)
endif()
else()
if(${ARCHCPUEXTFLAGS} STREQUAL imac)
list(APPEND PLATFORM_FLAGS -mcpu=sifive-s51)
list(APPEND LLVM_CPUFLAGS -mcpu=sifive-s51)
elseif(${ARCHCPUEXTFLAGS} STREQUAL imafdc)
list(APPEND PLATFORM_FLAGS -mcpu=sifive-u54)
list(APPEND LLVM_CPUFLAGS -mcpu=sifive-u54)
endif()
endif()
+6 -4
View File
@@ -21,8 +21,10 @@
get_directory_property(NUTTX_EXTRA_FLAGS DIRECTORY ${CMAKE_SOURCE_DIR}
COMPILE_OPTIONS)
separate_arguments(LIBPRT_CFLAGS NATIVE_COMMAND ${CMAKE_C_FLAGS})
execute_process(
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS} ${NUTTX_EXTRA_FLAGS}
COMMAND ${CMAKE_C_COMPILER} ${LIBPRT_CFLAGS} ${NUTTX_EXTRA_FLAGS}
--print-libgcc-file-name
OUTPUT_STRIP_TRAILING_WHITESPACE
OUTPUT_VARIABLE extra_library)
@@ -31,7 +33,7 @@ list(APPEND EXTRA_LIB ${extra_library})
if(NOT CONFIG_LIBM)
execute_process(
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS} ${NUTTX_EXTRA_FLAGS}
COMMAND ${CMAKE_C_COMPILER} ${LIBPRT_CFLAGS} ${NUTTX_EXTRA_FLAGS}
--print-file-name=libm.a
OUTPUT_STRIP_TRAILING_WHITESPACE
OUTPUT_VARIABLE extra_library)
@@ -40,7 +42,7 @@ endif()
if(CONFIG_LIBSUPCXX)
execute_process(
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS} ${NUTTX_EXTRA_FLAGS}
COMMAND ${CMAKE_C_COMPILER} ${LIBPRT_CFLAGS} ${NUTTX_EXTRA_FLAGS}
--print-file-name=libsupc++.a
OUTPUT_STRIP_TRAILING_WHITESPACE
OUTPUT_VARIABLE extra_library)
@@ -49,7 +51,7 @@ endif()
if(CONFIG_ARCH_COVERAGE)
execute_process(
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS} ${NUTTX_EXTRA_FLAGS}
COMMAND ${CMAKE_C_COMPILER} ${LIBPRT_CFLAGS} ${NUTTX_EXTRA_FLAGS}
--print-file-name=libgcov.a
OUTPUT_STRIP_TRAILING_WHITESPACE
OUTPUT_VARIABLE extra_library)