Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
47
sources/poky/meta/conf/distro/include/time64.inc
Normal file
47
sources/poky/meta/conf/distro/include/time64.inc
Normal file
@@ -0,0 +1,47 @@
|
||||
# To simulate Y2038 occurring in qemu, add to your build configuration:
|
||||
# QB_OPT_APPEND:append = " -rtc base=2040-02-02"
|
||||
#
|
||||
# Note that this does result in ptest failures on qemux86:
|
||||
# perl python3 dbus openssl glibc-tests openssh curl glib-2.0 tcl libmodule-build-perl
|
||||
# and a subset of those occurs in qemux86-64 as well:
|
||||
# curl python3 openssl openssl tcl python3-cryptography
|
||||
#
|
||||
# Working to address those (before Y2038 rolls in) will be appreciated.
|
||||
|
||||
GLIBC_64BIT_TIME_FLAGS = " -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64"
|
||||
|
||||
# Only needed for some 32-bit architectures, some relatively newer
|
||||
# architectures do not need it ( e.g. riscv32 )
|
||||
TARGET_CC_ARCH:append:arm = "${GLIBC_64BIT_TIME_FLAGS}"
|
||||
TARGET_CC_ARCH:append:armeb = "${GLIBC_64BIT_TIME_FLAGS}"
|
||||
TARGET_CC_ARCH:append:mipsarcho32 = "${GLIBC_64BIT_TIME_FLAGS}"
|
||||
TARGET_CC_ARCH:append:powerpc = "${@bb.utils.contains('TUNE_FEATURES', 'm32', '${GLIBC_64BIT_TIME_FLAGS}', '', d)}"
|
||||
TARGET_CC_ARCH:append:x86 = "${@bb.utils.contains('TUNE_FEATURES', 'm32', '${GLIBC_64BIT_TIME_FLAGS}', '', d)}"
|
||||
|
||||
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 = ""
|
||||
# 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 = ""
|
||||
|
||||
# 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-pulseaudio = " 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.
|
||||
Reference in New Issue
Block a user