forth-riscv

My forth
git clone git://git.electrosoup.com/forth-riscv
Log | Files | Refs

commit d10cfddad74e227b7d797baf69e236ba52ed988c
parent eeed52bda2fcae84582cf9e0f9f9df77bf34e7c0
Author: Christian Ermann <christianermann@gmail.com>
Date:   Thu, 24 Oct 2024 18:10:22 -0700

Switch to 'gcc' instead of 'as' and 'ld'

Diffstat:
MDockerfile | 23++++++++---------------
1 file changed, 8 insertions(+), 15 deletions(-)

diff --git a/Dockerfile b/Dockerfile @@ -33,20 +33,17 @@ RUN git clone https://github.com/riscv/riscv-gnu-toolchain WORKDIR "/riscv-gnu-toolchain" RUN ./configure --prefix=/opt/riscv RUN make +WORKDIR "/" -FROM debian:stable-slim as build +FROM build-tools as build -COPY --from=build-tools /opt/riscv /opt/riscv ENV PATH="$PATH:/opt/riscv/bin" COPY ns16550a.s . COPY forth.s . COPY riscv32-virt.ld . -RUN riscv64-unknown-elf-as -march=rv32i -o ns16550a.o ns16550a.s -RUN riscv64-unknown-elf-as -march=rv32i -o forth.o forth.s -RUN riscv64-unknown-elf-ld -T riscv32-virt.ld -o forth.elf forth.o ns16550a.o -RUN riscv64-unknown-elf-objcopy -O binary forth.elf forth.bin +RUN riscv64-unknown-elf-gcc -ggdb -static -nostdlib -nostdinc -nostartfiles -x assembler-with-cpp -march=rv32i -mabi=ilp32 -T riscv32-virt.ld -o forth.elf ns16550a.s forth.s -FROM debian:stable-slim as run-base +FROM build-tools as run-base RUN apt-get update && apt-get -y upgrade && \ apt-get --no-install-recommends -y install \ @@ -54,15 +51,11 @@ RUN apt-get update && apt-get -y upgrade && \ qemu-system-misc FROM run-base as run -COPY --from=build forth.bin forth.bin + +COPY --from=build forth.elf forth.elf +ENV PATH="$PATH:/opt/riscv/bin" #RUN qemu-system-riscv32 -machine virt -machine dumpdtb=riscv32-virt.dtb -bios none #RUN dtc -I dtb -O dts -o riscv32-virt.dts riscv32-virt.dtb - -CMD ["qemu-system-riscv32", "-nographic", "-bios", "none", "-machine", "virt", "-kernel", "forth.bin"] - - +CMD ["qemu-system-riscv32", "-gdb", "tcp::1234", "-nographic", "-bios", "none", "-machine", "virt", "-kernel", "forth.elf"] #CMD ["/bin/sh"] -#FROM build -#COPY --from=build-tools /opt/riscv/... / -