
Avoid allocating and loading the BSS section.
$ aarch64-linux-gnu-objdump -Sh u-boot
Before: 10 .bss_start 00000000 00000000000f21d8 00000000000f21d8 001021d8 2**0 CONTENTS, ALLOC, LOAD, DATA 11 .bss 000068f8 00000000000f2200 00000000000f2200 001021d8 2**6 ALLOC 12 .bss_end 00000000 00000000000f8af8 00000000000f8af8 00108af8 2**0 CONTENTS, ALLOC, LOAD, DATA
After: 10 .bss_start 00000000 00000000000bf990 00000000000bf990 001021e0 2**0 CONTENTS 11 .bss 000068e8 00000000000bf990 00000000000bf990 001021e0 2**4 CONTENTS 12 .bss_end 00000000 00000000000c6278 00000000000c6278 00108ac8 2**0 CONTENTS
Signed-off-by: Marek Vasut marek.vasut+renesas@mailbox.org --- Cc: Simon Glass sjg@chromium.org Cc: Tom Rini trini@konsulko.com --- V2: Replicate arch/arm/cpu/u-boot.lds BSS part verbatim --- arch/arm/cpu/armv8/u-boot.lds | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/arch/arm/cpu/armv8/u-boot.lds b/arch/arm/cpu/armv8/u-boot.lds index fb6a30c922f..ebdc079552d 100644 --- a/arch/arm/cpu/armv8/u-boot.lds +++ b/arch/arm/cpu/armv8/u-boot.lds @@ -151,16 +151,18 @@ SECTIONS
. = ALIGN(8);
- .bss_start : { + .bss_start __rel_dyn_start (OVERLAY) : { KEEP(*(.__bss_start)); + __bss_base = .; }
- .bss : { + .bss __bss_base (OVERLAY) : { *(.bss*) . = ALIGN(8); + __bss_limit = .; }
- .bss_end : { + .bss_end __bss_limit (OVERLAY) : { KEEP(*(.__bss_end)); }