RVBTCC/boot.sh

13 lines
684 B
Bash

mkdir -p build && cd build &&
cat ../boot-lib.h ../boot.c | sed '/^#/d' > boot-all.c &&
gcc ../boot.c ../boot-lib.c -o gcc.out &&
./gcc.out < boot-all.c > boot1.s &&
riscv64-linux-gnu-gcc-12 -static boot1.s ../boot-lib.c -o boot1.out &&
qemu-riscv64 boot1.out < boot-all.c > boot2.s &&
riscv64-linux-gnu-gcc-12 -static boot2.s ../boot-lib.c -o boot2.out &&
qemu-riscv64 boot2.out < boot-all.c > boot3.s
cmp --silent boot1.s boot2.s && echo "boot1.s == boot2.s" || echo "boot1.s != boot2.s"
cmp --silent boot2.s boot3.s && echo "boot2.s == boot3.s" || echo "boot2.s != boot3.s"
cmp --silent boot1.s boot3.s && echo "boot1.s == boot3.s" || echo "boot1.s != boot3.s"
rm boot-all.c