From 3668ccc8ae7de773652f3a9348a9112ca5d89ea4 Mon Sep 17 00:00:00 2001 From: Jeremy Soller <jackpot51@gmail.com> Date: Thu, 11 Aug 2022 08:08:55 -0600 Subject: [PATCH] Support i686 bootstrap --- recipes/bootstrap/recipe.toml | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/recipes/bootstrap/recipe.toml b/recipes/bootstrap/recipe.toml index 7b564aaa7..9efa810c6 100644 --- a/recipes/bootstrap/recipe.toml +++ b/recipes/bootstrap/recipe.toml @@ -5,7 +5,31 @@ git = "https://gitlab.redox-os.org/redox-os/bootstrap.git" template = "custom" script = """ ARCH="$(echo "${TARGET}" | cut -d - -f1)" -nasm -o "${COOKBOOK_BUILD}/asm.o" -f elf64 "${COOKBOOK_SOURCE}/src/${ARCH}.asm" -cargo -Zbuild-std=core,alloc,compiler_builtins -Zbuild-std-features=compiler-builtins-mem rustc --target "${TARGET}" --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" --release --target-dir "${COOKBOOK_BUILD}" -- --emit link="${COOKBOOK_BUILD}/${TARGET}/release/libbootstrap.a" -ld -o "${COOKBOOK_STAGE}/bootstrap" --gc-sections -T "${COOKBOOK_SOURCE}/src/${ARCH}.ld" "${COOKBOOK_BUILD}/asm.o" "${COOKBOOK_BUILD}/${TARGET}/release/libbootstrap.a" +case "${ARCH}" in + i686) + NASM_FORMAT=elf32 + ;; + *) + NASM_FORMAT=elf64 + ;; +esac +nasm \ + -o "${COOKBOOK_BUILD}/asm.o" \ + -f "${NASM_FORMAT}" \ + "${COOKBOOK_SOURCE}/src/${ARCH}.asm" +cargo \ + -Zbuild-std=core,alloc,compiler_builtins \ + -Zbuild-std-features=compiler-builtins-mem rustc \ + --target "${TARGET}" \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --release \ + --target-dir "${COOKBOOK_BUILD}" \ + -- \ + --emit link="${COOKBOOK_BUILD}/${TARGET}/release/libbootstrap.a" +"${TARGET}-ld" \ + -o "${COOKBOOK_STAGE}/bootstrap" \ + --gc-sections \ + -T "${COOKBOOK_SOURCE}/src/${ARCH}.ld" \ + "${COOKBOOK_BUILD}/asm.o" \ + "${COOKBOOK_BUILD}/${TARGET}/release/libbootstrap.a" """ -- GitLab