risc-v spikeで32 bitのプログラムが実行できません。can't execute 32-bit program on RV64 hart

以下のソフトはビルド、インストール済みで、パスも通してあります。riscv-gnu-tools (64, 32bit 両方)、spike,riscv-pk(32bit)。
C言語のプログラムをriscv32でコンパイラして、spike で実行しようとしたら以下のようにエラーが出ます。どうすればいいでしょうか?環境はUbuntu-20.04, 64 bit.

$ riscv32-unknown-linux-gnu-gcc -static fib.c -o fib $spike $riscvpk/bin/pk fib Error: cannot execute 32-bit program on RV64 hart

32bit対応にするためにやったこと。

sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 sudo apt-get install gcc-multilib
#~/.bashrc # RISC-V gnu-tools 64bit export PATH=${PATH}:/opt/riscv/bin # RISC-V gnu-tools 32bit export PATH=${PATH}:/opt/riscv32/bin # RISC-V spike export RISCV=/opt/riscv32-tools/toolchain export PATH=$PATH:$RISCV/bin # RISC-V pk export riscvpk=/opt/riscv32/bin/riscv32-unknown-linux-gnu export PATH=$PATH:$riscvpk/bin

コメントを投稿

0 コメント