On Wed Aug 26, 2026 at 9:37 AM CEST, Peter via lists.openembedded.org Tatrai wrote: > From: Peter Tatrai <[email protected]> > > When SDKMACHINE is set to i686 or i586, nativesdk binaries are compiled > as 32-bit. Without -D_TIME_BITS=64 and -D_FILE_OFFSET_BITS=64, stat() > and time-related syscalls use 32-bit types, causing EOVERFLOW on > filesystems with large inode numbers (e.g. container overlay filesystems) > and Y2038 issues. > > Add SDK_CC_ARCH appends for class-nativesdk:i686 and class-nativesdk:i586 > using GLIBC_64BIT_TIME_FLAGS, mirroring how target architectures are > handled. > > Signed-off-by: Peter Tatrai <[email protected]>" > Signed-off-by: Richard Purdie <[email protected]> > (cherry picked from commit d9f62a45555673842021d5746437e66c40d3f3cc) > Signed-off-by: Peter Tatrai <[email protected]> > --- > meta/conf/distro/include/time64.inc | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/meta/conf/distro/include/time64.inc > b/meta/conf/distro/include/time64.inc > index dd29105db4..7f02774839 100644 > --- a/meta/conf/distro/include/time64.inc > +++ b/meta/conf/distro/include/time64.inc > @@ -32,6 +32,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = "" > # libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp > GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = "" > > +# Apply the same flags to nativesdk packages when building for a 32-bit SDK > +# host (i686, i586). > +SDK_CC_ARCH:append:class-nativesdk:i686 = "${GLIBC_64BIT_TIME_FLAGS}" > +SDK_CC_ARCH:append:class-nativesdk:i586 = "${GLIBC_64BIT_TIME_FLAGS}" > + > +# nativesdk-pseudo wraps both 32-bit and 64-bit libc calls; enabling LFS > flags > +# causes duplicate symbol errors (e.g. creat64, fopen64) on i686 because > glibc > +# aliases the non-LFS names to their 64-bit counterparts via macros. > +GLIBC_64BIT_TIME_FLAGS:pn-nativesdk-pseudo = "" > + > # Caused by the flags exceptions above > INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time" > INSANE_SKIP:append:pn-glibc = " 32bit-time"
Hello, This patch does break some builds: qemux86 debian11-vk-1 scarthgap completed at 2026-08-30 14:36:35+00:00 https://autobuilder.yoctoproject.org/valkyrie/?#/builders/30/builds/4505 qemuarm-oecore rocky8-vk-1 scarthgap completed at 2026-08-30 14:06:41+00:00 https://autobuilder.yoctoproject.org/valkyrie/?#/builders/40/builds/4502 buildtools ubuntu2404-vk-1 scarthgap completed at 2026-08-30 14:00:30+00:00 https://autobuilder.yoctoproject.org/valkyrie/?#/builders/43/builds/4546 qemux86-64 debian12-vk-4 scarthgap completed at 2026-08-30 14:14:14+00:00 https://autobuilder.yoctoproject.org/valkyrie/?#/builders/68/builds/4636 (And, also, I suspect meta-mingw ubuntu2404-vk-3 scarthgap completed at 2026-08-30 13:35:59+00:00 https://autobuilder.yoctoproject.org/valkyrie/?#/builders/7/builds/3475) I've reproduced this locally: With SDKMACHINE="i686" "bitbake nativesdk-glibc" fails with this patch and succeed without. The error message boils down to: | Error: symbol '__sigtimedwait64' is already defined. Can you look into this? Thanks! -- Yoann Congal Smile ECS
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#244688): https://lists.openembedded.org/g/openembedded-core/message/244688 Mute This Topic: https://lists.openembedded.org/mt/120933672/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
