FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

LLVM18を久しぶりにビルドしようとしたら失敗する問題の解析 (2. Baremetal版のコンパイル方法)

LLVM18のRISC-V Targetでのビルド方法が分からなくてずっと悩んでいたのだが、とりあえず以下の方法ならば行けるということが分かってきた。

msyksphinz.hatenablog.com

$ cd build
$ cmake -G Ninja \
    ../llvm \
    -DCMAKE_BUILD_TYPE=Release \
    -DLLVM_ENABLE_PROJECTS="clang;lld" \
    -DLLVM_TARGETS_TO_BUILD="RISCV" \
    -DLLVM_DEFAULT_TARGET_TRIPLE="riscv64-unknown-elf" \
    -DDEFAULT_SYSROOT="${RISCV}/riscv64-unknown-elf" \
    -DGCC_INSTALL_PREFIX="${RISCV}"
$ ninja

とりあえずのポイントは、-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" を全部除去したことだ。これでいろいろプログラムがコンパイルできなくなってしまっては困るが、とりあえずLLVMのビルドはうまくいく。

ちょっとこれでしばらく運用してみよう。問題があれば再度解析する。