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]>" --- v2: Set both _TIME_BITS=64 and _FILE_OFFSET_BITS=64 globally in time64.inc for all nativesdk packages on i686/i586, as suggested by Richard Purdie. Drop the ninja-specific fix. 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 19177b1f3c..a2fe03354d 100644 --- a/meta/conf/distro/include/time64.inc +++ b/meta/conf/distro/include/time64.inc @@ -38,6 +38,16 @@ TARGET_CC_ARCH:append:x86 = "${@bb.utils.contains('TUNE_FEATURES', 'm32', '${GLI GLIBC_64BIT_TIME_FLAGS:pn-glibc = "" GLIBC_64BIT_TIME_FLAGS:pn-glibc-testsuite = "" +# 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-glibc = " 32bit-time" -- 2.39.5
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#237768): https://lists.openembedded.org/g/openembedded-core/message/237768 Mute This Topic: https://lists.openembedded.org/mt/119550198/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
