All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mikko Rapeli <mikko.rapeli@linaro.org>
To: trini@konsulko.com
Cc: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>,
	Fabio Estevam <festevam@gmail.com>,
	openembedded-core@lists.openembedded.org,
	Quentin Schulz <quentin.schulz@cherry.de>,
	adrian.freihofer@siemens.com,
	Marek Vasut <marek.vasut@mailbox.org>,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>
Subject: Re: [OE-core] [PATCH] u-boot: upgrade 2025.04 -> 2025.07
Date: Thu, 10 Jul 2025 16:02:14 +0300	[thread overview]
Message-ID: <aG-51oSyAsEeiAHd@nuoska> (raw)
In-Reply-To: <20250709142932.GW6424@bill-the-cat>

Hi,

Adding Ilias,

On Wed, Jul 09, 2025 at 08:29:32AM -0600, Tom Rini via lists.openembedded.org wrote:
> On Wed, Jul 09, 2025 at 10:21:34AM +0200, Mathieu Dubois-Briand wrote:
> > On Tue Jul 8, 2025 at 7:57 PM CEST, Tom Rini wrote:
> > > On Tue, Jul 08, 2025 at 02:04:15PM -0300, Fabio Estevam wrote:
> > >> Hi Mathieu,
> > >> 
> > >> On Tue, Jul 8, 2025 at 9:37 AM Mathieu Dubois-Briand
> > >> <mathieu.dubois-briand@bootlin.com> wrote:
> > >> >
> > >> > On Tue Jul 8, 2025 at 3:29 AM CEST, Fabio Estevam via lists.openembedded.org wrote:
> > >> > > Upgrade to U-Boot 2025.07.
> > >> > >
> > >> > > Signed-off-by: Fabio Estevam <festevam@gmail.com>
> > >> > > ---
> > >> >
> > >> > Hi Fabio,
> > >> >
> > >> > Thanks for your patch.
> > >> >
> > >> > It looks like this is breaking selftests on the autobuilder:
> > >> >
> > >> > 2025-07-08 07:43:52,116 - oe-selftest - INFO - fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image (subunit.RemotedTestCase)
> > >> > 2025-07-08 07:43:52,118 - oe-selftest - INFO -  ... FAIL
> > >> > ...
> > >> > ERROR: u-boot-1_2025.07-r0 do_compile: oe_runmake failed
> > >> > ...
> > >> > | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory
> > >> >
> > >> >
> > >> > Both on debian and armhost:
> > >> >
> > >> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/1923
> > >> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2077
> > >> >
> > >> > Can you have a look at these failures please?
> > >> 
> > >> Thanks for the report.
> > >> 
> > >> I am adding some folks on CC in case they have some ideas.
> > >
> > > Interesting. How can we trigger that outside of the autobuilder?
> > 
> > Hi,
> > 
> > It's not so easy to reproduce, as it looks like it is somehow linked
> > with the host environment: this have been failing on debian workers but
> > not on the fedora ones.
> > So basic instructions are below, but this was not enough to reproduce it
> > in the ubuntu 24.4 docker I've been using so far.
> > 
> > git clone git://git.yoctoproject.org/poky-ci-archive -b autobuilder.yoctoproject.org/valkyrie/a-full-1972
> > cd poky-ci-archive
> > . oe-init-build-env
> > 
> > Add following lines in conf/local.conf (I bet only the last one is
> > really needed, but let's try to be as close as possible as the
> > autobuilder configuration):
> > MACHINE = "qemux86-64"
> > DISTRO = "poky"
> > SDKMACHINE = "x86_64"
> > PACKAGE_CLASSES = "package_rpm"
> > RPM_GPG_SIGN_CHUNK = '1'
> > IMAGE_INSTALL:append = ' ssh-pregen-hostkeys'
> > SANITY_TESTED_DISTROS = ''
> > 
> > Add poky-ci-archive/meta-selftest in conf/bblayers.conf.
> > 
> > And finally, run the tests:
> > oe-selftest -r fitimage.UBootFitImageTests.test_sign_cascaded_uboot_fit_image
> > oe-selftest -r fitimage.UBootFitImageTests.test_sign_standalone_uboot_atf_tee_fit_image
> 
> Yeah, looking at the logs it's not even Debian, it's Ubuntu 22.04, which
> is what we use for our CI too. I guess I would suggest bisect'ing with
> the autobuilder until finding out what commit breaks and then someone
> from the U-Boot side of things can chime in.

