[PATCH] arm: Add OVERLAY command to BSS section

Tom Rini trini at konsulko.com
Sat Dec 16 19:29:25 CET 2023


On Sat, Dec 16, 2023 at 07:08:22PM +0100, Marek Vasut wrote:

> 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  00000000000f21d8  00000000000f21d8  001021d8  2**0
>                    CONTENTS
>   11 .bss          000068f8  00000000000f2200  00000000000f2200  00102200  2**6
>                    CONTENTS
>   12 .bss_end      00000000  00000000000f21d8  00000000000f21d8  00108af8  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>
> ---
>  arch/arm/cpu/armv8/u-boot.lds | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv8/u-boot.lds b/arch/arm/cpu/armv8/u-boot.lds
> index fb6a30c922f..25838b9892c 100644
> --- a/arch/arm/cpu/armv8/u-boot.lds
> +++ b/arch/arm/cpu/armv8/u-boot.lds
> @@ -151,16 +151,16 @@ SECTIONS
>  
>  	. = ALIGN(8);
>  
> -	.bss_start : {
> +	.bss_start (OVERLAY) : {
>  		KEEP(*(.__bss_start));
>  	}
>  
> -	.bss : {
> +	.bss (OVERLAY) : {
>  		*(.bss*)
>  		 . = ALIGN(8);
>  	}
>  
> -	.bss_end : {
> +	.bss_end (OVERLAY) : {
>  		KEEP(*(.__bss_end));
>  	}

This is, I think not sufficient. Looking at arch/arm/cpu/u-boot.lds,
seeing the comment about overlay ordering (and that it needs to point to
arch/arm/lib/sections.c not bss.c now) and looking harder at
arch/arm/cpu/armv8/u-boot.lds I don't know what to think at first about
what's going on here. My guess is that what v7 has to / had to do for
relocation / etc stuff back at the time is just done differently with
the v8 infrastructure (and possibly v7m).

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20231216/a9733565/attachment.sig>


More information about the U-Boot mailing list