All of lore.kernel.org
 help / color / mirror / Atom feed
From: Phil Sutter <phil@nwl.cc>
To: Tom Rini <trini@konsulko.com>
Cc: u-boot@lists.denx.de,
	Marek Vasut <marek.vasut+renesas@mailbox.org>,
	Beleswar Padhi <b-padhi@ti.com>,
	"NXP i.MX U-Boot Team" <uboot-imx@nxp.com>,
	Adam Ford <aford173@gmail.com>,
	Andre Przywara <andre.przywara@arm.com>,
	Aspeed BMC SW team <BMC-SW@aspeedtech.com>,
	Chia-Wei Wang <chiawei_wang@aspeedtech.com>,
	Eugen Hristev <eugen.hristev@linaro.org>,
	Fabio Estevam <festevam@gmail.com>,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>,
	Jagan Teki <jagan@amarulasolutions.com>,
	Joel Stanley <joel@jms.id.au>,
	Kever Yang <kever.yang@rock-chips.com>,
	Michal Simek <michal.simek@amd.com>,
	Philipp Tomsich <philipp.tomsich@vrull.eu>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ryan Chen <ryan_chen@aspeedtech.com>,
	Stefano Babic <sbabic@nabladev.com>
Subject: Re: [PATCH 02/10] arm: Update linker scripts to ensure appended device tree is aligned
Date: Wed, 4 Feb 2026 22:40:12 +0100	[thread overview]
Message-ID: <aYO8vDPa522pttDV@orbyte.nwl.cc> (raw)
In-Reply-To: <20260204213139.GE2603314@bill-the-cat>

