Commit Graph

19 Commits

Author SHA1 Message Date
rajmohan r
90a5add3b6 glibc-y2038-tests: remove glibc-y2038-tests_2.41.bb recipe
This recipe takes longer time >20min when bitbake for package
write stage. When cross-verified for longer time duration, found
that do_check() stage taking 20min while other stages completes
before 6min.

This recipe gives only below two test binaries in the packages to
test (ptest: glibc-y2038-tests):
     io/ftwtest
     io/ftwtest-time64

The above test binaries are already included for testing in recipe
glibc-testsuite_2.41.bb.

It is by now well established that glibc itself works as it should,
that all affected 32 bit targets are configured to use 64 bit time_t,
and that any lingering y2038 issues are in components other than the c
library, and usually come from C programming mistakes (e.g. storing
timestamps in long). Maybe we can simply remove the recipe?

Review comments for fixing above longer time duration ended up in
removing this recipe as a proposal is below
https://lists.openembedded.org/g/openembedded-core/topic/112188476#msg214636

Removed lines having reference to glibc-y2038-tests in the files.

(From OE-Core rev: fbe3679ba3c12c52a502511f5dde91fb4de7a6b6)

Signed-off-by: rajmohan r <semc.2042@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-05-01 14:22:54 +01:00
Yash Shinde
241458c8dc gdb: Upgrade 15.2 -> 16.1
* Drop 0001-Fix-Wenum-constexpr-conversion-in-enum-flags.h.patch, its already applied to gdb 16.1

Detailed release notes:

https://sourceware.org/pipermail/gdb-announce/2025/000143.html
https://sourceware.org/gdb/news/
https://lwn.net/Articles/1005562/
https://www.sourceware.org/gdb/download/ANNOUNCEMENT

(From OE-Core rev: 31a536ed8c4d03db250766fe701126dd14d084c0)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-01-27 15:47:09 +00:00
Richard Purdie
366294d72d time64: Fix incorrect recipe override syntax
The original commit incorrectly missed off the pn- override prefix, fix it.

(From OE-Core rev: 766ebeec6fa56305606df3dcf901053dd58c1a95)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-25 21:45:21 +01:00
Richard Purdie
3ad0baf6fd time64.inc: Exclude pseudo from the 32bit-time warnings
pseudo has to wrap all glibc calls including the 32 bit ones so
this warning is a false positive.

