From 1ff61e08cac1c4c682e41eeec7c30b530e699cfa Mon Sep 17 00:00:00 2001 From: Philip Silva Date: Sun, 29 Mar 2026 12:05:27 +0200 Subject: [PATCH] Use lld for linking * It has more flexibility and a smaller memory footprint * Build time can also improve --- platform/riscv-qemu-user/scripts/c2riscv-qemu-user.sh | 5 +++++ platform/riscv-qemu/scripts/c2riscv-qemu.sh | 1 + platform/zkvm/scripts/c2zkvm.sh | 1 + 3 files changed, 7 insertions(+) diff --git a/platform/riscv-qemu-user/scripts/c2riscv-qemu-user.sh b/platform/riscv-qemu-user/scripts/c2riscv-qemu-user.sh index 222c8dc..8bfdfca 100755 --- a/platform/riscv-qemu-user/scripts/c2riscv-qemu-user.sh +++ b/platform/riscv-qemu-user/scripts/c2riscv-qemu-user.sh @@ -84,6 +84,10 @@ CFLAGS=( $OPT_LEVEL ) +LDFLAGS=( + -fuse-ld=lld +) + # Include directories INCLUDES=( -I"$GUEST_DIR" @@ -101,6 +105,7 @@ SOURCES=( clang \ "${CFLAGS[@]}" \ + "${LDFLAGS[@]}" \ "${INCLUDES[@]}" \ "${SOURCES[@]}" \ -o "$OUTPUT" -lm 2>&1 diff --git a/platform/riscv-qemu/scripts/c2riscv-qemu.sh b/platform/riscv-qemu/scripts/c2riscv-qemu.sh index 3a4c067..bafa886 100755 --- a/platform/riscv-qemu/scripts/c2riscv-qemu.sh +++ b/platform/riscv-qemu/scripts/c2riscv-qemu.sh @@ -120,6 +120,7 @@ LINKER_SCRIPT=platform/riscv-qemu/virt.ld # Linker flags (matching demo-qemu-virt-riscv/Makefile) LDFLAGS=( + -fuse-ld=lld -T"$LINKER_SCRIPT" -nostartfiles -nostdlib diff --git a/platform/zkvm/scripts/c2zkvm.sh b/platform/zkvm/scripts/c2zkvm.sh index c15f8e4..708ebc0 100755 --- a/platform/zkvm/scripts/c2zkvm.sh +++ b/platform/zkvm/scripts/c2zkvm.sh @@ -114,6 +114,7 @@ LINKER_SCRIPT=platform/zkvm/zkvm.ld # Linker flags LDFLAGS=( + -fuse-ld=lld --target=riscv64 -march=rv64ima -mabi=lp64