From 7bd186c5dbd2213d9b7c718f39cd0ef3daf2725a Mon Sep 17 00:00:00 2001
From: bjorn3 <17426603+bjorn3@users.noreply.github.com>
Date: Tue, 3 Oct 2023 09:53:56 +0200
Subject: [PATCH] Make rustc directly invoke the linker

---
 recipes/kernel/recipe.toml | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/recipes/kernel/recipe.toml b/recipes/kernel/recipe.toml
index 3cdd91c15..69794d4d7 100644
--- a/recipes/kernel/recipe.toml
+++ b/recipes/kernel/recipe.toml
@@ -7,20 +7,15 @@ script = """
 export RUST_TARGET_PATH="${COOKBOOK_SOURCE}/targets"
 ARCH="$(echo "${TARGET}" | cut -d - -f1)"
 cargo rustc \
-	--lib \
+	--bin kernel \
 	--manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \
 	--target "${COOKBOOK_SOURCE}/targets/${ARCH}-unknown-kernel.json" \
 	--release \
 	-Z build-std=core,alloc \
 	-- \
 	-C soft-float \
-	--emit link="${PWD}/libkernel.a"
-"${TARGET}-ld" \
-	--gc-sections \
-	-z max-page-size=0x1000 \
-	-T "${COOKBOOK_SOURCE}/linkers/${ARCH}.ld" \
-	-o kernel.all \
-	libkernel.a
+	-C link-arg=-T -Clink-arg="${COOKBOOK_SOURCE}/linkers/${ARCH}.ld" \
+	--emit link="${PWD}/kernel.all"
 "${TARGET}-objcopy" \
 	--only-keep-debug \
 	kernel.all \
-- 
GitLab