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+rene...@mailbox.org>
> ---
> Cc: Simon Glass <s...@chromium.org>
> Cc: Tom Rini <tr...@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

Attachment: signature.asc
Description: PGP signature

Reply via email to