]> git.ipfire.org Git - thirdparty/u-boot.git/commit
arm: Remove rel.dyn from SPL linker scripts
authorTom Rini <trini@konsulko.com>
Tue, 27 Jan 2026 21:31:49 +0000 (15:31 -0600)
committerTom Rini <trini@konsulko.com>
Wed, 28 Jan 2026 18:57:01 +0000 (12:57 -0600)
commit5ffc1dcc26d3df9e2b192151936cb98014fb6e49
tree44bff9da0e74b8783d59410fef5463decf44f85b
parent8e263e3a76e353f0e7e559a4c82fcab2e488d8d5
arm: Remove rel.dyn from SPL linker scripts

As of v2026.01, no platforms contain any rel.dyn sections in their xPL
phase images. Their inclusion in linker scripts initially was an
oversight as part of taking the full U-Boot linker scripts and modifying
them down. Then in commit 8b0ebe054bb3 ("arm: Update linker scripts to
ensure appended device tree is aligned") these sections were used to
force correct alignment for the device tree. This however, lead to a
different problem.

That problem is that when we do not have a separate BSS section in SPL
we instead would overlay the BSS with the rel.dyn section, in the common
linker script case. This in turn lead to creating an incorrectly sized
BSS "pad" file sometimes (depending on arbitrary changes within the rest
of the binary itself). This in turn lead to the dtb being in the wrong
location in the binary and not found at run time.

This commit fixes a few things:
- Remove the rel.dyn section from all ARM SPL linker scripts.
- In turn, this moves the dtb alignment statement in to another section.
- For ast2600 which uses CONFIG_POSITION_INDEPENDENT we need to keep the
  symbols however.

Tested-by: Fabio Estevam <festevam@gmail.com>
Reported-by: Fabio Estevam <festevam@gmail.com>
Co-developed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Chia-Wei, Wang <chiawei_wang@aspeedtech.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds
arch/arm/cpu/u-boot-spl.lds
arch/arm/mach-aspeed/ast2600/u-boot-spl.lds
board/davinci/da8xxevm/u-boot-spl-da850evm.lds