<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/92714>92714</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
RISC-V compiler-rt with no dependency on GCC ?
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ihiasi
</td>
</tr>
</table>
<pre>
Hi - I am trying to build compiler-rt for RISC-V with no dependency on the GCC toolchain. Ideally, for bare metal development, but I'll take Linux as well if bare metal is not possible yet :).
I am on an Apple Silicon M1 MacMini, latest LLVM checkout (as of sometimes around May10th 2024) and my cmake config is :
```
export CMAKE_APPLE_SILICON_PROCESSOR=arm64 && cmake -GXcode -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DCMAKE_INSTALL_PREFIX=~/install \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-DLLVM_ENABLE_PROJECTS="clang;lld;lldb;lldb;pstl;libc" \
-DLLVM_ENABLE_RUNTIMES="libcxx;libc;libunwind;compiler-rt" \
-DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \
-DCOMPILER_RT_DEFAULT_TARGET_TRIPLE="riscv64-unknown-elf" \
-DLLVM_DEFAULT_TARGET_TRIPLE="riscv64-unknown-elf" \
-DLLVM_TARGETS_TO_BUILD="RISCV" \
-DCOMPILER_RT_BAREMETAL_BUILD=ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DBUILTINS_CMAKE_ARGS=-DLLVM_CMAKE_DIR=~/work/llvm-project/build/ \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_ENABLE_RTTI=OFF \
-DLLVM_ENABLE_EH=OFF \
-DLLVM_LIT_ARGS=-v \
-DLLDB_USE_SYSTEM_DEBUGSERVER=ON \
-DLLVM_PARALLEL_LINK_JOBS=1 \
../llvm
```
I used BUILTINS_CMAKE_ARGS to point to the newly built clang (after I read various LLVM Discord articles and StackOverflow and Github issues here) but it seems like Xcode still tries to use the system toolchain (in /Applications/Xcode) instead :
```
...
Showing All Messages
-- The C compiler identification is AppleClang 15.0.0.15000309
-- The CXX compiler identification is AppleClang 15.0.0.15000309
-- The ASM compiler identification is Clang with GNU-like command-line
...
```
I am using `musl` instead of `libc` :
```
./Debug/bin/clang --target=riscv64 -march=rv64g -I~/work/musl/build/include -L~/work/musl/build/lib -o ../test ../test.c
ld.lld: error: cannot open ~/work/llvm-project/build/Debug/bin/../lib/clang-runtimes/riscv64/lib/libclang_rt.builtins.a: No such file or directory
clang: error: ld.lld command failed with exit code 1 (use -v to see invocation)
```
Two questions :
1. is it possible to build compiler-rt with no dependency on the GCC toolchain ?
2. if the answer to 1 is YES, what is the cmake configuration I should use ?
Thank you.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVkuPqzoS_jXuTQkEJo_OIgsSoA_3koeAPspZIQec4GljZ7BJOpv57SND-nW7-56R5kpReJU_f1Wu-qqIUuwoKJ2j8QKNgzvS6Vq2c1YzotjdXlbX-Q8GFsRAGtDtlYkjaAn7jvEKStmcGKet1Wo4yBbSOFtaP-HCdA1CQkVPVFRUlFeQAnRN4WG5BC0lL2vChA1xRQnnV4SX_fI9aSk0VBMOFT1TLk8NFdp83XcaYoSnnIMmTxQSJrpnIAoulHNgh_dLmQIhNZykUmzPKVypBuT5CM9sQE6AHL_3RQogAvzTiVPIGGelFLByYUXKFRPMbMqJpkpDkvxcQVnT8kl2GhC-JwrkAZRsqGYNVUBa2YkKVuTqOroG7OARwjMgooLmCmVjCJdSHNjRcEOef6OBJs7t1z_S55NsNSxX_p9h4W-3SVhkcRIvN-tim26WYZZtUuQFpG0mI0B4gvDkBm497EpZUbCCYXG4227SvFhuVts4Cc115a-DDHnBZg1ovBz2e7GO11nuJ0mxTcMo3iEv-A_CERNKE84_Wy8e4yQo8l_bEHlBQPfd8bPNcrcrstxfB34aIC9wp59NNtmu8NPljzgPl_ljGmZvnr2ZmsgX4dpfJKEJwR_hMjd2COOSE3FE3oLzavjfv11OSnPzxPYlwvg7vPRxncer8IZnjJ-fX1b1l05cmDDo75L8K7whIOEuD9O1n7wEPS3S_HO8374VQRj5j0le5H76EOZFnsbbJBzItEyV58nI6sSTkBdhUX74auP_H2FYmRX5ZvBiWGyK-OdfzN8zX_hpuApzP3ld9NHLHjqJ138WA81fSbz4ZGSW5vE6K27pnj6Yk7gtHt4FcXpLxotsnxCOOD831qmV_6KlRjjqJQjh6LsT9rMsTPN4s_6c-B8SIc9jYxB9CxT-uH3_wsv8lfr549dgUTxmYZH9yvLQnNXi8SEL059h-jWZrZ_6SRImQ-D-2CwMpvtmZtu3AHwpHTF0ilbwRVCNVp8kE9rcGAUW9MKvvXxr6KuoV7SDpi3E0FJSwZm0THZq0L2AqVK2FZBWs5IbsRMVZJqUT5szbQ9cXvo3D0zX3R6YUh1VUNOWGgU0qs00KEobBZw9URh0SmlmhLxlVBlanaI9NXVVmjZv_cEw6_8jo9KsJJpJoRCOehSzgVEpQ_lbTbVte7jJankxrcvnHFZUKXKk6nYAFuQ1heVrMwNWUaHZ4bah0ey-Syz7aLlj27Ed2x07juM5s48Yu90_gOJnq79DGQD6FvuwfrT6sJayaYioLM4E_YvjnzKFNNApEwo0cZpOcTRxXuMoD-Ztr4ET52-iinDUS7-pQiYQjoZMsixN2iPVyAtuCgRWQ9qyNi_Ok9ERrPhdPfe7v9UxEyXvTBdLvrfhbA-WhL4a-ub8emeXAzde2X1T8IG2rWzNTUmEGQjkiQr4vZx8dGyoO7Z_8dFqO9F3fYSjm4-vBiZuxqZotd0XGBPKJobBWoLqyhoOjFOQLVSspaWW7XXgfOtm7ygPXrycKxwI47QaDp0-Mw19GbmmQEzxWGdTRopSYOIsh1RBePbl2eUXCf_uqOpr6d0Ru7ZJLvZubvpyyvsfRztAXjTgYtuMZ8aACHWhrYF1zVa_wswMWZeaaPNoLN6PSl07ZHwMqpYdr3qVQF70kpGDMzURT3CVnQ131dyrZt6M3NG5O3Un7nTmjt27eo5Hh9F-iscuLacjTEfezBlPp3tvOp5N9_djcsfmZmJzxthxRng8du17z52UY3w_rmZ0NL2foZFDG8K4bTLGlu3xrte5-QxP3dEdJ3vKVT8-YyzoZRBBhLGZptt5n2X77qjQyOFMafWGopnmdH6bmX8fZBNg5EV3XcvntdYn1Q-1EcLRsVdfu5TNS5P4lN2DMiMc9aT_GwAA__88MaVM">