mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-20 20:04:19 +08:00
Support i686 bootstrap
This commit is contained in:
parent
73f39eb96e
commit
3668ccc8ae
@ -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"
|
||||
"""
|
||||
|
||||
Loading…
Reference in New Issue
Block a user