On Wed, Feb 04, 2026 at 03:31:39PM -0600, Tom Rini wrote:
> On Wed, Feb 04, 2026 at 10:27:11PM +0100, Phil Sutter wrote:
> > On Wed, Feb 04, 2026 at 03:20:10PM -0600, Tom Rini wrote:
> > > On Wed, Feb 04, 2026 at 10:16:12PM +0100, Phil Sutter wrote:
> > > > Hi,
> > > > 
> > > > On Thu, Jan 15, 2026 at 04:19:32PM -0600, Tom Rini wrote:
> > > > > With commit 0535e46d55d7 ("scripts/dtc: Update to upstream version
> > > > > v1.7.2-35-g52f07dcca47c") it is now a fatal error to U-Boot if our
> > > > > device tree is not 8-byte aligned. In commit f613a6e15ef7 ("ARM: OMAP2+:
> > > > > Pad SPL binary to 8-byte alignment before DTB") Beleswar Padhi explains
> > > > > that we must have ALIGN(x) statements inside of a section to ensure that
> > > > > padding is included and not simply that the linker address counter is
> > > > > incremented. To that end, this patch:
> > > > > - Expands some linker sections to be more readable when adding a second
> > > > >   statement to the section.
> > > > > - Aligns the final section before _end (for U-Boot) or
> > > > >   _image_binary_end or __bss_end (for xPL phases) by 8-bytes by adding
> > > > >   '. = ALIGN(8);' to the final section before the symbol.
> > > > > - Ensure that we do have alignment by adding an ASSERT so that when not
> > > > >   aligned we fail to link (and explain why).
> > > > > - Remove now-spurious  '. = ALIGN(x);' statements that were intended to
> > > > >   provide the above alignments.
> > > > > 
> > > > > Signed-off-by: Tom Rini <trini@konsulko.com>
> > > > 
> > > > For unclear reasons, this seems to break boot via xmodem protocol on my
> > > > Synology DS414. I found this commit via 'git bisect'. The symptom is:
> > > > 
> > > > | kwboot version 2026.04-rc1-00098-g6ad0cf8f83db
> > > > | Detected kwbimage v1 with SPI boot signature
> > > > | Patching image boot signature to UART
> > > > | Aligning image header to Xmodem block size
> > > > | Sending boot message. Please reboot the target...\
> > > > | Sending boot image header (67584 bytes)...
> > > > |   0 % [......................................................................]
> > > > |  13 % [......................................................................]
> > > > |  26 % [......................................................................]
> > > > |  39 % [......................................................................]
> > > > |  53 % [......................................................................]
> > > > |  66 % [......................................................................]
> > > > |  79 % [......................................................................]
> > > > |  92 % [......................................                                ]
> > > > | Done
> > > > | Missing DTB
> > > > | spl_init() failed: -2
> > > > | ### ERROR ### Please RESET the board ###
> > > > | 
> > > > | 
> > > > | xmodem: Connection timed out
> > > > 
> > > > Debug printf()s in fdtdec_prepare_fdt() show that fdt_check_header()
> > > > returns -FDT_ERR_BADMAGIC.
> > > > 
> > > > With HEAD at a8d982e1f1726 ("x86: cpu: Fix crash on FTRACE enabled
> > > > builds"), reverting arch/arm/cpu/u-boot-spl.lds like so:
> > > > 
> > > > | @@ -41,14 +41,21 @@ SECTIONS
> > > > |                 __binman_sym_start = .;
> > > > |                 KEEP(*(SORT(.binman_sym*)));
> > > > |                 __binman_sym_end = .;
> > > > | -               . = ALIGN(8);
> > > > |         }
> > > > |  
> > > > | +       . = ALIGN(4); /* critical! */
> > > > |         __image_copy_end = .;
> > > > | +       .rel.dyn : {
> > > > | +               __rel_dyn_start = .;
> > > > | +               *(.rel*)
> > > > | +               __rel_dyn_end = .;
> > > > | +       }
> > > > | +
> > > > | +       . = ALIGN(8);
> > > > |         _image_binary_end = .;
> > > > |         _end = .;
> > > > |  
> > > > | -       .bss : {
> > > > | +       .bss __rel_dyn_start (OVERLAY) : {
> > > > |                 __bss_start = .;
> > > > |                 *(.bss*)
> > > > |                  . = ALIGN(8);
> > > > 
> > > > The SPL image starts up again and continues loading the real uboot
> > > > image. Note that I have no idea what these changes actually do, so I
> > > > need instructions if I should dig further.
> > > 
> > > Does:
> > > https://patchwork.ozlabs.org/project/uboot/patch/20260130183635.2612933-1-trini@konsulko.com/
> > > fix it?
> > 
> > Sadly not, same result.
> 
> Ugh. What file, specifically, do you send via xmodem? And so that maybe
> I can more easily replicate the failure, are you using the kernel.org
> gcc-14.2.0 toolchain or something else?

I am building with a custom-built arm-openadk-linux-uclibceabi-gcc
version 14.3.0. Basically what I run is:

MYENV='ARCH=arm CROSS_COMPILE=~/git/openadk-ds414/toolchain_synology-ds414_uclibc-ng_softfp_eabi_arm/usr/bin/arm-openadk-linux-uclibceabi-'

make $MYENV clean && \
for f in $(ls u-boot*.kwb 2>/dev/null); do rm $f; done && \
make $MYENV ds414_defconfig && \
make $MYENV -j12 && \
./tools/kwboot -a -t -p -b u-boot-*spl.kwb /dev/ttyUSB0

With current uboot, this should be u-boot-with-spl.kwb image.

With said patch reverted (or the above changes applied), I produce a
working u-boot-with-spl.kwb which loads and boots linux from flash. So
my toolchain is at least not totally broken. ;)

Cheers, Phil

  reply	other threads:[~2026-02-04 21:40 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-15 22:19 [PATCH 00/10] Update linker scripts to ensure appended device tree is correctly aligned Tom Rini
2026-01-15 22:19 ` [PATCH 01/10] Makefile: Have binary_size_check report only first match of _image_binary_end Tom Rini
2026-01-22  9:07   ` Marek Vasut
2026-01-22 14:21     ` Tom Rini
2026-01-15 22:19 ` [PATCH 02/10] arm: Update linker scripts to ensure appended device tree is aligned Tom Rini
2026-01-16  9:59   ` Ilias Apalodimas
2026-01-16 14:40     ` Tom Rini
2026-01-20  8:38       ` Ilias Apalodimas
2026-01-20 14:27         ` Tom Rini
2026-01-16 10:00   ` Michal Simek
2026-01-22  3:08   ` Fabio Estevam
2026-01-22  3:33     ` Fabio Estevam
2026-01-22 11:22       ` Marek Vasut
2026-01-22 14:23         ` Tom Rini
2026-01-22 18:47           ` Fabio Estevam
2026-01-22 19:10             ` Tom Rini
2026-01-22 19:19               ` Fabio Estevam
2026-01-22 19:28                 ` Tom Rini
2026-01-22 19:32                   ` Fabio Estevam
2026-01-22 19:42                 ` Tom Rini
2026-01-22 22:56                   ` Fabio Estevam
2026-01-22 23:24                     ` Tom Rini
2026-01-23  0:25                       ` Fabio Estevam
2026-01-23  0:52                         ` Fabio Estevam
2026-01-23 14:27                           ` Tom Rini
2026-01-23 15:45                             ` Fabio Estevam
2026-01-23 15:50                               ` Tom Rini
2026-01-22 14:25     ` Tom Rini
2026-02-04 21:16   ` Phil Sutter
2026-02-04 21:20     ` Tom Rini
2026-02-04 21:27       ` Phil Sutter
2026-02-04 21:31         ` Tom Rini
2026-02-04 21:40           ` Phil Sutter [this message]
2026-02-04 21:50             ` Tom Rini
2026-02-04 23:00               ` Phil Sutter
2026-02-04 23:04                 ` Tom Rini
2026-02-04 23:29                   ` Phil Sutter
2026-02-04 23:35                     ` Tom Rini
2026-02-04 23:48                       ` Phil Sutter
2026-02-05 18:01                         ` Tom Rini
2026-01-15 22:19 ` [PATCH 03/10] m68k: " Tom Rini
2026-01-15 22:19 ` [PATCH 04/10] microblaze: " Tom Rini
2026-01-16  9:59   ` Michal Simek
2026-01-16 10:00   ` Ilias Apalodimas
2026-01-15 22:19 ` [PATCH 05/10] mips: " Tom Rini
2026-01-20 13:57   ` Daniel Schwierzeck
2026-01-15 22:19 ` [PATCH 06/10] nios2: " Tom Rini
2026-01-16 10:00   ` Ilias Apalodimas
2026-01-15 22:19 ` [PATCH 07/10] powerpc: " Tom Rini
2026-02-06  7:18   ` Christophe Leroy (CS GROUP)
2026-01-15 22:19 ` [PATCH 08/10] riscv: " Tom Rini
2026-01-16  1:27   ` Leo Liang
2026-01-16  9:49   ` Ilias Apalodimas
2026-01-15 22:19 ` [PATCH 09/10] sandbox: " Tom Rini
2026-01-15 22:19 ` [PATCH 10/10] x86: " Tom Rini
2026-01-20 18:08 ` [PATCH 00/10] Update linker scripts to ensure appended device tree is correctly aligned Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aYO8vDPa522pttDV@orbyte.nwl.cc \
    --to=phil@nwl.cc \
    --cc=BMC-SW@aspeedtech.com \
    --cc=aford173@gmail.com \
    --cc=andre.przywara@arm.com \
    --cc=b-padhi@ti.com \
    --cc=chiawei_wang@aspeedtech.com \
    --cc=eugen.hristev@linaro.org \
    --cc=festevam@gmail.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=jagan@amarulasolutions.com \
    --cc=joel@jms.id.au \
    --cc=kever.yang@rock-chips.com \
    --cc=marek.vasut+renesas@mailbox.org \
    --cc=michal.simek@amd.com \
    --cc=philipp.tomsich@vrull.eu \
    --cc=richard.henderson@linaro.org \
    --cc=ryan_chen@aspeedtech.com \
    --cc=sbabic@nabladev.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=uboot-imx@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.