Skip to content

Commit 19ce6d8

Browse files
committed
add: llvm support, this assumes you use newlib instead of compiler-rt
1 parent 601b2f0 commit 19ce6d8

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ add_link_options(-nostartfiles)
118118
add_link_options(${ARCH_FLAGS})
119119
add_link_options(${SPEC_FLAGS})
120120
add_link_options(-T ${LINKER_SCRIPT})
121-
# add_link_options(-rtlib=compiler-rt)
122-
# add_link_options(-Wl,--rtlib-path=/scratch/iansseijelly/riscv-llvm-install/lib/linux/libclang_rt.builtins-riscv64.a)
121+
add_link_options(-rtlib=libgcc)
122+
123123
if (PROF_COV)
124124
add_link_options(-lgcov)
125125
endif()

riscv-llvm.cmake

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,17 @@ set(CMAKE_SYSTEM_PROCESSOR "riscv" CACHE STRING "")
88

99
set(TOOLCHAIN_PREFIX "riscv64-unknown-elf-")
1010

11-
set(MYRISCV "/scratch/iansseijelly/riscv-llvm-install")
11+
set(MYRISCV "$ENV{RISCV}")
1212

13-
set(CMAKE_AR "llvm-ar")
13+
set(CMAKE_AR "${MYRISCV}/bin/llvm-ar")
1414
set(CMAKE_ASM_COMPILER "${MYRISCV}/bin/clang")
1515
set(CMAKE_C_COMPILER "${MYRISCV}/bin/clang")
1616
set(CMAKE_CXX_COMPILER "${MYRISCV}/bin/clang++")
1717
set(CMAKE_LINKER "${MYRISCV}/bin/lld")
18-
set(CMAKE_OBJCOPY "llvm-objcopy")
19-
set(CMAKE_OBJDUMP "llvm-objdump")
20-
set(CMAKE_SIZE "llvm-size")
21-
22-
set(CMAKE_FIND_ROOT_PATH "${MYRISCV}/")
23-
set(CMAKE_INCLUDE_PATH "${MYRISCV}/include/")
24-
set(CMAKE_LIBRARY_PATH "${MYRISCV}/lib/")
25-
set(CMAKE_PROGRAM_PATH "${MYRISCV}/bin/")
18+
set(CMAKE_RANLIB "${MYRISCV}/bin/llvm-ranlib")
19+
set(CMAKE_OBJCOPY "${MYRISCV}/bin/llvm-objcopy")
20+
set(CMAKE_OBJDUMP "${MYRISCV}/bin/llvm-objdump")
21+
set(CMAKE_SIZE "${MYRISCV}/bin/llvm-size")
2622

2723
# tell me the cc compiler cmake found
2824
message(STATUS "CC: ${CMAKE_C_COMPILER}")
@@ -37,4 +33,6 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
3733

3834
# add std lib path
3935
include_directories("$ENV{RISCV}/riscv64-unknown-elf/include")
40-
link_directories("$ENV{RISCV}/riscv64-unknown-elf/lib")
36+
link_directories("$ENV{RISCV}/riscv64-unknown-elf/lib")
37+
# for libgcc
38+
link_directories("${MYRISCV}/lib/gcc/riscv64-unknown-elf/15.1.0")

0 commit comments

Comments
 (0)