GCC13のオフィシャルパッケージを用いて、RISC-V向けのコンパイラとライブラリを構築する手法についてメモしておく。
- Binutilsビルド
curl -L ftp://ftp.gnu.org/gnu/binutils/binutils-2.40.tar.gz | tar xz cd binutils-2.40 mkdir build cd build export RISCV=/home/msyksphinz/riscv_gcc_rvv ../configure --prefix=${RISCV} \ --target=riscv64-unknown-elf \ --enable-languages=c,c++ \ --disable-multilib && make -j$(nproc) make install
- GCCビルド(1回目)
curl -L http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-13.1.0/gcc-13.1.0.tar.gz | tar xz mkdir -p gcc-13.1.0/build_1st cd gcc-13.1.0/build_1st ../configure --prefix=${RISCV} \ --target=riscv64-unknown-elf \ --enable-languages=c,c++ \ --without-headers \ --with-newlib \ --disable-threads && make -j$(nproc) all-gcc make install-gcc
- NewLibビルド
curl -L ftp://sourceware.org/pub/newlib/newlib-4.3.0.20230120.tar.gz | tar xz cd newlib-4.3.0.20230120 mkdir build && cd build export PATH=${RISCV}/bin:${PATH} export LD_LIBRARY_PATH=${RISCV}/lib:${LD_LIBRARY_PATH} ../configure --prefix=${RISCV} --target=riscv64-unknown-elf && make -j$(nproc) && make install
- GCCビルド(2回目)
mkdir build_2nd cd build_2nd ../configure --prefix=${RISCV} --target=riscv64-unknown-elf --enable-languages=c,c++ --with-newlib && make -j$(nproc) && make install