diff mbox series

time64: Use consistent TIME defines

Message ID 20260120103834.1780598-1-uvv.mail@gmail.com
State New
Headers show
Series time64: Use consistent TIME defines | expand

Commit Message

Vyacheslav Yurkov Jan. 20, 2026, 10:38 a.m. UTC
From: Vyacheslav Yurkov <uvv.mail@gmail.com>

Pipewire crashes when other dependent libraries are built with the
different TIME and FILE_OFFSET defines. pw-v4l2/libcamera will most
likely not work with 32-bits that have 64-bit time but that has to be
fixed in the respective projects.

Related bug report:
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/5055

Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>
---
 meta/conf/distro/include/time64.inc | 4 ----
 1 file changed, 4 deletions(-)

Comments

Pőcze Barnabás Jan. 20, 2026, 5:47 p.m. UTC | #1
Hi

2026. 01. 20. 11:38 keltezéssel, uvv.mail@gmail.com írta:
> From: Vyacheslav Yurkov <uvv.mail@gmail.com>
> 
> Pipewire crashes when other dependent libraries are built with the
> different TIME and FILE_OFFSET defines. pw-v4l2/libcamera will most

That is specifically about "libcameraify", which is a similar LD_PRELOAD
library. I wouldn't mention it since this change does not affect the
libcamera recipe.


> likely not work with 32-bits that have 64-bit time but that has to be
> fixed in the respective projects.

As the removed comment correctly points out, __ioctl_time64, etc. is not handled
in pw-v4l2. But I'm still not sure why the change was made originally in yocto since
it won't make pw-v4l2 somehow work if an application uses __ioctl_time64.

In any case, the current situation is less than ideal, if pipewire and its dependencies
(e.g. alsa-lib) disagree about the size of time_t, etc; as two people have already
reported issues caused by this.


Regards,
Barnabás Pőcze

> 
> Related bug report:
> https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/5055
> 
> Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
> Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>
> ---
>   meta/conf/distro/include/time64.inc | 4 ----
>   1 file changed, 4 deletions(-)
> 
> diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
> index 24a81c83f1..3ed0a4253d 100644
> --- a/meta/conf/distro/include/time64.inc
> +++ b/meta/conf/distro/include/time64.inc
> @@ -21,10 +21,6 @@ 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 = ""
> -# pipewire-v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
> -# both 32 and 64 bit file APIs.  But it does not handle the time side?
> -# Needs further investigation
> -GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
>   # Undefines _FILE_OFFSET_BITS on purpose in
>   # libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
>   GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
diff mbox series

Patch

diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
index 24a81c83f1..3ed0a4253d 100644
--- a/meta/conf/distro/include/time64.inc
+++ b/meta/conf/distro/include/time64.inc
@@ -21,10 +21,6 @@  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 = ""
-# pipewire-v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
-# both 32 and 64 bit file APIs.  But it does not handle the time side?
-# Needs further investigation
-GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
 # Undefines _FILE_OFFSET_BITS on purpose in
 # libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
 GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""