On Fri, Jan 23, 2026 at 11:27 AM Tom Rini <[email protected]> wrote:

> So this:
>
> diff --git a/arch/arm/cpu/u-boot-spl.lds b/arch/arm/cpu/u-boot-spl.lds
> index d780a5060774..dcc201c30482 100644
> --- a/arch/arm/cpu/u-boot-spl.lds
> +++ b/arch/arm/cpu/u-boot-spl.lds
> @@ -50,8 +50,8 @@ SECTIONS
>         .rel.dyn : {
>                 __rel_dyn_start = .;
>                 *(.rel*)
> -               __rel_dyn_end = .;
>                 . = ALIGN(8);
> +               __rel_dyn_end = .;
>         }
>
>         _image_binary_end = .;
>
> Will shift the dtb location lower and __rel_dyn_end 4 bytes higher.
> Which is probably fine.

This change fixes rv1126, but still fails on rv1103:

sonoff-ihost-rv1126_defconfig:

$ cat spl/u-boot-spl.map | grep __bss_end
                0x000000000000b468                __bss_end = .
                0x0000000000000050                __bss_size =
(__bss_end - __bss_start)

$ hexdump -Cv spl/u-boot-spl.bin | grep 'd0 0d fe ed'
000016d0  af 98 00 00 15 15 00 00  d0 0d fe ed 4e 99 00 00  |............N...|
00001d20  08 00 70 47 6f f0 12 00  70 47 00 bf d0 0d fe ed  |..pGo...pG......|
0000b460  00 00 00 00 00 00 00 00  d0 0d fe ed 00 00 0d 95  |................|

dtb is correctly found at 0xb468.

omega4-rv1103_defconfig:

$ cat spl/u-boot-spl.map | grep __bss_end
                0x0000000000015f18                __bss_end = .
                0x0000000000000264                __bss_size =
(__bss_end - __bss_start)

$ hexdump -Cv spl/u-boot-spl.bin | grep 'd0 0d fe ed'
000029f0  d0 0d fe ed 00 29 05 db  8a 18 03 d2 43 6a 1b ba  |.....)......Cj..|
00015f10  00 00 00 00 00 00 00 00  00 00 00 00 d0 0d fe ed  |................|

dtb is not found at 0x15f18.

Reply via email to