(From OE-Core rev: 13f8b50f055be219aed50c62c5f7552c4c2f18f2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-24 15:18:54 +01:00
Deepthi Hemraj
64e1d81be2 gdb: Upgrade 15.1 -> 15.2
GDB 15.2 brings the following fixes:
 * PR gdb/31727 (-exec-next fails in mingw (infrun.c:2794: internal-error: resume_1: Assertion `pc_in_thread_step_range (pc, tp)' failed))
 * PR c++/31900 (libstdc++-prettyprinters/debug.cc print redirected fails since gdb-14-branchpoint-2123-g4e417d7bb1c)
 * PR python/31946 (sys.exit from Python no longer exits the GDB process)
 * PR record/31971 (Loading a saved record file asserts if we try to execute the inferior)
 * PR gdb/32005 (frv_current_sos doesn't set solib::lm_info)
 * PR exp/32015 (GDB crashes while printing large D array)
 * PR gdb/32025 (Fatal error when the disassemble command is interrupted with SIGINT)
 * PR gdb/32143 ([15 Regression] arch/amd64.c:71: internal-error: amd64_create_target_description: Assertion `!is_x32' failed)
 * PR symtab/32158 ([gdb/symtab] enum class enumerator has incorrect parent in cooked index)
 * PR symtab/32160 ([gdb/symtab] Parent map: die parent or scope parent?)

(From OE-Core rev: 76567e7a0e1d133b5878a0254a9dcc87b3a15bc1)

Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-08 13:26:39 +01:00
Tom Hochstein
ac09753064 time64.inc: Simplify GLIBC_64BIT_TIME_FLAGS usage
The implementation uses the append operator to include
GLIBC_64BIT_TIME_FLAGS in TARGET_CC_ARCH, but it places the space in
the GLIBC_64BIT_TIME_FLAGS assignment in order to avoid a 'spurious
space' when the value is empty.

68b50d3 time64: Remove leading whitespace from GLIBC_64BIT_TIME_FLAGS

The problem with this is it requires anyone wishing to assign a value
to GLIBC_64BIT_TIME_FLAGS to add the leading space, otherwise this is
the error:

cc1: error: '-Werror=format-security-D_TIME_BITS=64': no option '-Wformat-security-D_TIME_BITS=64'

Add a new constant variable to capture the value needed for the 32-bit
special case, including the space.

(From OE-Core rev: e8177827f92e71c80c5b63453d8bbd1defbe1fbc)

Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-26 12:28:42 +01:00
Richard Purdie
bc99afabef time64.inc: Add warnings exclusion for known toolchain problems for now
Fixing our infrastructure to show warnings for nativesdk packages resulted
in some issues with 32 bit toolchains and 32 bit time becoming clear.

For now, add INSANE_SKIP entries for these which effectively documents
the issue and allows us to at least start running the tests in the
infrastructure.

Over time we will need to try and fix these if upstream doesn't.

(From OE-Core rev: d05fa366ebbf8017f5f5fae0b1bc8502ada3ab79)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-23 11:17:11 +01:00
Primoz Fiser
ba4dd8c51a pulseaudio: Remove from time64.inc exception list
Pulseaudio OSS (Open Sound System) support was causing build issues when
used with GLIBC_64BIT_TIME_FLAGS. However, optional OSS support was
disabled by default with addition of PACKAGECONFIG[oss-output]. Thus
remove pulseaudio from the exception list in time64.inc and allow it to
be Y2038 compatible.

(From OE-Core rev: 67cbec2aa1e7dca1abacf39a22efe85fa47a468d)

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-02 22:29:13 +01:00
Alexander Kanavin
0be8df3e58 glibc-tests: rename to glibc-y2038-tests
The recipe originates from meta-y2038 where the name was not
confusing, but in oe-core it is.

(From OE-Core rev: 90bc7a66b08580207839fc6aafe1ac86c12981c5)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-18 08:53:10 +01:00
Alexander Kanavin
0fd62ce4a5 strace: remove from time64.inc exception list
The issues were resolved via

https://github.com/strace/strace/pull/263
https://github.com/strace/strace/pull/264
https://github.com/strace/strace/pull/265

and the fixes were released in strace 6.5.

(From OE-Core rev: 5c8709c98e1dff49953aa2665c790d85b9739ca4)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-18 08:53:10 +01:00
Alexander Kanavin
9400e5bd58 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.

(From OE-Core rev: d3d406bf636e579c17708b408e11c12d252533ee)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-06-28 23:02:50 +01:00
Richard Purdie
bf65b87432 time64: Disable CFLAGS for strace
Until strace can handle the interface with glibc correctly with those flags,
disable there for now.

(From OE-Core rev: 5235ae1a14b71d42c1effff51e0289654bc7122a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-06-27 15:26:31 +01:00
Alexander Kanavin
35e3f3b8d4 insane.bbclass: simplify exceptions for 32 bit time API check
Existing implementation required to list both specific problematic apis, and files that
use them: neither is necessary as both are seen in package_qa error messages, and
can cause excessive amount of exception lines, if there are too many files, or
they are installed in arch-specific locations. Also, the value of INSANE_SKIP
should be the test that needs to be skipped, and in this case it wasn't.

Also, all problematic recipes are now correctly listed.

(From OE-Core rev: e6ebd0c556dfc576a59f5755d97089a2a241f698)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-05 11:07:26 +01:00
Alexander Kanavin
1d82fbc95a time64.inc: add a comment about how to simulate Y2038 in qemu
Setting clock to 2040 causes the following ptest failures on qemux86:

{'perl': ['t/op/magic', 'lib/File/stat', 'ext/POSIX/t/time']}
{'python3': ['test_create_server_ssl_verified',
             'test_create_unix_server_ssl_verified',
             'test_local_good_hostname']}
{'dbus': ['dbus/test-relay_with_config.test',
          'dbus/test-misc-internals.test',
          'dbus/test-corrupt.test',
          'dbus/test-loopback_with_config.test',
          'dbus/test-relay.test',
          'dbus/test-misc-internals_with_config.test',
          'dbus/test-loopback.test',
          'dbus/test-fdpass_with_config.test',
          'dbus/test-corrupt_with_config.test',
          'dbus/test-fdpass.test']}
{'openssl': ['Dubious,_test_returned_5', 'Dubious,_test_returned_1']}
{'glibc-tests': ['/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-utimes',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-utimensat',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-utime',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-timespec_get',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-timer4',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-stat',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-sigtimedwait',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-settimeofday',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-sem5',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-select',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-scm_rights',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-rwlock14',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-ppoll',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-ntp_gettimex',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-ntp_gettime',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-ntp_adjtime',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-mtx-timedlock',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-mqueue8',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-mqueue2',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-mqueue10',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-mqueue1',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-lutimes',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-lchmod',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-futimesat',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-futimes',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-futimens',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-fts',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-fcntl',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-cond11',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-cnd-timedwait',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-clock_settime',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-clock_adjtime',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-clock',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-aio6',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-adjtimex',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/ftwtest',
                 '/usr/lib/glibc-tests/ptest/tests/glibc-ptest/tst-lchmod-time64']}
{'openssh': ['key_options']}
{'curl': ['test_0031',
          'test_0046',
          'test_0053',
          'test_0061',
          'test_0062',
          'test_0172',
          'test_0179',
          'test_0327',
          'test_0329',
          'test_0420',
          'test_1104',
          'test_1216',
          'test_1415']}
{'glib-2.0': ['glib/asyncqueue.test',
              'glib/module-test-plugin.test',
              'glib/file.test',
              'glib/fileutils.test',
              'glib/module-test-library.test']}
{'gstreamer1.0': ['gstreamer/elements_multiqueue.test']} (may be flaky)
{'tcl': ['cmdAH.test', 'interp.test']}
{'libmodule-build-perl': ['t/compat']}

Some ptests fail on qemux86-64 as well:
{'curl': ['test_0031',
          'test_0046',
          'test_0053',
          'test_0061',
          'test_0062',
          'test_0172',
          'test_0179',
          'test_0327',
          'test_0329',
          'test_0420',
          'test_1104',
          'test_1216',
          'test_1415']}
{'python3': ['test_create_server_ssl_verified',
             'test_create_unix_server_ssl_verified',
             'test_local_good_hostname']}
{'openssh': ['key_options']}
{'openssl': ['Dubious,_test_returned_5', 'Dubious,_test_returned_1']}
{'tcl': ['interp.test']}
{'python3-cryptography': ['tests/hazmat/primitives/test_pkcs7.py:TestPKCS7Builder.test_smime_sign_detached',
                          'tests/hazmat/primitives/test_pkcs7.py:TestPKCS7Builder.test_sign_pem',
                          'tests/hazmat/primitives/test_pkcs7.py:TestPKCS7Builder.test_sign_alternate_digests_der[hash_alg0-\\x06\\t`\\x86H\\x01e\\x03\\x04\\x02\\x01]',
                          'tests/hazmat/primitives/test_pkcs7.py:TestPKCS7Builder.test_sign_alternate_digests_der[hash_alg1-\\x06\\t`\\x86H\\x01e\\x03\\x04\\x02\\x02]',
                          'tests/hazmat/primitives/test_pkcs7.py:TestPKCS7Builder.test_sign_alternate_digests_der[hash_alg2-\\x06\\t`\\x86H\\x01e\\x03\\x04\\x02\\x03]',
                          'tests/hazmat/primitives/test_pkcs7.py:TestPKCS7Builder.test_sign_attached',
                          'tests/hazmat/primitives/test_pkcs7.py:TestPKCS7Builder.test_sign_binary',
                          'tests/hazmat/primitives/test_pkcs7.py:TestPKCS7Builder.test_sign_smime_canonicalization',
                          'tests/hazmat/primitives/test_pkcs7.py:TestPKCS7Builder.test_sign_text',
                          'tests/hazmat/primitives/test_pkcs7.py:TestPKCS7Builder.test_sign_no_capabilities',
                          'tests/hazmat/primitives/test_pkcs7.py:TestPKCS7Builder.test_sign_no_attributes',
                          'tests/hazmat/primitives/test_pkcs7.py:TestPKCS7Builder.test_multiple_signers',
                          'tests/hazmat/primitives/test_pkcs7.py:TestPKCS7Builder.test_multiple_signers_different_hash_algs']}

Note that setting the year to 2035 resolves almost all of the above,
as onl the following then fail:

qemux86:
{'python3': ['test_local_good_hostname']}
{'curl': ['test_0420']}

qemux86-64:
{'python3': ['test_local_good_hostname']}
{'curl': ['test_0420']}

(From OE-Core rev: 333836663ab7bb7994ef23ac8698f8fe2cb95580)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-05 11:07:26 +01:00
Alexander Kanavin
7e90e5bdd3 time64.inc: add glibc-testsuite to 'special cases'
It builds glibc source like other glibc recipes do,
and so the same problems occur.

(From OE-Core rev: 68b50d362ec61f27be818e40fcbb281d9bacf756)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-05 11:07:26 +01:00
Khem Raj
f544333715 time64: Remove leading whitespace from GLIBC_64BIT_TIME_FLAGS
This avoids adding a spurious space in TARGET_CC_ARCH when
GLIBC_64BIT_TIME_FLAGS is empty

(From OE-Core rev: 5d077129d8e849ce3a79285825231c642e79be70)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-06 12:03:47 +00:00
Khem Raj
d535e47f31 time64.inc: Add GLIBC_64BIT_TIME_FLAGS on ppc/x86 as well
Make mips expression across all 32bit mips architectures

(From OE-Core rev: 18df5694796bcfee73c3765bc991bcef055466e3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-06 12:03:47 +00:00
Khem Raj
e0ffea74cf pulseaudio: Do not use 64bit time_t flags
It needs to be fixed to honor _FILE_OFFSET_BITS before we can enable
64bit time_t

(From OE-Core rev: 206ab9522963aee471004d987181ed2f8363f1ad)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-02 17:34:11 +00:00
Richard Purdie
07127e3b6e time64: Rename to a .inc file to match the others
I meant to do this whilst merging but messed up the patches. This
file is a .inc file and should match the others.

(From OE-Core rev: d9398dfb0866a5be9ed09ae15902606fe11da2d2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-17 11:12:55 +00:00