I've tried to reproduce this on x86_64 Ubuntu 22.04 build machine
targeting qemuarm and arm64 Ubuntu 24.04 build machine targeting
beaglebone. No luck so far. In my builds, lib.a has always been
created in before any other linking steps happens. I presume this is a
race condition where linking step of lib/efi_loader/testapp_efi.so
does not actually have a dependency to the lib.a creating linking step.

I'm not familiar enough with u-boot/Kconfig build setups to see where this
dependency should be added.

From do_compile log in passing case:

set -e; mkdir -p include/generated/;    (echo \#define PLAIN_VERSION \"2025.07\"; echo \#define U_BOOT_VERSION \"U-Boot \" PLAIN_VERSION; echo \#define U_BOOT_VERSION_NUM 2025; echo \#define U_BOOT_VERSION_NUM_PATCH $(echo 07 | sed -e "s/^0*//"); echo \#define HOST_ARCH 0x00a7; echo \#define CC_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-gcc  --sysroot=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot  -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07=/usr/src/debug/u-boot/2025.07  -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/build=/usr/src/debug/u-boot/2025.07  -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot=  -ffile-prefix-map=/home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot-native=  --version | head -n 1)\"; echo \#define LD_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-ld.bfd --version | head -n 1)\"; ) < include/config/uboot.release > include/generated/version_autogenerated.h.tmp; if [ -r include/generated/version_autogenerated.h ] && cmp -s include/generated/version_autogenerated.h include/generated/version_autogenerated.h.tmp; then rm -f include/generated/version_autogenerated.h.tmp; else : '  UPD     include/generated/version_autogenerated.h'; mv -f include/generated/version_autogenerated.h.tmp include/generated/version_autogenerated.h; fi
...
  rm -f arch/arm/lib/lib.a; arm-poky-linux-gnueabi-ar cDPrsT arch/arm/lib/lib.a arch/arm/lib/ashldi3.o arch/arm/lib/ashrdi3.o arch/arm/lib/div0.o arch/arm/lib/div64.o arch/arm/lib/lib1funcs.o arch/arm/lib/lshrdi3.o arch/arm/lib/muldi3.o arch/arm/lib/uldivmod.o
...
  arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /home/mcfrisk/src/base/repo/poky/build_beaglebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/testapp.o lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/testapp_efi.so

Looks like testapp_efi.so linking step is the first one using
arm-poky-linux-gnueabi-ld.bfd.

Failing case:

https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2914600/raw_inline

| set -e; mkdir -p include/generated/; 	(echo \#define PLAIN_VERSION \"2025.07\"; echo \#define U_BOOT_VERSION \"U-Boot \" PLAIN_VERSION; echo \#define U_BOOT_VERSION_NUM 2025; echo \#define U_BOOT_VERSION_NUM_PATCH $(echo 07 | sed -e "s/^0*//"); echo \#define HOST_ARCH 0x00a7; echo \#define CC_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-gcc  --sysroot=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot  -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07=/usr/src/debug/u-boot/2025.07  -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/build=/usr/src/debug/u-boot/2025.07  -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot=  -ffile-prefix-map=/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/recipe-sysroot-native=  --version | head -n 1)\"; echo \#define LD_VERSION_STRING \"$(LC_ALL=C arm-poky-linux-gnueabi-ld.bfd --version | head -n 1)\"; ) < include/config/uboot.release > include/generated/version_autogenerated.h.tmp; if [ -r include/generated/version_autogenerated.h ] && cmp -s include/generated/version_autogenerated.h include/generated/version_autogenerated.h.tmp; then rm -f include/generated/version_autogenerated.h.tmp; else : '  UPD     include/generated/version_autogenerated.h'; mv -f include/generated/version_autogenerated.h.tmp include/generated/version_autogenerated.h; fi
...
|    rm -f lib/efi_loader/built-in.o; arm-poky-linux-gnueabi-ar cDPrsT lib/efi_loader/built-in.o lib/efi_loader/efi_bootmgr.o lib/efi_loader/efi_bootbin.o lib/efi_loader/efi_boottime.o lib/efi_loader/efi_helper.o lib/efi_loader/efi_console.o lib/efi_loader/efi_device_path.o lib/efi_loader/efi_device_path_to_text.o lib/efi_loader/efi_device_path_utilities.o lib/efi_loader/efi_dt_fixup.o lib/efi_loader/efi_fdt.o lib/efi_loader/efi_file.o lib/efi_loader/efi_hii.o lib/efi_loader/efi_hii_config.o lib/efi_loader/efi_image_loader.o lib/efi_loader/efi_load_options.o lib/efi_loader/efi_memory.o lib/efi_loader/efi_root_node.o lib/efi_loader/efi_runtime.o lib/efi_loader/efi_setup.o lib/efi_loader/efi_string.o lib/efi_loader/efi_unicode_collation.o lib/efi_loader/efi_var_common.o lib/efi_loader/efi_var_mem.o lib/efi_loader/efi_variable.o lib/efi_loader/efi_var_file.o lib/efi_loader/efi_watchdog.o lib/efi_loader/efi_disk.o lib/efi_loader/efi_net.o lib/efi_loader/efi_smbios.o lib/efi_loader/efi_load_initrd.o lib/efi_loader/efi_conformance.o
|   arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/helloworld.o lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/helloworld_efi.so
| arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory
| make[3]: *** [scripts/Makefile.lib:512: lib/efi_loader/helloworld_efi.so] Error 1

In this failing log, nothing created lib.a before lib/efi_loader/helloworld_efi.so
link step started.

Cheers,

-Mikko


  reply	other threads:[~2025-07-10 13:02 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-08  1:29 [PATCH] u-boot: upgrade 2025.04 -> 2025.07 Fabio Estevam
2025-07-08 12:37 ` [OE-core] " Mathieu Dubois-Briand
2025-07-08 17:04   ` Fabio Estevam
2025-07-08 17:57     ` Tom Rini
2025-07-09  8:21       ` Mathieu Dubois-Briand
2025-07-09 14:29         ` Tom Rini
2025-07-10 13:02           ` Mikko Rapeli [this message]
     [not found]           ` <1850E573A97965CE.21176@lists.openembedded.org>
2025-07-10 14:50             ` Mikko Rapeli
2025-07-10 14:59               ` Tom Rini
2025-07-10 14:44                 ` [PATCH] scripts/Makefile.lib: fix *_efi.so dependency to PLATFORM_LIBGCC Mikko Rapeli
2025-07-10 15:08                   ` Mikko Rapeli
2025-07-10 22:25                     ` Tom Rini
2025-07-09  9:35       ` [OE-core] [PATCH] u-boot: upgrade 2025.04 -> 2025.07 Freihofer, Adrian

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=aG-51oSyAsEeiAHd@nuoska \
    --to=mikko.rapeli@linaro.org \
    --cc=adrian.freihofer@siemens.com \
    --cc=festevam@gmail.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=marek.vasut@mailbox.org \
    --cc=mathieu.dubois-briand@bootlin.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=quentin.schulz@cherry.de \
    --cc=trini@konsulko.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.