* [PATCH] u-boot: upgrade 2025.04 -> 2025.07
@ 2025-07-08 1:29 Fabio Estevam
2025-07-08 12:37 ` [OE-core] " Mathieu Dubois-Briand
0 siblings, 1 reply; 13+ messages in thread
From: Fabio Estevam @ 2025-07-08 1:29 UTC (permalink / raw)
To: openembedded-core; +Cc: Fabio Estevam
Upgrade to U-Boot 2025.07.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
meta/recipes-bsp/u-boot/u-boot-common.inc | 2 +-
.../u-boot/{u-boot-tools_2025.04.bb => u-boot-tools_2025.07.bb} | 0
.../recipes-bsp/u-boot/{u-boot_2025.04.bb => u-boot_2025.07.bb} | 0
3 files changed, 1 insertion(+), 1 deletion(-)
rename meta/recipes-bsp/u-boot/{u-boot-tools_2025.04.bb => u-boot-tools_2025.07.bb} (100%)
rename meta/recipes-bsp/u-boot/{u-boot_2025.04.bb => u-boot_2025.07.bb} (100%)
diff --git a/meta/recipes-bsp/u-boot/u-boot-common.inc b/meta/recipes-bsp/u-boot/u-boot-common.inc
index 617f5a60bb88..d087525edfea 100644
--- a/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -12,7 +12,7 @@ PE = "1"
# We use the revision in order to avoid having to fetch it from the
# repo during parse
-SRCREV = "34820924edbc4ec7803eb89d9852f4b870fa760a"
+SRCREV = "e37de002fac3895e8d0b60ae2015e17bb33e2b5b"
SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV}"
diff --git a/meta/recipes-bsp/u-boot/u-boot-tools_2025.04.bb b/meta/recipes-bsp/u-boot/u-boot-tools_2025.07.bb
similarity index 100%
rename from meta/recipes-bsp/u-boot/u-boot-tools_2025.04.bb
rename to meta/recipes-bsp/u-boot/u-boot-tools_2025.07.bb
diff --git a/meta/recipes-bsp/u-boot/u-boot_2025.04.bb b/meta/recipes-bsp/u-boot/u-boot_2025.07.bb
similarity index 100%
rename from meta/recipes-bsp/u-boot/u-boot_2025.04.bb
rename to meta/recipes-bsp/u-boot/u-boot_2025.07.bb
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [OE-core] [PATCH] u-boot: upgrade 2025.04 -> 2025.07
2025-07-08 1:29 [PATCH] u-boot: upgrade 2025.04 -> 2025.07 Fabio Estevam
@ 2025-07-08 12:37 ` Mathieu Dubois-Briand
2025-07-08 17:04 ` Fabio Estevam
0 siblings, 1 reply; 13+ messages in thread
From: Mathieu Dubois-Briand @ 2025-07-08 12:37 UTC (permalink / raw)
To: festevam, openembedded-core
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?
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [OE-core] [PATCH] u-boot: upgrade 2025.04 -> 2025.07
2025-07-08 12:37 ` [OE-core] " Mathieu Dubois-Briand
@ 2025-07-08 17:04 ` Fabio Estevam
2025-07-08 17:57 ` Tom Rini
0 siblings, 1 reply; 13+ messages in thread
From: Fabio Estevam @ 2025-07-08 17:04 UTC (permalink / raw)
To: Mathieu Dubois-Briand
Cc: openembedded-core, Quentin Schulz, Tom Rini, adrian.freihofer,
Marek Vasut
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.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [OE-core] [PATCH] u-boot: upgrade 2025.04 -> 2025.07
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 9:35 ` [OE-core] [PATCH] u-boot: upgrade 2025.04 -> 2025.07 Freihofer, Adrian
0 siblings, 2 replies; 13+ messages in thread
From: Tom Rini @ 2025-07-08 17:57 UTC (permalink / raw)
To: Fabio Estevam
Cc: Mathieu Dubois-Briand, openembedded-core, Quentin Schulz,
adrian.freihofer, Marek Vasut
[-- Attachment #1: Type: text/plain, Size: 1332 bytes --]
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?
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [OE-core] [PATCH] u-boot: upgrade 2025.04 -> 2025.07
2025-07-08 17:57 ` Tom Rini
@ 2025-07-09 8:21 ` Mathieu Dubois-Briand
2025-07-09 14:29 ` Tom Rini
2025-07-09 9:35 ` [OE-core] [PATCH] u-boot: upgrade 2025.04 -> 2025.07 Freihofer, Adrian
1 sibling, 1 reply; 13+ messages in thread
From: Mathieu Dubois-Briand @ 2025-07-09 8:21 UTC (permalink / raw)
To: Tom Rini, Fabio Estevam
Cc: openembedded-core, Quentin Schulz, adrian.freihofer, Marek Vasut
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
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [OE-core] [PATCH] u-boot: upgrade 2025.04 -> 2025.07
2025-07-08 17:57 ` Tom Rini
2025-07-09 8:21 ` Mathieu Dubois-Briand
@ 2025-07-09 9:35 ` Freihofer, Adrian
1 sibling, 0 replies; 13+ messages in thread
From: Freihofer, Adrian @ 2025-07-09 9:35 UTC (permalink / raw)
To: Tom Rini, Fabio Estevam
Cc: Mathieu Dubois-Briand, openembedded-core@lists.openembedded.org,
Quentin Schulz, Marek Vasut
On Tue, 2025-07-08 at 11:57 -0600, 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?
>
Probably this is not related to the fit image tests as such. It's
probably just u-boot it self which does no longer compile.
The test generates a local.conf file like this:
https://git.yoctoproject.org/poky/tree/meta/lib/oeqa/selftest/cases/fitimage.py#n1414
and then it runs:
bitbake u-boot
Running the test as it runs on the AB should be possible like this:
# Start with a clean, default local.conf
git clone https://git.yoctoproject.org/poky
cd poky
. oe-init-build-env
cat << EOF >> $BUILDDIR/conf/local.conf
# oe-selftest requies that
SANITY_TESTED_DISTROS = ""
# Use Yocto's public sstate-cache
BB_HASHSERVE_UPSTREAM = 'wss://hashserv.yoctoproject.org/ws'
SSTATE_MIRRORS ?= "file://.*
http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
EOF
oe-selftest -v -K -r fitimage.UBootFitImageTests.test_uboot_fit_image
The detailed log file is here:
$BUILDDIR/tmp/log/oe-selftest-results.log
Adrian
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [OE-core] [PATCH] u-boot: upgrade 2025.04 -> 2025.07
2025-07-09 8:21 ` Mathieu Dubois-Briand
@ 2025-07-09 14:29 ` Tom Rini
2025-07-10 13:02 ` Mikko Rapeli
[not found] ` <1850E573A97965CE.21176@lists.openembedded.org>
0 siblings, 2 replies; 13+ messages in thread
From: Tom Rini @ 2025-07-09 14:29 UTC (permalink / raw)
To: Mathieu Dubois-Briand
Cc: Fabio Estevam, openembedded-core, Quentin Schulz,
adrian.freihofer, Marek Vasut
[-- Attachment #1: Type: text/plain, Size: 2970 bytes --]
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.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [OE-core] [PATCH] u-boot: upgrade 2025.04 -> 2025.07
2025-07-09 14:29 ` Tom Rini
@ 2025-07-10 13:02 ` Mikko Rapeli
[not found] ` <1850E573A97965CE.21176@lists.openembedded.org>
1 sibling, 0 replies; 13+ messages in thread
From: Mikko Rapeli @ 2025-07-10 13:02 UTC (permalink / raw)
To: trini
Cc: Mathieu Dubois-Briand, Fabio Estevam, openembedded-core,
Quentin Schulz, adrian.freihofer, Marek Vasut, Ilias Apalodimas
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
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH] scripts/Makefile.lib: fix *_efi.so dependency to PLATFORM_LIBGCC
@ 2025-07-10 14:44 ` Mikko Rapeli
2025-07-10 15:08 ` Mikko Rapeli
0 siblings, 1 reply; 13+ messages in thread
From: Mikko Rapeli @ 2025-07-10 14:44 UTC (permalink / raw)
To: u-boot; +Cc: Mikko Rapeli, Adriano Cordova, Fabio Estevam
When PLATFORM_LIBGCC was added to linker command it was not
added to the dependency of the .so rule. Thus a build can try
to link *_efi.so files before PLATFORM_LIBGCC lib.a is available.
This was seen in yocto autobuilder builds with u-boot 2025.07
update, see https://lists.openembedded.org/g/openembedded-core/message/220004
https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2914600/raw_inline
| 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
The issue is hard to reproduce but this change can artificially trigger it:
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -353,7 +353,7 @@ $(modorder-target): $(subdir-ym) FORCE
#
ifdef lib-target
quiet_cmd_link_l_target = AR $@
-cmd_link_l_target = rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
+cmd_link_l_target = rm -f $@ && echo "HACK, delaying build!" && sleep 60 && $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
$(lib-target): $(lib-y) FORCE
$(call if_changed,link_l_target)
Then run a rebuild with:
$ rm -f $( find build/ -name lib.a -or -name helloworld_efi.so ) && \
make
...
arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /home/mcfrisk/src/base/repo/poky/build_bea
glebone/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
Fixes: 43d43241d1c9 ("scripts/Makefile.lib: add PLATFORM_LIBGCC to efi linking")
Cc: Adriano Cordova <adrianox@gmail.com>
Cc: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
scripts/Makefile.lib | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index e89a4a51b74d..54e17b2f8089 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -508,7 +508,7 @@ $(obj)/efi_reloc.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_RELOC:.o=.c) $(recordmcoun
$(call cmd,force_checksrc)
$(call if_changed_rule,cc_o_c)
-$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
+$(obj)/%_efi.so: $(PLATFORM_LIBGCC) $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
$(call cmd,efi_ld)
targets += $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [OE-core] [PATCH] u-boot: upgrade 2025.04 -> 2025.07
[not found] ` <1850E573A97965CE.21176@lists.openembedded.org>
@ 2025-07-10 14:50 ` Mikko Rapeli
2025-07-10 14:59 ` Tom Rini
0 siblings, 1 reply; 13+ messages in thread
From: Mikko Rapeli @ 2025-07-10 14:50 UTC (permalink / raw)
To: trini, Mathieu Dubois-Briand, Fabio Estevam, openembedded-core,
Quentin Schulz, adrian.freihofer, Marek Vasut, Ilias Apalodimas
Hi,
On Thu, Jul 10, 2025 at 04:02:14PM +0300, Mikko Rapeli via lists.openembedded.org wrote:
> 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.
I managed to reproduce the problem with an artificial delay:
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -353,7 +353,7 @@ $(modorder-target): $(subdir-ym) FORCE
#
ifdef lib-target
quiet_cmd_link_l_target = AR $@
-cmd_link_l_target = rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
+cmd_link_l_target = rm -f $@ && echo "HACK, delaying build!" && sleep 60 && $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
$(lib-target): $(lib-y) FORCE
$(call if_changed,link_l_target)
and fix for this seems to be:
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -508,7 +508,7 @@ $(obj)/efi_reloc.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_RELOC:.o=.c) $(recordmcoun
$(call cmd,force_checksrc)
$(call if_changed_rule,cc_o_c)
-$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
+$(obj)/%_efi.so: $(PLATFORM_LIBGCC) $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
$(call cmd,efi_ld)
targets += $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
I sent this to u-boot list but it seems my message is in moderator queue.
Fabio was on Cc: so maybe you can pick this up for a new revision of u-boot
update to oe-core. It should fix the race condition.
Cheers,
-Mikko
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [OE-core] [PATCH] u-boot: upgrade 2025.04 -> 2025.07
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
0 siblings, 1 reply; 13+ messages in thread
From: Tom Rini @ 2025-07-10 14:59 UTC (permalink / raw)
To: Mikko Rapeli
Cc: Mathieu Dubois-Briand, Fabio Estevam, openembedded-core,
Quentin Schulz, adrian.freihofer, Marek Vasut, Ilias Apalodimas
On Thu, Jul 10, 2025 at 05:50:53PM +0300, Mikko Rapeli wrote:
> Hi,
>
> On Thu, Jul 10, 2025 at 04:02:14PM +0300, Mikko Rapeli via lists.openembedded.org wrote:
> > 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.
>
> I managed to reproduce the problem with an artificial delay:
>
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -353,7 +353,7 @@ $(modorder-target): $(subdir-ym) FORCE
> #
> ifdef lib-target
> quiet_cmd_link_l_target = AR $@
> -cmd_link_l_target = rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
> +cmd_link_l_target = rm -f $@ && echo "HACK, delaying build!" && sleep 60 && $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
>
> $(lib-target): $(lib-y) FORCE
> $(call if_changed,link_l_target)
>
>
> and fix for this seems to be:
>
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -508,7 +508,7 @@ $(obj)/efi_reloc.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_RELOC:.o=.c) $(recordmcoun
> $(call cmd,force_checksrc)
> $(call if_changed_rule,cc_o_c)
>
> -$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
> +$(obj)/%_efi.so: $(PLATFORM_LIBGCC) $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
> $(call cmd,efi_ld)
>
> targets += $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
>
> I sent this to u-boot list but it seems my message is in moderator queue.
> Fabio was on Cc: so maybe you can pick this up for a new revision of u-boot
> update to oe-core. It should fix the race condition.
I cleared you patch (and moderation flag) but I don't think the above
works in all cases since PLATFORM_LIBGCC can have a number of values
only one of which is that file.
--
Tom
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] scripts/Makefile.lib: fix *_efi.so dependency to PLATFORM_LIBGCC
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
0 siblings, 1 reply; 13+ messages in thread
From: Mikko Rapeli @ 2025-07-10 15:08 UTC (permalink / raw)
To: u-boot, Tom Rini; +Cc: Adriano Cordova, Fabio Estevam, Ilias Apalodimas
Hi, moving patch review from oe-core list to u-boot:
On Thu, Jul 10, 2025 at 08:59:03AM -0600, Tom Rini wrote:
<snip>
> I cleared you patch (and moderation flag) but I don't think the above
> works in all cases since PLATFORM_LIBGCC can have a number of values
> only one of which is that file.
Right. Should I make the dependency conditional to
CONFIG_USE_PRIVATE_LIBGCC like it's set in Makefile?
I don't see another variable for lib.a to use in
scripts/Makefile.lib
Cheers,
-Mikko
On Thu, Jul 10, 2025 at 05:44:45PM +0300, Mikko Rapeli wrote:
> When PLATFORM_LIBGCC was added to linker command it was not
> added to the dependency of the .so rule. Thus a build can try
> to link *_efi.so files before PLATFORM_LIBGCC lib.a is available.
> This was seen in yocto autobuilder builds with u-boot 2025.07
> update, see https://lists.openembedded.org/g/openembedded-core/message/220004
>
> https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2914600/raw_inline
>
> | 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
>
> The issue is hard to reproduce but this change can artificially trigger it:
>
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -353,7 +353,7 @@ $(modorder-target): $(subdir-ym) FORCE
> #
> ifdef lib-target
> quiet_cmd_link_l_target = AR $@
> -cmd_link_l_target = rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
> +cmd_link_l_target = rm -f $@ && echo "HACK, delaying build!" && sleep 60 && $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
>
> $(lib-target): $(lib-y) FORCE
> $(call if_changed,link_l_target)
>
> Then run a rebuild with:
>
> $ rm -f $( find build/ -name lib.a -or -name helloworld_efi.so ) && \
> make
> ...
> arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /home/mcfrisk/src/base/repo/poky/build_bea
> glebone/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
>
> Fixes: 43d43241d1c9 ("scripts/Makefile.lib: add PLATFORM_LIBGCC to efi linking")
>
> Cc: Adriano Cordova <adrianox@gmail.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> ---
> scripts/Makefile.lib | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index e89a4a51b74d..54e17b2f8089 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -508,7 +508,7 @@ $(obj)/efi_reloc.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_RELOC:.o=.c) $(recordmcoun
> $(call cmd,force_checksrc)
> $(call if_changed_rule,cc_o_c)
>
> -$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
> +$(obj)/%_efi.so: $(PLATFORM_LIBGCC) $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
> $(call cmd,efi_ld)
>
> targets += $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] scripts/Makefile.lib: fix *_efi.so dependency to PLATFORM_LIBGCC
2025-07-10 15:08 ` Mikko Rapeli
@ 2025-07-10 22:25 ` Tom Rini
0 siblings, 0 replies; 13+ messages in thread
From: Tom Rini @ 2025-07-10 22:25 UTC (permalink / raw)
To: Mikko Rapeli; +Cc: u-boot, Adriano Cordova, Fabio Estevam, Ilias Apalodimas
[-- Attachment #1: Type: text/plain, Size: 726 bytes --]
On Thu, Jul 10, 2025 at 06:08:14PM +0300, Mikko Rapeli wrote:
> Hi, moving patch review from oe-core list to u-boot:
>
> On Thu, Jul 10, 2025 at 08:59:03AM -0600, Tom Rini wrote:
> <snip>
> > I cleared you patch (and moderation flag) but I don't think the above
> > works in all cases since PLATFORM_LIBGCC can have a number of values
> > only one of which is that file.
>
> Right. Should I make the dependency conditional to
> CONFIG_USE_PRIVATE_LIBGCC like it's set in Makefile?
>
> I don't see another variable for lib.a to use in
> scripts/Makefile.lib
Yes, that's my first thought as well. But that might also fail when
CC_COVERAGE is enabled. So you might need to adjust that logic too.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2025-07-10 22:25 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
[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
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.