[PATCH v2] arm: Add OVERLAY command to BSS section on ARM64
Marek Vasut
marek.vasut+renesas at mailbox.org
Sun Dec 17 01:33:39 CET 2023
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 at mailbox.org>
---
Cc: Simon Glass <sjg at chromium.org>
Cc: Tom Rini <trini at 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));
}
--
2.43.0
More information about the U-Boot
mailing list