From 359ca554c013e8ba0585a1f0fafb9d08febf77e5 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Tue, 15 Feb 2022 03:08:13 +0100 Subject: [PATCH] Simplify firmware image generation and preserve original sections --- armsrc/Makefile | 16 ++-------------- armsrc/ldscript | 7 ++----- 2 files changed, 4 insertions(+), 19 deletions(-) diff --git a/armsrc/Makefile b/armsrc/Makefile index bd311bebc..86ac7b39f 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -210,14 +210,6 @@ $(OBJDIR)/fullimage.stage1.elf: $(VERSIONOBJ) $(OBJDIR)/fpga_all.o $(THUMBOBJ) $ $(info [=] LD $@) $(Q)$(CROSS_LD) $(CROSS_LDFLAGS) -Wl,-T,ldscript,-Map,$(patsubst %.elf,%.map,$@) -o $@ $^ $(LIBS) -$(OBJDIR)/fullimage.nodata.bin: $(OBJDIR)/fullimage.stage1.elf - $(info [-] GEN $@) - $(Q)$(CROSS_OBJCOPY) -O binary -I elf32-littlearm --remove-section .data $^ $@ - -$(OBJDIR)/fullimage.nodata.o: $(OBJDIR)/fullimage.nodata.bin - $(info [-] GEN $@) - $(Q)$(CROSS_OBJCOPY) -O elf32-littlearm -I binary -B arm --rename-section .data=stage1_image $^ $@ - $(OBJDIR)/fullimage.data.bin: $(OBJDIR)/fullimage.stage1.elf $(info [-] GEN $@) $(Q)$(CROSS_OBJCOPY) -O binary -I elf32-littlearm --only-section .data $^ $@ @@ -230,14 +222,10 @@ else $(FPGA_COMPRESSOR) $(filter %.bin,$^) $@ endif -$(OBJDIR)/fullimage.data.o: $(OBJDIR)/fullimage.data.bin.z - $(info [-] GEN $@) - $(Q)$(CROSS_OBJCOPY) -O elf32-littlearm -I binary -B arm --rename-section .data=compressed_data $^ $@ - -$(OBJDIR)/fullimage.elf: $(OBJDIR)/fullimage.nodata.o $(OBJDIR)/fullimage.data.o +$(OBJDIR)/fullimage.elf: $(OBJDIR)/fullimage.stage1.elf $(OBJDIR)/fullimage.data.bin.z ifeq (,$(findstring WITH_NO_COMPRESSION,$(APP_CFLAGS))) $(info [=] LD $@) - $(Q)$(CROSS_LD) $(CROSS_LDFLAGS) -Wl,-T,ldscript,-e,_osimage_entry,-Map,$(patsubst %.elf,%.map,$@) -o $@ $^ + $(Q)$(CROSS_OBJCOPY) -O elf32-littlearm -I elf32-littlearm --strip-all --update-section .data=$(OBJDIR)/fullimage.data.bin.z $(OBJDIR)/fullimage.stage1.elf $@ else $(Q)$(CP) $(OBJDIR)/fullimage.stage1.elf $@ endif diff --git a/armsrc/ldscript b/armsrc/ldscript index 4d48d9948..1dd09e937 100644 --- a/armsrc/ldscript +++ b/armsrc/ldscript @@ -24,7 +24,6 @@ SECTIONS } >osimage :text .text : { - KEEP(*(stage1_image)) *(.text) *(.text.*) *(.eh_frame) @@ -36,12 +35,10 @@ SECTIONS *(.rodata) *(.rodata.*) *(fpga_all_bit.data) - KEEP(*(.version_information)) . = ALIGN(8); } >osimage :text .data : { - KEEP(*(compressed_data)) *(.data) *(.data.*) *(.ramfunc) @@ -52,9 +49,9 @@ SECTIONS __data_start__ = ADDR(.data); __data_end__ = __data_start__ + SIZEOF(.data); __os_size__ = SIZEOF(.text) + SIZEOF(.data) + SIZEOF(.rodata); - + .bss : { - __bss_start__ = .; + __bss_start__ = .; *(.bss) *(.bss.*) . = ALIGN(4);