On Mon Aug 31, 2026 at 4:40 PM 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.
>
> The existing GLIBC_64BIT_TIME_FLAGS:pn-glibc override only matches the
> target recipe, not the class extended nativesdk-glibc, so an additional
> pn-nativesdk-glibc override is needed here. This is required on
> scarthgap but not on master/wrynose, because scarthgap carries glibc
> 2.39, which predates glibc commit a4ed0471d717 ("Always define
> __USE_TIME_BITS64 when 64 bit time_t is used"). In 2.39 the header
> redirect turns sigtimedwait into an alias of __sigtimedwait64, which
> then collides with glibc's own weak_alias() and fails to assemble:
>
>   Error: symbol '__sigtimedwait64' is already defined
>
> 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]>
> ---
> v2: Add GLIBC_64BIT_TIME_FLAGS:pn-nativesdk-glibc = "" to fix the
>     nativesdk-glibc build failure reported on the autobuilder
>     ("Error: symbol '__sigtimedwait64' is already defined") with
>     SDKMACHINE="i686". Verified with "bitbake nativesdk-glibc" for
>     SDKMACHINE="i686" on scarthgap. Master and wrynose do not need this
>     (glibc 2.43/2.44 are unaffected).
>
>  meta/conf/distro/include/time64.inc | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>
> diff --git a/meta/conf/distro/include/time64.inc 
> b/meta/conf/distro/include/time64.inc
> index dd29105db4..242d5bac8e 100644
> --- a/meta/conf/distro/include/time64.inc
> +++ b/meta/conf/distro/include/time64.inc
> @@ -32,6 +32,20 @@ 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}"
> +
> +# Recipes which implement or wrap the libc APIs themselves must not be built
> +# with these flags, as the redirections glibc performs would collide with the
> +# symbols the recipes define (e.g. "symbol '__sigtimedwait64' is already
> +# defined" in nativesdk-glibc, or duplicate creat64/fopen64 in
> +# nativesdk-pseudo). The pn- overrides above only match the target recipes, 
> so
> +# the class extended variants have to be listed separately.
> +GLIBC_64BIT_TIME_FLAGS:pn-nativesdk-glibc = ""
> +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,

I think this patch still causes issues:
meta-mingw ubuntu2204-vk-1 scarthgap completed at 2026-09-09 08:53:22+00:00
https://autobuilder.yoctoproject.org/valkyrie/?#/builders/7/builds/3481/steps/15/logs/stdio

Can you look into it?

Thanks!
-- 
Yoann Congal
Smile ECS

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#245455): 
https://lists.openembedded.org/g/openembedded-core/message/245455
Mute This Topic: https://lists.openembedded.org/mt/121014280/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to