Sent my previous patch too quickly.
This patch supersedes

  Re: [SeaBIOS] [PATCH] Discard .comment via linker script and delete unneeded 
PHDRS

I just realized that we don't need /DISCARD/ : { ... *(.comment) } because 
.command is non-SHF_ALLOC.



`objcopy -O binary` does not write program headers or non-SHF_ALLOC
sections, so the PHDRS command and strip -R .comment are redundant.

Signed-off-by: Fangrui Song <mask...@google.com>
---
 Makefile             | 10 +++-------
 scripts/layoutrom.py |  6 +-----
 2 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/Makefile b/Makefile
index 7a16195..e52b395 100644
--- a/Makefile
+++ b/Makefile
@@ -182,13 +182,13 @@ $(OUT)rom32seg.o: $(OUT)code32seg.o 
$(OUT)romlayout32seg.lds
        @echo "  Linking $@"
        $(Q)$(LD) -T $(OUT)romlayout32seg.lds $< -o $@
-$(OUT)rom.o: $(OUT)rom16.strip.o $(OUT)rom32seg.strip.o $(OUT)code32flat.o $(OUT)romlayout32flat.lds
+$(OUT)bios.bin.elf: $(OUT)rom16.strip.o $(OUT)rom32seg.strip.o 
$(OUT)code32flat.o $(OUT)romlayout32flat.lds
        @echo "  Linking $@"
        $(Q)$(LD) -N -T $(OUT)romlayout32flat.lds $(OUT)rom16.strip.o 
$(OUT)rom32seg.strip.o $(OUT)code32flat.o -o $@
-$(OUT)bios.bin.prep: $(OUT)rom.o scripts/checkrom.py
+$(OUT)bios.bin.prep: $(OUT)bios.bin.elf scripts/checkrom.py
        @echo "  Prepping $@"
-       $(Q)rm -f $(OUT)bios.bin $(OUT)Csm16.bin $(OUT)bios.bin.elf
+       $(Q)rm -f $(OUT)bios.bin $(OUT)Csm16.bin
        $(Q)$(READELF) -WSrs $< > $<.readelf
        $(Q)$(OBJCOPY) -O binary $< $(OUT)bios.bin.raw
        $(Q)$(PYTHON) ./scripts/checkrom.py $<.readelf $(CONFIG_ROM_SIZE) 
$(OUT)bios.bin.raw $(OUT)bios.bin.prep
@@ -201,10 +201,6 @@ $(OUT)Csm16.bin: $(OUT)bios.bin.prep
        @echo "  Creating $@"
        $(Q)cp $< $@
-$(OUT)bios.bin.elf: $(OUT)rom.o $(OUT)bios.bin.prep
-       @echo "  Creating $@"
-       $(Q)$(STRIP) -R .comment $< -o $(OUT)bios.bin.elf
-
################ VGA build rules diff --git a/scripts/layoutrom.py b/scripts/layoutrom.py
index 3595371..b38a47e 100755
--- a/scripts/layoutrom.py
+++ b/scripts/layoutrom.py
@@ -438,7 +438,7 @@ def writeLinkerScripts(li, out16, out32seg, out32flat):
 %s
 %s
         code32flat_end = ABSOLUTE(.) ;
-    } :text
+    }
 """ % (li.sec32init_align,
        li.zonefseg_start,
        li.zonefseg_end,
@@ -455,10 +455,6 @@ def writeLinkerScripts(li, out16, out32seg, out32flat):
        outRelSections(li.sections, 'code32flat_start'))
     out = COMMONHEADER + out + COMMONTRAILER + """
 ENTRY(%s)
-PHDRS
-{
-        text PT_LOAD AT ( code32flat_start ) ;
-}
 """ % (li.entrysym.name,)
     outfile = open(out32flat, 'w')
     outfile.write(out)
--
2.25.1
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-le...@seabios.org

Reply via email to