From 0e8ae092443b8a5a582a3a5aaad663d6fbe4f500 Mon Sep 17 00:00:00 2001 From: dzwdz Date: Tue, 8 Aug 2023 18:47:08 +0200 Subject: build: build bootstrap as an ELF first, and then convert to a raw binary --- Makefile | 7 +++++-- src/user/bootstrap/linker.ld | 1 - 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 764f7f0..7a1b5cf 100644 --- a/Makefile +++ b/Makefile @@ -90,9 +90,12 @@ out/libm.a: @mkdir -p $(@D) @$(AR) rcs $@ $^ -out/bootstrap: src/user/bootstrap/linker.ld $(call from_sources, src/user/bootstrap/) out/libc.a +out/bootstrap: out/bootstrap.elf + @objcopy -O binary $^ $@ + +out/bootstrap.elf: src/user/bootstrap/linker.ld $(call from_sources, src/user/bootstrap/) out/libc.a @mkdir -p $(@D) - @$(CC) -nostdlib -Wl,-no-pie -Wl,-Map=% -T $^ -o $@ + @$(CC) -nostdlib -Wl,-no-pie -T $^ -o $@ out/fs/boot/init: out/bootstrap out/initrd.tar @mkdir -p $(@D) diff --git a/src/user/bootstrap/linker.ld b/src/user/bootstrap/linker.ld index 5d8abe7..10e3f98 100644 --- a/src/user/bootstrap/linker.ld +++ b/src/user/bootstrap/linker.ld @@ -1,5 +1,4 @@ ENTRY(_start) -OUTPUT_FORMAT("binary") SECTIONS { -- cgit v1.2.3