riscv-toolchain備忘録
https://github.com/riscv-collab/riscv-gnu-toolchain
https://github.com/riscv-software-src/riscv-tests
やりたいこと&あったこと
riscv-testsをビルドしたい
しかし、64bit版のコンパイラが必要だと言われる
いま32bit版しかないので、またtoolchainをビルドする必要がある
--enable-multilibすると64bit,32bit両方つかえるらしい(詳しくはよくわからない)
make linuxでビルドして、riscv-testsをビルドしようとすると、riscv64-unknown-elf-gcc: コマンドが見つかりませんでしたとなった
ビルドされたのはriscv64-unknown-linux-gnu-*で、これはlinux向けのバイナリを作るもの(?)なので、違う
普通にmakeするだけが正解だった
やったこと
riscv-testsをビルド(1回目)
outputディレクトリを適当に掘って、 ./configure --prefix=で指定した
makeしたとき、riscv64-unknown-elf-gcc: コマンドが見つかりませんでしたとなってしまった
現段階では32bitのコンパイラしかないため、新たにビルドすることにした
toolchainをビルド(1回目)
すでにDLしているので、64bit版だけビルドすればいいのかな?と思っていたが、上手く行かなかったので再DLした
叩いたコマンドは、
code:shell
./configure --prefix=/opt/riscv
make linux
4時間以上かかった気がするが、終わるとriscv64-unknown-linux-gnu-*が作られた
riscv-testsをビルドしようとしたが、riscv64-unknown-elf-gccがないと言われた
このタイミングで、違うものをビルドしたことに気づいた
linux上で動くバイナリを作りたいわけではないので-linux-ではなく、-elf-を作る必要がある
toolchainをビルド(2回目)
make linuxではなく、makeするだけでよいような気がしたのでそうした
すると、riscv64-unknown-elf-*がつくれたのでよかった
riscv-testsをビルド(2回目)
手順に従ってビルドすると上手くできた!!