1
1
mirror of https://github.com/rui314/mold.git synced 2024-10-04 08:37:28 +03:00

Run RV32 tests on CI

https://github.com/rui314/mold/pull/672
This commit is contained in:
Rui Ueyama 2022-08-29 10:28:52 +08:00
parent e54d7e9761
commit 1fc86d7905

View File

@ -85,6 +85,7 @@ jobs:
- uses: actions/checkout@v2
- name: install-build-deps
run: |
# Install cross toolchains
dpkg --add-architecture i386
apt-get update
./install-build-deps.sh
@ -97,6 +98,20 @@ jobs:
ln -sf /usr/bin/arm-linux-gnueabihf-g++-10 /usr/bin/arm-linux-gnueabihf-g++
ln -sf /usr/bin/riscv64-linux-gnu-gcc-10 /usr/bin/riscv64-linux-gnu-gcc
ln -sf /usr/bin/riscv64-linux-gnu-g++-10 /usr/bin/riscv64-linux-gnu-g++
# Install a RV32 toolchain from third party since it's not available
# as an Ubuntu package.
apt-get install -y libmpc3 wget
mkdir /usr/local/rv32
wget -O- -q https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2022.08.26/riscv32-glibc-ubuntu-20.04-nightly-2022.08.26-nightly.tar.gz | tar -C /usr/local/rv32 --strip-components=1 -xzf -
ln -sf /usr/local/rv32/sysroot /usr/riscv32-linux-gnu
ln -sf /usr/local/rv32/bin/riscv32-unknown-linux-gnu-objdump /usr/bin/riscv32-linux-gnu-objdump
ln -sf /usr/local/rv32/bin/riscv32-unknown-linux-gnu-objdump /usr/bin/riscv32-linux-gnu-objdump
echo '/usr/local/rv32/bin/riscv32-unknown-linux-gnu-gcc -L/usr/riscv32-linux-gnu "$@"' > /usr/bin/riscv32-linux-gnu-gcc
echo '/usr/local/rv32/bin/riscv32-unknown-linux-gnu-g++ -L/usr/riscv32-linux-gnu "$@"' > /usr/bin/riscv32-linux-gnu-g++
chmod 755 /usr/bin/riscv32-linux-gnu-gcc /usr/bin/riscv32-linux-gnu-g++
- name: ccache
uses: hendrikmuhs/ccache-action@v1
- name: build and test
@ -104,7 +119,7 @@ jobs:
echo "/usr/lib/ccache:/usr/local/opt/ccache/libexec" >> $GITHUB_PATH
mkdir build
cd build
cmake -DMOLD_ENABLE_QEMU_TESTS=On ..
cmake -DMOLD_ENABLE_QEMU_TESTS=On -DMOLD_ENABLE_RV32_QEMU_TESTS=On ..
cmake --build . -j$(nproc)
ctest . -j$(nproc)