[PATCH] spl: pad external DTB to _image_binary_end with separate BSS

Tom Rini trini at konsulko.com
Tue Jun 23 18:21:06 CEST 2026


On Sat, Jun 20, 2026 at 04:07:33PM +0100, Quentin Strydom wrote:

> Thanks, that makes sense.
> 
> Just to clarify, I reproduced and tested this with QEMU’s ast2600-evb
> machine rather than physical AST2600 hardware.
> 
> I checked the SPL section layout and I think you are right that the better
> fix is in the AST2600 SPL linker script rather than in scripts/Makefile.xpl.
> 
> With the v1 Makefile fix reverted, the mismatch was:
> 
> sizeof(spl/u-boot-spl-nodtb.bin) = 0xc92c
> _image_binary_end                = 0xc930
> 
> The last emitted section was __u_boot_list, ending at 0xc92c, while
> _image_binary_end was advanced to 0xc930 by the alignment associated with
> .binman_sym_table. In this build .binman_sym_table did not contribute
> emitted contents, so objcopy -O binary did not include those alignment
> bytes in spl/u-boot-spl-nodtb.bin.
> 
> I have tested a v2 which moves the 8-byte alignment into the emitted
> __u_boot_list section. With that change:
> 
> sizeof(spl/u-boot-spl-nodtb.bin) = 0xc930
> _image_binary_end                = 0xc930
> 
> The appended SPL DTB starts at 0xc930, and the external-DTB build boots
> successfully under QEMU with:
> 
> qemu-system-arm -M ast2600-evb,execute-in-place=on,bmc-console=uart5 \
>   -drive file=flash.img,format=raw,if=mtd -nographic
> 
> I have sent v2 with the linker-script fix.

Ah, so we've just been lucky in CI then, OK. Thanks for looking more at
this!

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


More information about the U-Boot mailing list