boards/arm/am67/t3-gem-o1: Load .data at its run address.
Some checks failed
MemBrowse Memory Report / changes-filter (push) Waiting to run
MemBrowse Memory Report / load-targets (push) Waiting to run
MemBrowse Memory Report / identical (push) Blocked by required conditions
MemBrowse Memory Report / analyze (push) Blocked by required conditions
Build Documentation / build-html (push) Has been cancelled

Nothing copies .data on a RAM/remoteproc image (CONFIG_BOOT_RUNFROMISRAM=y),
so an LMA distinct from the VMA loads initialised data where the code never
reads it.  _sidata was taken before .init_section, putting the load address
sizeof(.init_section) below the run address.

That section is empty in the in-tree configurations, so the fault is latent
today and this change is a no-op for them; it appears as soon as anything lands
in .init_array.

Assisted-by: Claude Code:claude-opus-4-8
Signed-off-by: Ulaş Sertan Kemeç <sertan.usk@gmail.com>
This commit is contained in:
Ulaş Sertan Kemeç 2026-09-10 08:56:15 +03:00 committed by Xiang Xiao
parent 23a724dc0f
commit 28fe1fab72

View file

@ -101,7 +101,6 @@ SECTIONS
} > ddr
_etext = ABSOLUTE(.); /* End of code/read-only sections */
_sidata = _etext; /* Start of initial values for .data (LMA) */
.init_section :
{
@ -111,7 +110,7 @@ SECTIONS
_einit = ABSOLUTE(.);
} > ddr
.data : AT ( _sidata )
.data :
{
_sdata = ABSOLUTE(.);
*(.data .data.*)