* [PATCH] tclibc-baremetal.inc: fix gcc-cross EXTRA_OECONF
@ 2026-09-29 7:24 Joerg Vehlow
2026-10-06 18:03 ` [OE-core] " Denys Dmytriyenko
0 siblings, 1 reply; 4+ messages in thread
From: Joerg Vehlow @ 2026-09-29 7:24 UTC (permalink / raw)
To: openembedded-core; +Cc: Joerg Vehlow
Using EXTRA_OECONF:pn-gcc-cross-${TARGET_ARCH}:append created a new override
for EXTRA_OECONF, which led to almost all EXTRA_OECONF switches to be ignored.
Furthermore, setting --without-headers here is not required,
because it is set in gcc-cross.inc.
Signed-off-by: Joerg Vehlow <joerg.vehlow@emlix.com>
---
meta/conf/distro/include/tclibc-baremetal.inc | 1 -
1 file changed, 1 deletion(-)
diff --git a/meta/conf/distro/include/tclibc-baremetal.inc b/meta/conf/distro/include/tclibc-baremetal.inc
index abea5a7162..6043cb6654 100644
--- a/meta/conf/distro/include/tclibc-baremetal.inc
+++ b/meta/conf/distro/include/tclibc-baremetal.inc
@@ -18,7 +18,6 @@ USE_NLS ?= "no"
IMAGE_LINGUAS = ""
LIBC_DEPENDENCIES = ""
-EXTRA_OECONF:pn-gcc-cross-${TARGET_ARCH}:append = " --without-headers"
DEPENDS:remove:pn-meta-toolchain = "virtual/libc virtual/compilerlibs"
# certain compiler libs cannot be used without libc, avoid the dependence on compilerlibs
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [OE-core] [PATCH] tclibc-baremetal.inc: fix gcc-cross EXTRA_OECONF 2026-09-29 7:24 [PATCH] tclibc-baremetal.inc: fix gcc-cross EXTRA_OECONF Joerg Vehlow @ 2026-10-06 18:03 ` Denys Dmytriyenko 2026-10-06 18:42 ` Richard Purdie 0 siblings, 1 reply; 4+ messages in thread From: Denys Dmytriyenko @ 2026-10-06 18:03 UTC (permalink / raw) To: joerg.vehlow, Richard Purdie, Ryan Eatmon; +Cc: openembedded-core On Tue, Sep 29, 2026 at 09:24:52AM +0200, Joerg Vehlow via lists.openembedded.org wrote: > Using EXTRA_OECONF:pn-gcc-cross-${TARGET_ARCH}:append created a new override > for EXTRA_OECONF, which led to almost all EXTRA_OECONF switches to be ignored. > Furthermore, setting --without-headers here is not required, > because it is set in gcc-cross.inc. I fully realize this change has good intentions, but it actually breaks baremetal. We've been trying to debug this for the past couple of days. While we run our baremetal in a multiconfig, you don't need that to reproduce the breakage only with OE-Core by adding these 2 lines to local.conf: TCLIBC = "baremetal" MACHINE = "qemuarm" $ bitbake libgcc | checking whether we are using the GNU C compiler... yes | checking whether arm-oe-eabi-gcc -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a15 -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -no-pie -fno-PIE --sysroot=/OE/core-master/build/tmp/work/cortexa15t2hf-neon-oe-eabi/libgcc/16.2.0/recipe-sysroot accepts -g... yes | checking for arm-oe-eabi-gcc -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a15 -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -no-pie -fno-PIE --sysroot=/OE/core-master/build/tmp/work/cortexa15t2hf-neon-oe-eabi/libgcc/16.2.0/recipe-sysroot option to accept ISO C89... unsupported | checking how to run the C preprocessor... arm-oe-eabi-gcc -E --sysroot=/OE/core-master/build/tmp/work/cortexa15t2hf-neon-oe-eabi/libgcc/16.2.0/recipe-sysroot -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a15 -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -no-pie -fno-PIE | configure: error: in `/OE/core-master/build/tmp/work/cortexa15t2hf-neon-oe-eabi/libgcc/16.2.0/gcc-16.2.0/build.arm-oe-eabi.arm-oe-eabi/libgcc': | configure: error: C preprocessor "arm-oe-eabi-gcc -E --sysroot=/OE/core-master/build/tmp/work/cortexa15t2hf-neon-oe-eabi/libgcc/16.2.0/recipe-sysroot -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a15 -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -no-pie -fno-PIE" fails sanity check | See `config.log' for more details Reverting this single commit restores the working behavior. I don't see anything suspicious in the config.log yet, but I'll keep digging. Here's EXTRA_OECONF for gcc-cross-arm before and after the change: EXTRA_OECONF=" \ --without-headers \ --disable-static \ --disable-nls \ --enable-initfini-array \ --without-headers \ " EXTRA_OECONF=" \ --enable-clocale=generic \ --with-gnu-ld \ --enable-shared \ --enable-languages=c,c++ \ --disable-multilib \ --enable-default-pie \ --enable-c99 \ --enable-long-long \ --enable-symvers=gnu \ --enable-libstdcxx-pch \ --program-prefix=arm-oe-eabi- \ --without-local-prefix \ --disable-install-libiberty \ --disable-libssp \ --enable-libitm \ --enable-lto \ --disable-bootstrap \ --with-system-zlib \ --with-linker-hash-style=sysv \ --enable-linker-build-id \ --with-ppl=no \ --with-cloog=no \ --enable-checking=release \ --enable-cheaders=c_global \ --without-isl \ --with-gxx-include-dir=/not/exist/usr/include/c++/16.2.0 \ --with-gxx-libcxx-include-dir=/not/exist/usr/include/c++/v1 \ --with-sysroot=/not/exist \ --with-build-sysroot=/OE/core-master/build/tmp/work/x86_64-linux/gcc-cross-arm/16.2.0/recipe-sysroot \ --enable-poison-system-directories=error \ --with-system-zlib \ --disable-static \ --disable-nls \ --enable-initfini-array \ --without-headers \ " > Signed-off-by: Joerg Vehlow <joerg.vehlow@emlix.com> > --- > meta/conf/distro/include/tclibc-baremetal.inc | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/meta/conf/distro/include/tclibc-baremetal.inc b/meta/conf/distro/include/tclibc-baremetal.inc > index abea5a7162..6043cb6654 100644 > --- a/meta/conf/distro/include/tclibc-baremetal.inc > +++ b/meta/conf/distro/include/tclibc-baremetal.inc > @@ -18,7 +18,6 @@ USE_NLS ?= "no" > IMAGE_LINGUAS = "" > LIBC_DEPENDENCIES = "" > > -EXTRA_OECONF:pn-gcc-cross-${TARGET_ARCH}:append = " --without-headers" > DEPENDS:remove:pn-meta-toolchain = "virtual/libc virtual/compilerlibs" > > # certain compiler libs cannot be used without libc, avoid the dependence on compilerlibs ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [OE-core] [PATCH] tclibc-baremetal.inc: fix gcc-cross EXTRA_OECONF 2026-10-06 18:03 ` [OE-core] " Denys Dmytriyenko @ 2026-10-06 18:42 ` Richard Purdie 2026-10-07 4:53 ` Jörg Vehlow 0 siblings, 1 reply; 4+ messages in thread From: Richard Purdie @ 2026-10-06 18:42 UTC (permalink / raw) To: Denys Dmytriyenko, joerg.vehlow, Ryan Eatmon; +Cc: openembedded-core On Tue, 2026-10-06 at 14:03 -0400, Denys Dmytriyenko wrote: > On Tue, Sep 29, 2026 at 09:24:52AM +0200, Joerg Vehlow via > lists.openembedded.org wrote: > > Using EXTRA_OECONF:pn-gcc-cross-${TARGET_ARCH}:append created a new > > override > > for EXTRA_OECONF, which led to almost all EXTRA_OECONF switches to > > be ignored. > > Furthermore, setting --without-headers here is not required, > > because it is set in gcc-cross.inc. > > I fully realize this change has good intentions, but it actually > breaks > baremetal. We've been trying to debug this for the past couple of > days. > > While we run our baremetal in a multiconfig, you don't need that to > reproduce > the breakage only with OE-Core by adding these 2 lines to local.conf: > > TCLIBC = "baremetal" > MACHINE = "qemuarm" Sorry, please send a revert. I'd checked it looked like it did the right thing but it clearly doesn't. I suspect some "interesting" operator interaction :/ We may also want to consider better baremetal testing on the AB. I'm open to help with configs there... Cheers, Richard ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [OE-core] [PATCH] tclibc-baremetal.inc: fix gcc-cross EXTRA_OECONF 2026-10-06 18:42 ` Richard Purdie @ 2026-10-07 4:53 ` Jörg Vehlow 0 siblings, 0 replies; 4+ messages in thread From: Jörg Vehlow @ 2026-10-07 4:53 UTC (permalink / raw) To: Richard Purdie, Denys Dmytriyenko, Ryan Eatmon; +Cc: openembedded-core Hi, On 06.10.2026 20:42, Richard Purdie wrote: > On Tue, 2026-10-06 at 14:03 -0400, Denys Dmytriyenko wrote: >> On Tue, Sep 29, 2026 at 09:24:52AM +0200, Joerg Vehlow via >> lists.openembedded.org wrote: >>> Using EXTRA_OECONF:pn-gcc-cross-${TARGET_ARCH}:append created a new >>> override >>> for EXTRA_OECONF, which led to almost all EXTRA_OECONF switches to >>> be ignored. >>> Furthermore, setting --without-headers here is not required, >>> because it is set in gcc-cross.inc. >> >> I fully realize this change has good intentions, but it actually >> breaks >> baremetal. We've been trying to debug this for the past couple of >> days. Sorry for the inconvenience.>> >> While we run our baremetal in a multiconfig, you don't need that to >> reproduce >> the breakage only with OE-Core by adding these 2 lines to local.conf: >> >> TCLIBC = "baremetal" >> MACHINE = "qemuarm" We are building a baremetal multiconfig with a custom arm v7 machine and it was working without any problems (though not oe core master). I knew that this change severely changes the EXTRA_OECONF, but that was the whole point of the patch.> > Sorry, please send a revert. I'd checked it looked like it did the > right thing but it clearly doesn't. I suspect some "interesting" > operator interaction :/ Not really. The reason this has such a big impact is that FOO = "foobar" OVVERIDES = "bar" FOO:bar:append = "foo" results in FOO = "bar" instead of the expected FOO = "foobar foo". But that must have been the original intention (and maybe) it was even what it was doing before the syntax change for overrides? I would say the bug is no in the gcc recipe, which should remove all unsupported flags on baremetal, so the fix should be done there and not by reverting this patch. There is absolutely no reason to fiddle with EXTRA_OECONF in the baremetal config, when the recipe clearly also tries to accommodate baretmal. Jörg > > We may also want to consider better baremetal testing on the AB. I'm > open to help with configs there... > > Cheers, > > Richard -- emlix GmbH Headquarters: Berliner Str. 12, 37073 Göttingen, Germany Phone +49 (0)551 30664-0, e-mail info@emlix.com District Court of Göttingen, Registry Number HR B 3160 Managing Directors: Heike Jordan, Dr. Uwe Kracke VAT ID No. DE 205 198 055 Office Berlin: Panoramastr. 1, 10178 Berlin, Germany Office Bonn: Bachstr. 6, 53115 Bonn, Germany Office München: Am Knie 16, 81241 München, Germany http://www.emlix.com emlix - your embedded Linux partner ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-10-07 4:53 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-09-29 7:24 [PATCH] tclibc-baremetal.inc: fix gcc-cross EXTRA_OECONF Joerg Vehlow 2026-10-06 18:03 ` [OE-core] " Denys Dmytriyenko 2026-10-06 18:42 ` Richard Purdie 2026-10-07 4:53 ` Jörg Vehlow
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.