summaryrefslogtreecommitdiffstats
path: root/meta/conf/distro
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2023-06-28 17:00:43 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-06-28 23:00:38 +0100
commitd3d406bf636e579c17708b408e11c12d252533ee (patch)
treedb6da893add3ad5c0c204dfe5a019990194fe190 /meta/conf/distro
parent3a36043ab0e09213438671e980481c3a57bfb540 (diff)
downloadopenembedded-core-contrib-d3d406bf636e579c17708b408e11c12d252533ee.tar.gz
time64.inc: annotate and clean up recipe-specific Y2038 exceptions
Additionally: - drop pseudo from INSANE_SKIP for 32bit time API check (pseudo passes the check; it's not clear where the issue may have been) - move rust exceptions to the cargo class, as the problem is common across the ecosystem, and needs to be fixed in the libc crate. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/distro')
-rw-r--r--meta/conf/distro/include/time64.inc19
1 files changed, 11 insertions, 8 deletions
diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
index a0cee4fad6..bc0c72226b 100644
--- a/meta/conf/distro/include/time64.inc
+++ b/meta/conf/distro/include/time64.inc
@@ -27,22 +27,25 @@ GLIBC_64BIT_TIME_FLAGS:pn-glibc-testsuite = ""
GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
# Pulseaudio override certain LFS64 functions e.g. open64 and intentionally
# undefines _FILE_OFFSET_BITS, which wont work when _TIME_BITS=64 is set
+# See https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/3770
GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
+# Undefines _FILE_OFFSET_BITS on purpose in
+# libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
# https://github.com/strace/strace/issues/250
GLIBC_64BIT_TIME_FLAGS:pn-strace = ""
-INSANE_SKIP:append:pn-cargo = " 32bit-time"
+# Caused by the flags exceptions above
INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time"
INSANE_SKIP:append:pn-glibc = " 32bit-time"
INSANE_SKIP:append:pn-glibc-tests = " 32bit-time"
-INSANE_SKIP:append:pn-librsvg = " 32bit-time"
-INSANE_SKIP:append:pn-libstd-rs = " 32bit-time"
-INSANE_SKIP:append:pn-pseudo = " 32bit-time"
INSANE_SKIP:append:pn-pulseaudio = " 32bit-time"
-INSANE_SKIP:append:pn-python3-bcrypt = " 32bit-time"
-INSANE_SKIP:append:pn-python3-cryptography = " 32bit-time"
-INSANE_SKIP:append:pn-rust = " 32bit-time"
-INSANE_SKIP:append:pn-rust-hello-world = " 32bit-time"
+
+# Strace has tests that call 32 bit API directly, which is fair enough, e.g.
+# /usr/lib/strace/ptest/tests/ioctl_termios uses 32-bit api 'ioctl'
INSANE_SKIP:append:pn-strace = " 32bit-time"
+# Additionally cargo_common class (i.e. everything written in rust)
+# has the same INSANE_SKIP setting.
+# Please check the comment in meta/classes-recipe/cargo_common.bbclass
+# for information about why, and the overall Y2038 situation in rust.