All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/11] binutils: backport a patch to address failures when time64.inc is in use
@ 2023-04-26  9:50 Alexander Kanavin
  2023-04-26  9:50 ` [PATCH 02/11] time64.inc: add glibc-testsuite to 'special cases' Alexander Kanavin
                   ` (9 more replies)
  0 siblings, 10 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-26  9:50 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 .../binutils/binutils-2.40.inc                |  1 +
 .../binutils/binutils/fix-time64.patch        | 94 +++++++++++++++++++
 2 files changed, 95 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/fix-time64.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.40.inc b/meta/recipes-devtools/binutils/binutils-2.40.inc
index 93631ca3d7f..ad2c9f9da14 100644
--- a/meta/recipes-devtools/binutils/binutils-2.40.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.40.inc
@@ -35,5 +35,6 @@ SRC_URI = "\
      file://0014-configure-remove-dependencies-on-gmp-and-mpfr-when-g.patch \
      file://0015-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch \
      file://0016-CVE-2023-25586.patch \
+     file://fix-time64.patch \
 "
 S  = "${WORKDIR}/git"
diff --git a/meta/recipes-devtools/binutils/binutils/fix-time64.patch b/meta/recipes-devtools/binutils/binutils/fix-time64.patch
new file mode 100644
index 00000000000..0bfc977fd4e
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/fix-time64.patch
@@ -0,0 +1,94 @@
+From f6f19a39ecfe962cb8a05522c27f513308687a74 Mon Sep 17 00:00:00 2001
+From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
+Date: Thu, 16 Feb 2023 19:00:47 -0800
+Subject: [PATCH] gprofng: PR30036 Build failure on aarch64 w/ glibc: symbol
+ `pwrite64' is already defined
+
+gprofng/ChangeLog
+2023-02-16  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
+
+	PR gprofng/30036
+	* libcollector/iotrace.c: Define creat64 and pwrite64 only when
+	__USE_LARGEFILE64 and __USE_FILE_OFFSET64 are not defined.
+	* libcollector/mmaptrace.c: Likewise for mmap64.
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=f6f19a39ecfe962cb8a05522c27f513308687a74]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ gprofng/libcollector/iotrace.c   | 15 ++++++++-------
+ gprofng/libcollector/mmaptrace.c |  2 +-
+ 2 files changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/gprofng/libcollector/iotrace.c b/gprofng/libcollector/iotrace.c
+index af90cc31f1a..d8439b02b3a 100644
+--- a/gprofng/libcollector/iotrace.c
++++ b/gprofng/libcollector/iotrace.c
+@@ -1441,7 +1441,7 @@ creat (const char *path, mode_t mode)
+ }
+ 
+ /*------------------------------------------------------------- creat64 */
+-#if WSIZE(32)
++#if WSIZE(32) && !defined(__USE_LARGEFILE64)
+ int
+ creat64 (const char *path, mode_t mode)
+ {
+@@ -2476,7 +2476,7 @@ __collector_pwrite_2_1 (int fildes, const void *buf, size_t nbyte, off_t offset)
+   return ret;
+ }
+ 
+-#else
++#endif
+ ssize_t
+ pwrite (int fildes, const void *buf, size_t nbyte, off_t offset)
+ {
+@@ -2497,11 +2497,10 @@ pwrite (int fildes, const void *buf, size_t nbyte, off_t offset)
+   POP_REENTRANCE (guard);
+   return ret;
+ }
+-#endif
+ 
+ /*------------------------------------------------------------- pwrite64 */
+-#if WSIZE(32)
+-#if !defined(__MUSL_LIBC) && ARCH(Intel)
++#if WSIZE(32) && ARCH(Intel)
++#if !defined(__MUSL_LIBC)
+ // map interposed symbol versions
+ 
+ SYMVER_ATTRIBUTE (__collector_pwrite64_2_2, pwrite64@GLIBC_2.2)
+@@ -2547,8 +2546,9 @@ __collector_pwrite64_2_1 (int fildes, const void *buf, size_t nbyte, off64_t off
+   POP_REENTRANCE (guard);
+   return ret;
+ }
++#endif
+ 
+-#else
++#if !defined(__USE_FILE_OFFSET64)
+ ssize_t
+ pwrite64 (int fildes, const void *buf, size_t nbyte, off64_t offset)
+ {
+@@ -2570,7 +2570,8 @@ pwrite64 (int fildes, const void *buf, size_t nbyte, off64_t offset)
+   return ret;
+ }
+ #endif
+-#endif /* SIZE(32) */
++
++#endif /* SIZE(32)  && ARCH(Intel) */
+ 
+ /*------------------------------------------------------------- fgets */
+ char*
+diff --git a/gprofng/libcollector/mmaptrace.c b/gprofng/libcollector/mmaptrace.c
+index 61613c21560..221b4e2d176 100644
+--- a/gprofng/libcollector/mmaptrace.c
++++ b/gprofng/libcollector/mmaptrace.c
+@@ -1494,7 +1494,7 @@ mmap (void *start, size_t length, int prot, int flags, int fd, off_t offset)
+ }
+ 
+ /*------------------------------------------------------------- mmap64 */
+-#if WSIZE(32)       /* mmap64 only defined for non-64-bit */
++#if WSIZE(32) && !defined(__USE_FILE_OFFSET64)
+ 
+ void *
+ mmap64 (void *start, size_t length, int prot, int flags, int fd, off64_t offset)
+-- 
+2.31.1
+
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [PATCH 02/11] time64.inc: add glibc-testsuite to 'special cases'
  2023-04-26  9:50 [PATCH 01/11] binutils: backport a patch to address failures when time64.inc is in use Alexander Kanavin
@ 2023-04-26  9:50 ` Alexander Kanavin
  2023-04-26  9:50 ` [PATCH 03/11] strace: exclude from x86 (32 bit) ptests Alexander Kanavin
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-26  9:50 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

It builds glibc source like other glibc recipes do,
and so the same problems occur.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/conf/distro/include/time64.inc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
index 2e7278292c6..73adebd39db 100644
--- a/meta/conf/distro/include/time64.inc
+++ b/meta/conf/distro/include/time64.inc
@@ -10,6 +10,7 @@ TARGET_CC_ARCH:append:x86 = "${@bb.utils.contains('TUNE_FEATURES', 'm32', '${GLI
 
 GLIBC_64BIT_TIME_FLAGS:pn-glibc = ""
 GLIBC_64BIT_TIME_FLAGS:pn-glibc-tests = ""
+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
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [PATCH 03/11] strace: exclude from x86 (32 bit) ptests
  2023-04-26  9:50 [PATCH 01/11] binutils: backport a patch to address failures when time64.inc is in use Alexander Kanavin
  2023-04-26  9:50 ` [PATCH 02/11] time64.inc: add glibc-testsuite to 'special cases' Alexander Kanavin
@ 2023-04-26  9:50 ` Alexander Kanavin
  2023-04-26  9:50 ` [PATCH 04/11] lttng-tools: " Alexander Kanavin
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-26  9:50 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Please see the linked ticket.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/conf/distro/include/ptest-packagelists.inc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 78750a0d98b..77d69c9fcd1 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -114,6 +114,10 @@ PTESTS_SLOW:append:libc-musl = " libc-test"
 PTESTS_SLOW:remove:x86 = "valgrind"
 PTESTS_PROBLEMS:append:x86 = " valgrind"
 
+# https://github.com/strace/strace/issues/250
+PTESTS_SLOW:remove:x86 = "strace"
+PTESTS_PROBLEMS:append:x86 = " strace"
+
 #    ruby \ # Timeout
 #    lz4 \ # Needs a rewrite
 #    rt-tests \ # Needs to be checked whether it runs at all
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [PATCH 04/11] lttng-tools: exclude from x86 (32 bit) ptests
  2023-04-26  9:50 [PATCH 01/11] binutils: backport a patch to address failures when time64.inc is in use Alexander Kanavin
  2023-04-26  9:50 ` [PATCH 02/11] time64.inc: add glibc-testsuite to 'special cases' Alexander Kanavin
  2023-04-26  9:50 ` [PATCH 03/11] strace: exclude from x86 (32 bit) ptests Alexander Kanavin
@ 2023-04-26  9:50 ` Alexander Kanavin
  2023-04-26  9:50 ` [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15 Alexander Kanavin
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-26  9:50 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Please see the comment.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/conf/distro/include/ptest-packagelists.inc | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 77d69c9fcd1..39b885066ce 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -118,6 +118,12 @@ PTESTS_PROBLEMS:append:x86 = " valgrind"
 PTESTS_SLOW:remove:x86 = "strace"
 PTESTS_PROBLEMS:append:x86 = " strace"
 
+# Needs support for 64 bit syscall versions
+# which was added in http://git.lttng.org/?p=lttng-modules.git;a=commitdiff;h=86040c9e2ff8a79633db34220e32bdda536b00e6
+# and should show up in lttng-modules 2.14.x
+PTESTS_SLOW:remove:x86 = "lttng-tools"
+PTESTS_PROBLEMS:append:x86 = " lttng-tools"
+
 #    ruby \ # Timeout
 #    lz4 \ # Needs a rewrite
 #    rt-tests \ # Needs to be checked whether it runs at all
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-04-26  9:50 [PATCH 01/11] binutils: backport a patch to address failures when time64.inc is in use Alexander Kanavin
                   ` (2 preceding siblings ...)
  2023-04-26  9:50 ` [PATCH 04/11] lttng-tools: " Alexander Kanavin
@ 2023-04-26  9:50 ` Alexander Kanavin
  2023-04-27  7:03   ` [OE-core] " Khem Raj
  2023-04-26  9:50 ` [PATCH 06/11] python3-pytest: add missing tomllib runtime dependency Alexander Kanavin
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-26  9:50 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

In particular this enables a number of useful features in glibc, such
as actually using 64 bit time_t versions of kernel syscalls:

https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/kernel-features.h;h=07b440f4eea364b05fa49bf71ceebf78f80efe13;hb=HEAD#l164

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/conf/bitbake.conf | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index afd9e2f5527..2db84a46eed 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -469,12 +469,7 @@ SDKPATHINSTALL = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}"
 # Kernel info.
 ##################################################################
 
-OLDEST_KERNEL = "3.2.0"
-OLDEST_KERNEL:aarch64 = "3.14"
-OLDEST_KERNEL:nios2 = "3.19"
-OLDEST_KERNEL:powerpc64le = "3.10.0"
-OLDEST_KERNEL:riscv32 = "5.4"
-OLDEST_KERNEL:riscv64 = "4.15"
+OLDEST_KERNEL = "5.15"
 
 # SDK_OLDEST_KERNEL can't be set using overrides since there are
 # none for the SDK architecture. Best to set it from a machine-sdk
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [PATCH 06/11] python3-pytest: add missing tomllib runtime dependency
  2023-04-26  9:50 [PATCH 01/11] binutils: backport a patch to address failures when time64.inc is in use Alexander Kanavin
                   ` (3 preceding siblings ...)
  2023-04-26  9:50 ` [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15 Alexander Kanavin
@ 2023-04-26  9:50 ` Alexander Kanavin
  2023-04-26  9:50 ` [PATCH 07/11] time64.inc: add a comment about how to simulate Y2038 Alexander Kanavin
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-26  9:50 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/recipes-devtools/python/python3-pytest_7.3.1.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-devtools/python/python3-pytest_7.3.1.bb b/meta/recipes-devtools/python/python3-pytest_7.3.1.bb
index 9965844d1ad..914ea553464 100644
--- a/meta/recipes-devtools/python/python3-pytest_7.3.1.bb
+++ b/meta/recipes-devtools/python/python3-pytest_7.3.1.bb
@@ -26,6 +26,7 @@ RDEPENDS:${PN} += " \
     ${PYTHON_PN}-py \
     ${PYTHON_PN}-setuptools \
     ${PYTHON_PN}-six \
+    ${PYTHON_PN}-tomllib \
     ${PYTHON_PN}-wcwidth \
 "
 
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [PATCH 07/11] time64.inc: add a comment about how to simulate Y2038
  2023-04-26  9:50 [PATCH 01/11] binutils: backport a patch to address failures when time64.inc is in use Alexander Kanavin
                   ` (4 preceding siblings ...)
  2023-04-26  9:50 ` [PATCH 06/11] python3-pytest: add missing tomllib runtime dependency Alexander Kanavin
@ 2023-04-26  9:50 ` Alexander Kanavin
  2023-04-26  9:50 ` [PATCH 08/11] oeqa/sdk/assimp: run only when zlib is in the SDK Alexander Kanavin
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-26  9:50 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

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']}

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/conf/distro/include/time64.inc | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
index 73adebd39db..f3bdfba4acf 100644
--- a/meta/conf/distro/include/time64.inc
+++ b/meta/conf/distro/include/time64.inc
@@ -1,3 +1,13 @@
+# To simulate Y2038 occurring, 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
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [PATCH 08/11] oeqa/sdk/assimp: run only when zlib is in the SDK
  2023-04-26  9:50 [PATCH 01/11] binutils: backport a patch to address failures when time64.inc is in use Alexander Kanavin
                   ` (5 preceding siblings ...)
  2023-04-26  9:50 ` [PATCH 07/11] time64.inc: add a comment about how to simulate Y2038 Alexander Kanavin
@ 2023-04-26  9:50 ` Alexander Kanavin
  2023-04-26  9:50 ` [PATCH 09/11] defaultsetup: Enable largefile and 64bit time_t support systemwide Alexander Kanavin
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-26  9:50 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Otherwise assimp will silently fall back to a vendored copy of zlib
which will fail with -D_TIME_BITS=64 due to https://github.com/madler/zlib/pull/764

This was exposed by multilib mips core-image-minimal SDKs, where the default
64 bit sysroot has zlib, but 32 bit sysroot does not.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/lib/oeqa/sdk/cases/assimp.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/lib/oeqa/sdk/cases/assimp.py b/meta/lib/oeqa/sdk/cases/assimp.py
index aa6541c6f6d..e4c5c730037 100644
--- a/meta/lib/oeqa/sdk/cases/assimp.py
+++ b/meta/lib/oeqa/sdk/cases/assimp.py
@@ -22,6 +22,9 @@ class BuildAssimp(OESDKTestCase):
         if not (self.tc.hasHostPackage("nativesdk-cmake") or
                 self.tc.hasHostPackage("cmake-native")):
             raise unittest.SkipTest("Needs cmake")
+        if not (self.tc.hasTargetPackage("zlib", multilib=True) or \
+                self.tc.hasTargetPackage("libz1", multilib=True)):
+            raise unittest.SkipTest("Assimp test needs zlib in the SDK")
 
     def test_assimp(self):
         with tempfile.TemporaryDirectory(prefix="assimp", dir=self.tc.sdk_dir) as testdir:
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [PATCH 09/11] defaultsetup: Enable largefile and 64bit time_t support systemwide
  2023-04-26  9:50 [PATCH 01/11] binutils: backport a patch to address failures when time64.inc is in use Alexander Kanavin
                   ` (6 preceding siblings ...)
  2023-04-26  9:50 ` [PATCH 08/11] oeqa/sdk/assimp: run only when zlib is in the SDK Alexander Kanavin
@ 2023-04-26  9:50 ` Alexander Kanavin
  2023-04-26  9:50 ` [PATCH 10/11] insane.bbclass: simplify exceptions for 32 bit time API check Alexander Kanavin
  2023-04-26  9:50 ` [PATCH 11/11] insane.bbclass: enable 32 bit time API check on affected architectures Alexander Kanavin
  9 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-26  9:50 UTC (permalink / raw)
  To: openembedded-core; +Cc: Khem Raj

From: Khem Raj <raj.khem@gmail.com>

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/distro/defaultsetup.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/conf/distro/defaultsetup.conf b/meta/conf/distro/defaultsetup.conf
index f6894f3ab56..1abb5096293 100644
--- a/meta/conf/distro/defaultsetup.conf
+++ b/meta/conf/distro/defaultsetup.conf
@@ -2,7 +2,7 @@ include conf/distro/include/default-providers.inc
 include conf/distro/include/default-versions.inc
 include conf/distro/include/default-distrovars.inc
 include conf/distro/include/maintainers.inc
-
+include conf/distro/include/time64.inc
 require conf/distro/include/tcmode-${TCMODE}.inc
 require conf/distro/include/tclibc-${TCLIBC}.inc
 
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [PATCH 10/11] insane.bbclass: simplify exceptions for 32 bit time API check
  2023-04-26  9:50 [PATCH 01/11] binutils: backport a patch to address failures when time64.inc is in use Alexander Kanavin
                   ` (7 preceding siblings ...)
  2023-04-26  9:50 ` [PATCH 09/11] defaultsetup: Enable largefile and 64bit time_t support systemwide Alexander Kanavin
@ 2023-04-26  9:50 ` Alexander Kanavin
  2023-04-29 19:23   ` [OE-core] " Khem Raj
  2023-04-26  9:50 ` [PATCH 11/11] insane.bbclass: enable 32 bit time API check on affected architectures Alexander Kanavin
  9 siblings, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-26  9:50 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

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.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/classes-global/insane.bbclass  | 14 +++-----------
 meta/conf/distro/include/time64.inc | 18 ++++++++++++------
 2 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
index ee34d5208d1..8788f58fc5b 100644
--- a/meta/classes-global/insane.bbclass
+++ b/meta/classes-global/insane.bbclass
@@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
             # At this point, any symbol information is stripped into the debug
             # package, so that is the only place we will find them.
             elfpath = elfpath.replace('.debug/', '')
-            allowed = (
-                d.getVarFlag(
-                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
-                ) or ''
-            ).split()
-            usedapis -= set(allowed)
-            if usedapis:
+            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
+            if not allowed:
                 msgformat = elfpath + " uses 32-bit api '%s'"
                 for sym in usedapis:
                     oe.qa.add_message(messages, '32bit-time', msgformat % sym)
                 oe.qa.add_message(
                     messages, '32bit-time',
-                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
-                        d.getVar('PN'), elfpath.replace('/', '_'),
-                        ' '.join(usedapis)
-                    )
+                    'Suppress with INSANE_SKIP = "32bit-time"'
                 )
 
 # Check license variables
diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
index f3bdfba4acf..1a3399bc5e6 100644
--- a/meta/conf/distro/include/time64.inc
+++ b/meta/conf/distro/include/time64.inc
@@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
 GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
 GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
 
-INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
-INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
-INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
-
-# libpulsedsp.so is a preload-library that hooks libc functions
-INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
+INSANE_SKIP:append:pn-cargo = " 32bit-time"
+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-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"
+INSANE_SKIP:append:pn-strace = " 32bit-time"
 
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [PATCH 11/11] insane.bbclass: enable 32 bit time API check on affected architectures
  2023-04-26  9:50 [PATCH 01/11] binutils: backport a patch to address failures when time64.inc is in use Alexander Kanavin
                   ` (8 preceding siblings ...)
  2023-04-26  9:50 ` [PATCH 10/11] insane.bbclass: simplify exceptions for 32 bit time API check Alexander Kanavin
@ 2023-04-26  9:50 ` Alexander Kanavin
  2023-04-26 21:18   ` [OE-core] " Luca Ceresoli
  2023-04-28  3:20   ` Khem Raj
  9 siblings, 2 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-26  9:50 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/classes-global/insane.bbclass | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
index 8788f58fc5b..38126d89a58 100644
--- a/meta/classes-global/insane.bbclass
+++ b/meta/classes-global/insane.bbclass
@@ -44,7 +44,7 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
             already-stripped installed-vs-shipped ldflags compile-host-path \
             install-host-path pn-overrides unknown-configure-option \
             useless-rpaths rpaths staticdev empty-dirs \
-            patch-fuzz patch-status-core\
+            patch-fuzz patch-status-core 32bit-time \
             "
 # Add usrmerge QA check based on distro feature
 ERROR_QA:append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}"
@@ -512,6 +512,11 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
     """
     Check that ELF files do not use any 32 bit time APIs from glibc.
     """
+    thirtytwo_bit_time_archs = set(('arm','armeb','mipsarcho32','powerpc','x86'))
+    overrides = set(d.getVar('OVERRIDES').split(':'))
+    if not(thirtytwo_bit_time_archs & overrides):
+        return
+
     import re
     # This list is manually constructed by searching the image folder of the
     # glibc recipe for __USE_TIME_BITS64.  There is no good way to do this
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 11/11] insane.bbclass: enable 32 bit time API check on affected architectures
  2023-04-26  9:50 ` [PATCH 11/11] insane.bbclass: enable 32 bit time API check on affected architectures Alexander Kanavin
@ 2023-04-26 21:18   ` Luca Ceresoli
  2023-04-27  7:30     ` Alexander Kanavin
  2023-04-28  3:20   ` Khem Raj
  1 sibling, 1 reply; 38+ messages in thread
From: Luca Ceresoli @ 2023-04-26 21:18 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: openembedded-core, Alexander Kanavin

Hi Alex,

On Wed, 26 Apr 2023 11:50:36 +0200
"Alexander Kanavin" <alex.kanavin@gmail.com> wrote:

> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  meta/classes-global/insane.bbclass | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> index 8788f58fc5b..38126d89a58 100644
> --- a/meta/classes-global/insane.bbclass
> +++ b/meta/classes-global/insane.bbclass
> @@ -44,7 +44,7 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
>              already-stripped installed-vs-shipped ldflags compile-host-path \
>              install-host-path pn-overrides unknown-configure-option \
>              useless-rpaths rpaths staticdev empty-dirs \
> -            patch-fuzz patch-status-core\
> +            patch-fuzz patch-status-core 32bit-time \

This line conflicted with another patch you sent earlier and which is
on my branch. You may want to double check whether
lucaceresoli/master-next is still consistent with what you had in mind.

Best regards,
Luca

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-04-26  9:50 ` [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15 Alexander Kanavin
@ 2023-04-27  7:03   ` Khem Raj
  2023-04-27  7:20     ` Alexander Kanavin
  0 siblings, 1 reply; 38+ messages in thread
From: Khem Raj @ 2023-04-27  7:03 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: openembedded-core, Alexander Kanavin

On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> In particular this enables a number of useful features in glibc, such
> as actually using 64 bit time_t versions of kernel syscalls:
>
> https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/kernel-features.h;h=07b440f4eea364b05fa49bf71ceebf78f80efe13;hb=HEAD#l164
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  meta/conf/bitbake.conf | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index afd9e2f5527..2db84a46eed 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -469,12 +469,7 @@ SDKPATHINSTALL = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}"
>  # Kernel info.
>  ##################################################################
>
> -OLDEST_KERNEL = "3.2.0"
> -OLDEST_KERNEL:aarch64 = "3.14"
> -OLDEST_KERNEL:nios2 = "3.19"
> -OLDEST_KERNEL:powerpc64le = "3.10.0"
> -OLDEST_KERNEL:riscv32 = "5.4"
> -OLDEST_KERNEL:riscv64 = "4.15"
> +OLDEST_KERNEL = "5.15"
>

While this might be good, does this fix anything specific for enabling
64bit time_t.
This change means we are implying that yocto wont work with kernels
older than 5.15  and maybe SDK would also need
5.15 on SDK hosts and similar need for build hosts might be imposed
too. Perhaps it would be good to do some due diligence before
applying this.

>  # SDK_OLDEST_KERNEL can't be set using overrides since there are
>  # none for the SDK architecture. Best to set it from a machine-sdk
> --
> 2.30.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#180423): https://lists.openembedded.org/g/openembedded-core/message/180423
> Mute This Topic: https://lists.openembedded.org/mt/98511406/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-04-27  7:03   ` [OE-core] " Khem Raj
@ 2023-04-27  7:20     ` Alexander Kanavin
  2023-04-27  7:30       ` Chen, Qi
  2023-04-27  7:48       ` Khem Raj
  0 siblings, 2 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-27  7:20 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-core, Alexander Kanavin

On Thu, 27 Apr 2023 at 09:04, Khem Raj <raj.khem@gmail.com> wrote:
> While this might be good, does this fix anything specific for enabling
> 64bit time_t.

Yes; please see the link.

> This change means we are implying that yocto wont work with kernels
> older than 5.15  and maybe SDK would also need
> 5.15 on SDK hosts and similar need for build hosts might be imposed
> too. Perhaps it would be good to do some due diligence before
> applying this.

I was waiting for someone to say something like this. :)

SDKs are not affected. There's a separate setting for them,
SDK_OLDEST_KERNEL which stays as it was, at 3.2.0. Kernels versions on
build hosts don't have a setting or check, and that never causes
trouble. The focus here is specifically on removing all uses of 32 bit
time on 32 bit targets, and as a bonus, enabling other optimized paths
in glibc that are only supported with newer kernels.

The implication is not that yocto won't work with < 5.15, it's that it
is not tested with such kernels. Which is fair enough, isn't it? If
someone does need an older kernel (and yes, I'm waiting for the
'outdated vendor kernels' squad to come out and lynch me for this
change), they can reset OLDEST_KERNEL locally, which would confirm
that they should be doing their own testing.

Alex


^ permalink raw reply	[flat|nested] 38+ messages in thread

* RE: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-04-27  7:20     ` Alexander Kanavin
@ 2023-04-27  7:30       ` Chen, Qi
  2023-04-27  7:31         ` Alexander Kanavin
       [not found]         ` <1759BA367C1A63D1.32698@lists.openembedded.org>
  2023-04-27  7:48       ` Khem Raj
  1 sibling, 2 replies; 38+ messages in thread
From: Chen, Qi @ 2023-04-27  7:30 UTC (permalink / raw)
  To: Alexander Kanavin, Khem Raj; +Cc: openembedded-core, Alexander Kanavin

Does this mean that SANITY_TESTED_DISTROS should also be updated to remove all distros with kernel older than 5.15?

Regards,
Qi

-----Original Message-----
From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Alexander Kanavin
Sent: Thursday, April 27, 2023 3:20 PM
To: Khem Raj <raj.khem@gmail.com>
Cc: openembedded-core@lists.openembedded.org; Alexander Kanavin <alex@linutronix.de>
Subject: Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15

On Thu, 27 Apr 2023 at 09:04, Khem Raj <raj.khem@gmail.com> wrote:
> While this might be good, does this fix anything specific for enabling 
> 64bit time_t.

Yes; please see the link.

> This change means we are implying that yocto wont work with kernels 
> older than 5.15  and maybe SDK would also need
> 5.15 on SDK hosts and similar need for build hosts might be imposed 
> too. Perhaps it would be good to do some due diligence before applying 
> this.

I was waiting for someone to say something like this. :)

SDKs are not affected. There's a separate setting for them, SDK_OLDEST_KERNEL which stays as it was, at 3.2.0. Kernels versions on build hosts don't have a setting or check, and that never causes trouble. The focus here is specifically on removing all uses of 32 bit time on 32 bit targets, and as a bonus, enabling other optimized paths in glibc that are only supported with newer kernels.

The implication is not that yocto won't work with < 5.15, it's that it is not tested with such kernels. Which is fair enough, isn't it? If someone does need an older kernel (and yes, I'm waiting for the 'outdated vendor kernels' squad to come out and lynch me for this change), they can reset OLDEST_KERNEL locally, which would confirm that they should be doing their own testing.

Alex

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 11/11] insane.bbclass: enable 32 bit time API check on affected architectures
  2023-04-26 21:18   ` [OE-core] " Luca Ceresoli
@ 2023-04-27  7:30     ` Alexander Kanavin
  0 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-27  7:30 UTC (permalink / raw)
  To: Luca Ceresoli; +Cc: openembedded-core, Alexander Kanavin

On Wed, 26 Apr 2023 at 23:18, Luca Ceresoli <luca.ceresoli@bootlin.com> wrote:
> >              already-stripped installed-vs-shipped ldflags compile-host-path \
> >              install-host-path pn-overrides unknown-configure-option \
> >              useless-rpaths rpaths staticdev empty-dirs \
> > -            patch-fuzz patch-status-core\
> > +            patch-fuzz patch-status-core 32bit-time \
>
> This line conflicted with another patch you sent earlier and which is
> on my branch. You may want to double check whether
> lucaceresoli/master-next is still consistent with what you had in mind.

The patchsets independently add entries to this list, so yes the
correct resolution is to add them both in any order.

I'll send a newer version of the other patchset now (with recipe
metadata tests).

Alex


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-04-27  7:30       ` Chen, Qi
@ 2023-04-27  7:31         ` Alexander Kanavin
       [not found]         ` <1759BA367C1A63D1.32698@lists.openembedded.org>
  1 sibling, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-27  7:31 UTC (permalink / raw)
  To: Chen, Qi; +Cc: Khem Raj, openembedded-core, Alexander Kanavin

On Thu, 27 Apr 2023 at 09:30, Chen, Qi <Qi.Chen@windriver.com> wrote:
> Does this mean that SANITY_TESTED_DISTROS should also be updated to remove all distros with kernel older than 5.15?

No. This check only applies to target kernels built by yocto, not any
of the build host or sdk host kernels.

Alex


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
       [not found]         ` <1759BA367C1A63D1.32698@lists.openembedded.org>
@ 2023-04-27  7:39           ` Alexander Kanavin
  0 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-27  7:39 UTC (permalink / raw)
  To: alex.kanavin; +Cc: Chen, Qi, Khem Raj, openembedded-core, Alexander Kanavin

On Thu, 27 Apr 2023 at 09:31, Alexander Kanavin via
lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org>
wrote:
> > Does this mean that SANITY_TESTED_DISTROS should also be updated to remove all distros with kernel older than 5.15?
>
> No. This check only applies to target kernels built by yocto, not any
> of the build host or sdk host kernels.

I should however expand the commit message to make this clear, and
better explain where OLDEST_KERNEL is used inside oe-core.

Alex


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-04-27  7:20     ` Alexander Kanavin
  2023-04-27  7:30       ` Chen, Qi
@ 2023-04-27  7:48       ` Khem Raj
  2023-04-27  7:54         ` Alexander Kanavin
  1 sibling, 1 reply; 38+ messages in thread
From: Khem Raj @ 2023-04-27  7:48 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: openembedded-core, Alexander Kanavin

On Thu, Apr 27, 2023 at 12:20 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> On Thu, 27 Apr 2023 at 09:04, Khem Raj <raj.khem@gmail.com> wrote:
> > While this might be good, does this fix anything specific for enabling
> > 64bit time_t.
>
> Yes; please see the link.
>
> > This change means we are implying that yocto wont work with kernels
> > older than 5.15  and maybe SDK would also need
> > 5.15 on SDK hosts and similar need for build hosts might be imposed
> > too. Perhaps it would be good to do some due diligence before
> > applying this.
>
> I was waiting for someone to say something like this. :)
>
> SDKs are not affected. There's a separate setting for them,
> SDK_OLDEST_KERNEL which stays as it was, at 3.2.0. Kernels versions on
> build hosts don't have a setting or check, and that never causes
> trouble. The focus here is specifically on removing all uses of 32 bit
> time on 32 bit targets, and as a bonus, enabling other optimized paths
> in glibc that are only supported with newer kernels.
>
> The implication is not that yocto won't work with < 5.15, it's that it
> is not tested with such kernels. Which is fair enough, isn't it? If
> someone does need an older kernel (and yes, I'm waiting for the
> 'outdated vendor kernels' squad to come out and lynch me for this
> change), they can reset OLDEST_KERNEL locally, which would confirm
> that they should be doing their own testing.
>

It will break compatibility with older kernels because we are telling glibc that
we have 5.15 at minimum so it will assume system calls which are available
upto and including 5.15 and some of these syscalls may not be
available in older kernels

by next LTS it might be that 5.15 is commonly used but it still
remains a problem for
precompiled binaries and libraries etc. sadly

> Alex


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-04-27  7:48       ` Khem Raj
@ 2023-04-27  7:54         ` Alexander Kanavin
  2023-04-29 19:27           ` Khem Raj
  0 siblings, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-27  7:54 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-core, Alexander Kanavin

On Thu, 27 Apr 2023 at 09:48, Khem Raj <raj.khem@gmail.com> wrote:

> It will break compatibility with older kernels because we are telling glibc that
> we have 5.15 at minimum so it will assume system calls which are available
> upto and including 5.15 and some of these syscalls may not be
> available in older kernels
> by next LTS it might be that 5.15 is commonly used but it still
> remains a problem for
> precompiled binaries and libraries etc. sadly

Once again, this affects target kernels only. There are no new
restrictions on the build host or sdk host kernel versions.

If you are using an older target kernel, set OLDEST_KERNEL to match.
If you are using precompiled items, I'm not sure what the problem
would be for them?

Alex


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 11/11] insane.bbclass: enable 32 bit time API check on affected architectures
  2023-04-26  9:50 ` [PATCH 11/11] insane.bbclass: enable 32 bit time API check on affected architectures Alexander Kanavin
  2023-04-26 21:18   ` [OE-core] " Luca Ceresoli
@ 2023-04-28  3:20   ` Khem Raj
  2023-04-28  7:05     ` Alexander Kanavin
       [not found]     ` <175A0763DEAA3E73.26969@lists.openembedded.org>
  1 sibling, 2 replies; 38+ messages in thread
From: Khem Raj @ 2023-04-28  3:20 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: openembedded-core, Alexander Kanavin

I see this error triggering for meta-openembedded builds

qemuarm - https://errors.yoctoproject.org/Errors/Build/163136/

On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  meta/classes-global/insane.bbclass | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> index 8788f58fc5b..38126d89a58 100644
> --- a/meta/classes-global/insane.bbclass
> +++ b/meta/classes-global/insane.bbclass
> @@ -44,7 +44,7 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
>              already-stripped installed-vs-shipped ldflags compile-host-path \
>              install-host-path pn-overrides unknown-configure-option \
>              useless-rpaths rpaths staticdev empty-dirs \
> -            patch-fuzz patch-status-core\
> +            patch-fuzz patch-status-core 32bit-time \
>              "
>  # Add usrmerge QA check based on distro feature
>  ERROR_QA:append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}"
> @@ -512,6 +512,11 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
>      """
>      Check that ELF files do not use any 32 bit time APIs from glibc.
>      """
> +    thirtytwo_bit_time_archs = set(('arm','armeb','mipsarcho32','powerpc','x86'))
> +    overrides = set(d.getVar('OVERRIDES').split(':'))
> +    if not(thirtytwo_bit_time_archs & overrides):
> +        return
> +
>      import re
>      # This list is manually constructed by searching the image folder of the
>      # glibc recipe for __USE_TIME_BITS64.  There is no good way to do this
> --
> 2.30.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#180429): https://lists.openembedded.org/g/openembedded-core/message/180429
> Mute This Topic: https://lists.openembedded.org/mt/98511413/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 11/11] insane.bbclass: enable 32 bit time API check on affected architectures
  2023-04-28  3:20   ` Khem Raj
@ 2023-04-28  7:05     ` Alexander Kanavin
       [not found]     ` <175A0763DEAA3E73.26969@lists.openembedded.org>
  1 sibling, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-28  7:05 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-core, Alexander Kanavin

They all need INSANE_SKIP = "32bit-time".

I'll send patches.

Alex

On Fri, 28 Apr 2023 at 05:20, Khem Raj <raj.khem@gmail.com> wrote:
>
> I see this error triggering for meta-openembedded builds
>
> qemuarm - https://errors.yoctoproject.org/Errors/Build/163136/
>
> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > ---
> >  meta/classes-global/insane.bbclass | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> > index 8788f58fc5b..38126d89a58 100644
> > --- a/meta/classes-global/insane.bbclass
> > +++ b/meta/classes-global/insane.bbclass
> > @@ -44,7 +44,7 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
> >              already-stripped installed-vs-shipped ldflags compile-host-path \
> >              install-host-path pn-overrides unknown-configure-option \
> >              useless-rpaths rpaths staticdev empty-dirs \
> > -            patch-fuzz patch-status-core\
> > +            patch-fuzz patch-status-core 32bit-time \
> >              "
> >  # Add usrmerge QA check based on distro feature
> >  ERROR_QA:append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}"
> > @@ -512,6 +512,11 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
> >      """
> >      Check that ELF files do not use any 32 bit time APIs from glibc.
> >      """
> > +    thirtytwo_bit_time_archs = set(('arm','armeb','mipsarcho32','powerpc','x86'))
> > +    overrides = set(d.getVar('OVERRIDES').split(':'))
> > +    if not(thirtytwo_bit_time_archs & overrides):
> > +        return
> > +
> >      import re
> >      # This list is manually constructed by searching the image folder of the
> >      # glibc recipe for __USE_TIME_BITS64.  There is no good way to do this
> > --
> > 2.30.2
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#180429): https://lists.openembedded.org/g/openembedded-core/message/180429
> > Mute This Topic: https://lists.openembedded.org/mt/98511413/1997914
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 11/11] insane.bbclass: enable 32 bit time API check on affected architectures
       [not found]     ` <175A0763DEAA3E73.26969@lists.openembedded.org>
@ 2023-04-28  7:57       ` Alexander Kanavin
  0 siblings, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-28  7:57 UTC (permalink / raw)
  To: alex.kanavin; +Cc: Khem Raj, openembedded-core, Alexander Kanavin

Come to think of it, let's downgrade this check to WARN_QA. It's not a
critical error, not yet :)

Alex

On Fri, 28 Apr 2023 at 09:05, Alexander Kanavin via
lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org>
wrote:
>
> They all need INSANE_SKIP = "32bit-time".
>
> I'll send patches.
>
> Alex
>
> On Fri, 28 Apr 2023 at 05:20, Khem Raj <raj.khem@gmail.com> wrote:
> >
> > I see this error triggering for meta-openembedded builds
> >
> > qemuarm - https://errors.yoctoproject.org/Errors/Build/163136/
> >
> > On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
> > <alex.kanavin@gmail.com> wrote:
> > >
> > > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > > ---
> > >  meta/classes-global/insane.bbclass | 7 ++++++-
> > >  1 file changed, 6 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> > > index 8788f58fc5b..38126d89a58 100644
> > > --- a/meta/classes-global/insane.bbclass
> > > +++ b/meta/classes-global/insane.bbclass
> > > @@ -44,7 +44,7 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
> > >              already-stripped installed-vs-shipped ldflags compile-host-path \
> > >              install-host-path pn-overrides unknown-configure-option \
> > >              useless-rpaths rpaths staticdev empty-dirs \
> > > -            patch-fuzz patch-status-core\
> > > +            patch-fuzz patch-status-core 32bit-time \
> > >              "
> > >  # Add usrmerge QA check based on distro feature
> > >  ERROR_QA:append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}"
> > > @@ -512,6 +512,11 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
> > >      """
> > >      Check that ELF files do not use any 32 bit time APIs from glibc.
> > >      """
> > > +    thirtytwo_bit_time_archs = set(('arm','armeb','mipsarcho32','powerpc','x86'))
> > > +    overrides = set(d.getVar('OVERRIDES').split(':'))
> > > +    if not(thirtytwo_bit_time_archs & overrides):
> > > +        return
> > > +
> > >      import re
> > >      # This list is manually constructed by searching the image folder of the
> > >      # glibc recipe for __USE_TIME_BITS64.  There is no good way to do this
> > > --
> > > 2.30.2
> > >
> > >
> > >
> > >
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#180508): https://lists.openembedded.org/g/openembedded-core/message/180508
> Mute This Topic: https://lists.openembedded.org/mt/98511413/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 10/11] insane.bbclass: simplify exceptions for 32 bit time API check
  2023-04-26  9:50 ` [PATCH 10/11] insane.bbclass: simplify exceptions for 32 bit time API check Alexander Kanavin
@ 2023-04-29 19:23   ` Khem Raj
  2023-04-30  4:49     ` Alexander Kanavin
  0 siblings, 1 reply; 38+ messages in thread
From: Khem Raj @ 2023-04-29 19:23 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: openembedded-core, Alexander Kanavin

its still triggering as error.

On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> 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.
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  meta/classes-global/insane.bbclass  | 14 +++-----------
>  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
>  2 files changed, 15 insertions(+), 17 deletions(-)
>
> diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> index ee34d5208d1..8788f58fc5b 100644
> --- a/meta/classes-global/insane.bbclass
> +++ b/meta/classes-global/insane.bbclass
> @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
>              # At this point, any symbol information is stripped into the debug
>              # package, so that is the only place we will find them.
>              elfpath = elfpath.replace('.debug/', '')
> -            allowed = (
> -                d.getVarFlag(
> -                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
> -                ) or ''
> -            ).split()
> -            usedapis -= set(allowed)
> -            if usedapis:
> +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
> +            if not allowed:
>                  msgformat = elfpath + " uses 32-bit api '%s'"
>                  for sym in usedapis:
>                      oe.qa.add_message(messages, '32bit-time', msgformat % sym)
>                  oe.qa.add_message(
>                      messages, '32bit-time',
> -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
> -                        d.getVar('PN'), elfpath.replace('/', '_'),
> -                        ' '.join(usedapis)
> -                    )
> +                    'Suppress with INSANE_SKIP = "32bit-time"'
>                  )
>
>  # Check license variables
> diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
> index f3bdfba4acf..1a3399bc5e6 100644
> --- a/meta/conf/distro/include/time64.inc
> +++ b/meta/conf/distro/include/time64.inc
> @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
>  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
>  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
>
> -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
> -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
> -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
> -
> -# libpulsedsp.so is a preload-library that hooks libc functions
> -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
> +INSANE_SKIP:append:pn-cargo = " 32bit-time"
> +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-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"
> +INSANE_SKIP:append:pn-strace = " 32bit-time"
>
> --
> 2.30.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#180428): https://lists.openembedded.org/g/openembedded-core/message/180428
> Mute This Topic: https://lists.openembedded.org/mt/98511412/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-04-27  7:54         ` Alexander Kanavin
@ 2023-04-29 19:27           ` Khem Raj
  2023-04-30  5:42             ` Alexander Kanavin
  2023-05-02  8:41             ` Alexander Kanavin
  0 siblings, 2 replies; 38+ messages in thread
From: Khem Raj @ 2023-04-29 19:27 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: openembedded-core, Alexander Kanavin

I am also seing some segfaults in qemu usermode runs

| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/qemuwrapper:
line 2: 1592564 Segmentation fault      (core dumped) PSEUDO_UNLOAD=1
qemu-x86_64 -r 5.15 -cpu core2duo -L
/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot
-E LD_LIBRARY_PATH=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot/usr/lib:/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot/usr/lib
"$@"

this happens when building libclc from meta-clang

I also saw random build failures in qtbase which is perhaps unrelated
but could be this one too

Third issue is https://errors.yoctoproject.org/Errors/Details/701889/

I wonder if uninative version of glibc should be first built with this
change if we really want to pursue it.

Also send a BIG warning to community on breaking this backward
compatibility, for some it might be helpful to get this notification
now than next year.

On Thu, Apr 27, 2023 at 12:54 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> On Thu, 27 Apr 2023 at 09:48, Khem Raj <raj.khem@gmail.com> wrote:
>
> > It will break compatibility with older kernels because we are telling glibc that
> > we have 5.15 at minimum so it will assume system calls which are available
> > upto and including 5.15 and some of these syscalls may not be
> > available in older kernels
> > by next LTS it might be that 5.15 is commonly used but it still
> > remains a problem for
> > precompiled binaries and libraries etc. sadly
>
> Once again, this affects target kernels only. There are no new
> restrictions on the build host or sdk host kernel versions.
>
> If you are using an older target kernel, set OLDEST_KERNEL to match.
> If you are using precompiled items, I'm not sure what the problem
> would be for them?
>
> Alex


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 10/11] insane.bbclass: simplify exceptions for 32 bit time API check
  2023-04-29 19:23   ` [OE-core] " Khem Raj
@ 2023-04-30  4:49     ` Alexander Kanavin
  2023-04-30  5:15       ` Khem Raj
  0 siblings, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-30  4:49 UTC (permalink / raw)
  To: Khem Raj; +Cc: Alexander Kanavin, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 4857 bytes --]

Can I see the error please?

Alex

On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:

> its still triggering as error.
>
> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > 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.
> >
> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > ---
> >  meta/classes-global/insane.bbclass  | 14 +++-----------
> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
> >  2 files changed, 15 insertions(+), 17 deletions(-)
> >
> > diff --git a/meta/classes-global/insane.bbclass
> b/meta/classes-global/insane.bbclass
> > index ee34d5208d1..8788f58fc5b 100644
> > --- a/meta/classes-global/insane.bbclass
> > +++ b/meta/classes-global/insane.bbclass
> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf,
> messages):
> >              # At this point, any symbol information is stripped into
> the debug
> >              # package, so that is the only place we will find them.
> >              elfpath = elfpath.replace('.debug/', '')
> > -            allowed = (
> > -                d.getVarFlag(
> > -                    'INSANE_SKIP:' + d.getVar('PN'),
> elfpath.replace('/', '_')
> > -                ) or ''
> > -            ).split()
> > -            usedapis -= set(allowed)
> > -            if usedapis:
> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or
> '').split()
> > +            if not allowed:
> >                  msgformat = elfpath + " uses 32-bit api '%s'"
> >                  for sym in usedapis:
> >                      oe.qa.add_message(messages, '32bit-time', msgformat
> % sym)
> >                  oe.qa.add_message(
> >                      messages, '32bit-time',
> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
> > -                        d.getVar('PN'), elfpath.replace('/', '_'),
> > -                        ' '.join(usedapis)
> > -                    )
> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
> >                  )
> >
> >  # Check license variables
> > diff --git a/meta/conf/distro/include/time64.inc
> b/meta/conf/distro/include/time64.inc
> > index f3bdfba4acf..1a3399bc5e6 100644
> > --- a/meta/conf/distro/include/time64.inc
> > +++ b/meta/conf/distro/include/time64.inc
> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
> >
> >
> -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so]
> = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64
> nanosleep prctl recvmsg sendmsg setsockopt stat64"
> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl
> stat64 clock_gettime"
> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64
> setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64
> prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
> > -
> > -# libpulsedsp.so is a preload-library that hooks libc functions
> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] =
> "setsockopt fcntl"
> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
> > +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-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"
> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
> >
> > --
> > 2.30.2
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#180428):
> https://lists.openembedded.org/g/openembedded-core/message/180428
> > Mute This Topic: https://lists.openembedded.org/mt/98511412/1997914
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>

[-- Attachment #2: Type: text/html, Size: 6761 bytes --]

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 10/11] insane.bbclass: simplify exceptions for 32 bit time API check
  2023-04-30  4:49     ` Alexander Kanavin
@ 2023-04-30  5:15       ` Khem Raj
  2023-04-30  5:34         ` Alexander Kanavin
  0 siblings, 1 reply; 38+ messages in thread
From: Khem Raj @ 2023-04-30  5:15 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Alexander Kanavin, openembedded-core

https://errors.yoctoproject.org/Errors/Build/163415/

On Sat, Apr 29, 2023 at 9:49 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Can I see the error please?
>
> Alex
>
> On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> its still triggering as error.
>>
>> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
>> <alex.kanavin@gmail.com> wrote:
>> >
>> > 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.
>> >
>> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
>> > ---
>> >  meta/classes-global/insane.bbclass  | 14 +++-----------
>> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
>> >  2 files changed, 15 insertions(+), 17 deletions(-)
>> >
>> > diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
>> > index ee34d5208d1..8788f58fc5b 100644
>> > --- a/meta/classes-global/insane.bbclass
>> > +++ b/meta/classes-global/insane.bbclass
>> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
>> >              # At this point, any symbol information is stripped into the debug
>> >              # package, so that is the only place we will find them.
>> >              elfpath = elfpath.replace('.debug/', '')
>> > -            allowed = (
>> > -                d.getVarFlag(
>> > -                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
>> > -                ) or ''
>> > -            ).split()
>> > -            usedapis -= set(allowed)
>> > -            if usedapis:
>> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
>> > +            if not allowed:
>> >                  msgformat = elfpath + " uses 32-bit api '%s'"
>> >                  for sym in usedapis:
>> >                      oe.qa.add_message(messages, '32bit-time', msgformat % sym)
>> >                  oe.qa.add_message(
>> >                      messages, '32bit-time',
>> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
>> > -                        d.getVar('PN'), elfpath.replace('/', '_'),
>> > -                        ' '.join(usedapis)
>> > -                    )
>> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
>> >                  )
>> >
>> >  # Check license variables
>> > diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
>> > index f3bdfba4acf..1a3399bc5e6 100644
>> > --- a/meta/conf/distro/include/time64.inc
>> > +++ b/meta/conf/distro/include/time64.inc
>> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
>> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
>> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
>> >
>> > -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
>> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
>> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
>> > -
>> > -# libpulsedsp.so is a preload-library that hooks libc functions
>> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
>> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
>> > +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-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"
>> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
>> >
>> > --
>> > 2.30.2
>> >
>> >
>> > -=-=-=-=-=-=-=-=-=-=-=-
>> > Links: You receive all messages sent to this group.
>> > View/Reply Online (#180428): https://lists.openembedded.org/g/openembedded-core/message/180428
>> > Mute This Topic: https://lists.openembedded.org/mt/98511412/1997914
>> > Group Owner: openembedded-core+owner@lists.openembedded.org
>> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
>> > -=-=-=-=-=-=-=-=-=-=-=-
>> >


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 10/11] insane.bbclass: simplify exceptions for 32 bit time API check
  2023-04-30  5:15       ` Khem Raj
@ 2023-04-30  5:34         ` Alexander Kanavin
  2023-05-01  0:23           ` Khem Raj
  0 siblings, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-30  5:34 UTC (permalink / raw)
  To: Khem Raj; +Cc: Alexander Kanavin, openembedded-core

This looks like a build with v1 version of the patchset, and not v2.
Pseudo has been specifically excluded from the qa check in v2 for
instance.

Alex

On Sun, 30 Apr 2023 at 07:16, Khem Raj <raj.khem@gmail.com> wrote:
>
> https://errors.yoctoproject.org/Errors/Build/163415/
>
> On Sat, Apr 29, 2023 at 9:49 PM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Can I see the error please?
> >
> > Alex
> >
> > On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:
> >>
> >> its still triggering as error.
> >>
> >> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
> >> <alex.kanavin@gmail.com> wrote:
> >> >
> >> > 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.
> >> >
> >> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> >> > ---
> >> >  meta/classes-global/insane.bbclass  | 14 +++-----------
> >> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
> >> >  2 files changed, 15 insertions(+), 17 deletions(-)
> >> >
> >> > diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> >> > index ee34d5208d1..8788f58fc5b 100644
> >> > --- a/meta/classes-global/insane.bbclass
> >> > +++ b/meta/classes-global/insane.bbclass
> >> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
> >> >              # At this point, any symbol information is stripped into the debug
> >> >              # package, so that is the only place we will find them.
> >> >              elfpath = elfpath.replace('.debug/', '')
> >> > -            allowed = (
> >> > -                d.getVarFlag(
> >> > -                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
> >> > -                ) or ''
> >> > -            ).split()
> >> > -            usedapis -= set(allowed)
> >> > -            if usedapis:
> >> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
> >> > +            if not allowed:
> >> >                  msgformat = elfpath + " uses 32-bit api '%s'"
> >> >                  for sym in usedapis:
> >> >                      oe.qa.add_message(messages, '32bit-time', msgformat % sym)
> >> >                  oe.qa.add_message(
> >> >                      messages, '32bit-time',
> >> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
> >> > -                        d.getVar('PN'), elfpath.replace('/', '_'),
> >> > -                        ' '.join(usedapis)
> >> > -                    )
> >> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
> >> >                  )
> >> >
> >> >  # Check license variables
> >> > diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
> >> > index f3bdfba4acf..1a3399bc5e6 100644
> >> > --- a/meta/conf/distro/include/time64.inc
> >> > +++ b/meta/conf/distro/include/time64.inc
> >> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
> >> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
> >> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
> >> >
> >> > -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
> >> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
> >> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
> >> > -
> >> > -# libpulsedsp.so is a preload-library that hooks libc functions
> >> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
> >> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
> >> > +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-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"
> >> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
> >> >
> >> > --
> >> > 2.30.2
> >> >
> >> >
> >> > -=-=-=-=-=-=-=-=-=-=-=-
> >> > Links: You receive all messages sent to this group.
> >> > View/Reply Online (#180428): https://lists.openembedded.org/g/openembedded-core/message/180428
> >> > Mute This Topic: https://lists.openembedded.org/mt/98511412/1997914
> >> > Group Owner: openembedded-core+owner@lists.openembedded.org
> >> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> >> > -=-=-=-=-=-=-=-=-=-=-=-
> >> >


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-04-29 19:27           ` Khem Raj
@ 2023-04-30  5:42             ` Alexander Kanavin
  2023-05-02  8:41             ` Alexander Kanavin
  1 sibling, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-04-30  5:42 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-core, Alexander Kanavin

On Sat, 29 Apr 2023 at 21:28, Khem Raj <raj.khem@gmail.com> wrote:
> I wonder if uninative version of glibc should be first built with this
> change if we really want to pursue it.

I'll take a look at the other issues separately, just wanted to
respond here straight away - why would we do that? This change is
intended only for the target builds, and uninative glibc should retain
the broadest possible compatibility with host kernels. It is
controlled via SDK_OLDEST_KERNEL, which is set to 3.2.0 and will
remain so.

Alex


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 10/11] insane.bbclass: simplify exceptions for 32 bit time API check
  2023-04-30  5:34         ` Alexander Kanavin
@ 2023-05-01  0:23           ` Khem Raj
  2023-05-01  1:34             ` Alexander Kanavin
       [not found]             ` <175AE10D5735A1BE.29517@lists.openembedded.org>
  0 siblings, 2 replies; 38+ messages in thread
From: Khem Raj @ 2023-05-01  0:23 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Alexander Kanavin, openembedded-core

here is latest - https://errors.yoctoproject.org/Errors/Build/163426/
I have tree rebased on alex'es master-next here

https://git.yoctoproject.org/poky-contrib/log/?h=yoe/mut

On Sat, Apr 29, 2023 at 10:35 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> This looks like a build with v1 version of the patchset, and not v2.
> Pseudo has been specifically excluded from the qa check in v2 for
> instance.
>
> Alex
>
> On Sun, 30 Apr 2023 at 07:16, Khem Raj <raj.khem@gmail.com> wrote:
> >
> > https://errors.yoctoproject.org/Errors/Build/163415/
> >
> > On Sat, Apr 29, 2023 at 9:49 PM Alexander Kanavin
> > <alex.kanavin@gmail.com> wrote:
> > >
> > > Can I see the error please?
> > >
> > > Alex
> > >
> > > On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:
> > >>
> > >> its still triggering as error.
> > >>
> > >> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
> > >> <alex.kanavin@gmail.com> wrote:
> > >> >
> > >> > 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.
> > >> >
> > >> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > >> > ---
> > >> >  meta/classes-global/insane.bbclass  | 14 +++-----------
> > >> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
> > >> >  2 files changed, 15 insertions(+), 17 deletions(-)
> > >> >
> > >> > diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> > >> > index ee34d5208d1..8788f58fc5b 100644
> > >> > --- a/meta/classes-global/insane.bbclass
> > >> > +++ b/meta/classes-global/insane.bbclass
> > >> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
> > >> >              # At this point, any symbol information is stripped into the debug
> > >> >              # package, so that is the only place we will find them.
> > >> >              elfpath = elfpath.replace('.debug/', '')
> > >> > -            allowed = (
> > >> > -                d.getVarFlag(
> > >> > -                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
> > >> > -                ) or ''
> > >> > -            ).split()
> > >> > -            usedapis -= set(allowed)
> > >> > -            if usedapis:
> > >> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
> > >> > +            if not allowed:
> > >> >                  msgformat = elfpath + " uses 32-bit api '%s'"
> > >> >                  for sym in usedapis:
> > >> >                      oe.qa.add_message(messages, '32bit-time', msgformat % sym)
> > >> >                  oe.qa.add_message(
> > >> >                      messages, '32bit-time',
> > >> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
> > >> > -                        d.getVar('PN'), elfpath.replace('/', '_'),
> > >> > -                        ' '.join(usedapis)
> > >> > -                    )
> > >> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
> > >> >                  )
> > >> >
> > >> >  # Check license variables
> > >> > diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
> > >> > index f3bdfba4acf..1a3399bc5e6 100644
> > >> > --- a/meta/conf/distro/include/time64.inc
> > >> > +++ b/meta/conf/distro/include/time64.inc
> > >> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
> > >> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
> > >> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
> > >> >
> > >> > -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
> > >> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
> > >> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
> > >> > -
> > >> > -# libpulsedsp.so is a preload-library that hooks libc functions
> > >> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
> > >> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
> > >> > +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-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"
> > >> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
> > >> >
> > >> > --
> > >> > 2.30.2
> > >> >
> > >> >
> > >> > -=-=-=-=-=-=-=-=-=-=-=-
> > >> > Links: You receive all messages sent to this group.
> > >> > View/Reply Online (#180428): https://lists.openembedded.org/g/openembedded-core/message/180428
> > >> > Mute This Topic: https://lists.openembedded.org/mt/98511412/1997914
> > >> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > >> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> > >> > -=-=-=-=-=-=-=-=-=-=-=-
> > >> >


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 10/11] insane.bbclass: simplify exceptions for 32 bit time API check
  2023-05-01  0:23           ` Khem Raj
@ 2023-05-01  1:34             ` Alexander Kanavin
       [not found]             ` <175AE10D5735A1BE.29517@lists.openembedded.org>
  1 sibling, 0 replies; 38+ messages in thread
From: Alexander Kanavin @ 2023-05-01  1:34 UTC (permalink / raw)
  To: Khem Raj; +Cc: Alexander Kanavin, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 6398 bytes --]

So how would I replicate these? What build is actually being run?

Alex

On Mon 1. May 2023 at 2.23, Khem Raj <raj.khem@gmail.com> wrote:

> here is latest - https://errors.yoctoproject.org/Errors/Build/163426/
> I have tree rebased on alex'es master-next here
>
> https://git.yoctoproject.org/poky-contrib/log/?h=yoe/mut
>
> On Sat, Apr 29, 2023 at 10:35 PM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > This looks like a build with v1 version of the patchset, and not v2.
> > Pseudo has been specifically excluded from the qa check in v2 for
> > instance.
> >
> > Alex
> >
> > On Sun, 30 Apr 2023 at 07:16, Khem Raj <raj.khem@gmail.com> wrote:
> > >
> > > https://errors.yoctoproject.org/Errors/Build/163415/
> > >
> > > On Sat, Apr 29, 2023 at 9:49 PM Alexander Kanavin
> > > <alex.kanavin@gmail.com> wrote:
> > > >
> > > > Can I see the error please?
> > > >
> > > > Alex
> > > >
> > > > On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:
> > > >>
> > > >> its still triggering as error.
> > > >>
> > > >> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
> > > >> <alex.kanavin@gmail.com> wrote:
> > > >> >
> > > >> > 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.
> > > >> >
> > > >> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > > >> > ---
> > > >> >  meta/classes-global/insane.bbclass  | 14 +++-----------
> > > >> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
> > > >> >  2 files changed, 15 insertions(+), 17 deletions(-)
> > > >> >
> > > >> > diff --git a/meta/classes-global/insane.bbclass
> b/meta/classes-global/insane.bbclass
> > > >> > index ee34d5208d1..8788f58fc5b 100644
> > > >> > --- a/meta/classes-global/insane.bbclass
> > > >> > +++ b/meta/classes-global/insane.bbclass
> > > >> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename,
> d, elf, messages):
> > > >> >              # At this point, any symbol information is stripped
> into the debug
> > > >> >              # package, so that is the only place we will find
> them.
> > > >> >              elfpath = elfpath.replace('.debug/', '')
> > > >> > -            allowed = (
> > > >> > -                d.getVarFlag(
> > > >> > -                    'INSANE_SKIP:' + d.getVar('PN'),
> elfpath.replace('/', '_')
> > > >> > -                ) or ''
> > > >> > -            ).split()
> > > >> > -            usedapis -= set(allowed)
> > > >> > -            if usedapis:
> > > >> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP')
> or '').split()
> > > >> > +            if not allowed:
> > > >> >                  msgformat = elfpath + " uses 32-bit api '%s'"
> > > >> >                  for sym in usedapis:
> > > >> >                      oe.qa.add_message(messages, '32bit-time',
> msgformat % sym)
> > > >> >                  oe.qa.add_message(
> > > >> >                      messages, '32bit-time',
> > > >> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
> > > >> > -                        d.getVar('PN'), elfpath.replace('/',
> '_'),
> > > >> > -                        ' '.join(usedapis)
> > > >> > -                    )
> > > >> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
> > > >> >                  )
> > > >> >
> > > >> >  # Check license variables
> > > >> > diff --git a/meta/conf/distro/include/time64.inc
> b/meta/conf/distro/include/time64.inc
> > > >> > index f3bdfba4acf..1a3399bc5e6 100644
> > > >> > --- a/meta/conf/distro/include/time64.inc
> > > >> > +++ b/meta/conf/distro/include/time64.inc
> > > >> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
> > > >> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
> > > >> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
> > > >> >
> > > >> >
> -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so]
> = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64
> nanosleep prctl recvmsg sendmsg setsockopt stat64"
> > > >> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64
> prctl stat64 clock_gettime"
> > > >> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl
> lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm
> fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
> > > >> > -
> > > >> > -# libpulsedsp.so is a preload-library that hooks libc functions
> > > >> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] =
> "setsockopt fcntl"
> > > >> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
> > > >> > +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-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"
> > > >> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
> > > >> >
> > > >> > --
> > > >> > 2.30.2
> > > >> >
> > > >> >
> > > >> > -=-=-=-=-=-=-=-=-=-=-=-
> > > >> > Links: You receive all messages sent to this group.
> > > >> > View/Reply Online (#180428):
> https://lists.openembedded.org/g/openembedded-core/message/180428
> > > >> > Mute This Topic:
> https://lists.openembedded.org/mt/98511412/1997914
> > > >> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > > >> > Unsubscribe:
> https://lists.openembedded.org/g/openembedded-core/unsub [
> raj.khem@gmail.com]
> > > >> > -=-=-=-=-=-=-=-=-=-=-=-
> > > >> >
>

[-- Attachment #2: Type: text/html, Size: 10080 bytes --]

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 10/11] insane.bbclass: simplify exceptions for 32 bit time API check
       [not found]             ` <175AE10D5735A1BE.29517@lists.openembedded.org>
@ 2023-05-01  8:35               ` Alexander Kanavin
  2023-05-01 19:20                 ` Khem Raj
  0 siblings, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2023-05-01  8:35 UTC (permalink / raw)
  To: alex.kanavin; +Cc: Khem Raj, Alexander Kanavin, openembedded-core

For example, pseudo is still there even though it's explicitly
excluded from the check in the new version of the patchset. Something
doesn't compute here.

Alex

On Mon, 1 May 2023 at 03:34, Alexander Kanavin via
lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org>
wrote:
>
> So how would I replicate these? What build is actually being run?
>
> Alex
>
> On Mon 1. May 2023 at 2.23, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> here is latest - https://errors.yoctoproject.org/Errors/Build/163426/
>> I have tree rebased on alex'es master-next here
>>
>> https://git.yoctoproject.org/poky-contrib/log/?h=yoe/mut
>>
>> On Sat, Apr 29, 2023 at 10:35 PM Alexander Kanavin
>> <alex.kanavin@gmail.com> wrote:
>> >
>> > This looks like a build with v1 version of the patchset, and not v2.
>> > Pseudo has been specifically excluded from the qa check in v2 for
>> > instance.
>> >
>> > Alex
>> >
>> > On Sun, 30 Apr 2023 at 07:16, Khem Raj <raj.khem@gmail.com> wrote:
>> > >
>> > > https://errors.yoctoproject.org/Errors/Build/163415/
>> > >
>> > > On Sat, Apr 29, 2023 at 9:49 PM Alexander Kanavin
>> > > <alex.kanavin@gmail.com> wrote:
>> > > >
>> > > > Can I see the error please?
>> > > >
>> > > > Alex
>> > > >
>> > > > On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:
>> > > >>
>> > > >> its still triggering as error.
>> > > >>
>> > > >> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
>> > > >> <alex.kanavin@gmail.com> wrote:
>> > > >> >
>> > > >> > 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.
>> > > >> >
>> > > >> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
>> > > >> > ---
>> > > >> >  meta/classes-global/insane.bbclass  | 14 +++-----------
>> > > >> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
>> > > >> >  2 files changed, 15 insertions(+), 17 deletions(-)
>> > > >> >
>> > > >> > diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
>> > > >> > index ee34d5208d1..8788f58fc5b 100644
>> > > >> > --- a/meta/classes-global/insane.bbclass
>> > > >> > +++ b/meta/classes-global/insane.bbclass
>> > > >> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
>> > > >> >              # At this point, any symbol information is stripped into the debug
>> > > >> >              # package, so that is the only place we will find them.
>> > > >> >              elfpath = elfpath.replace('.debug/', '')
>> > > >> > -            allowed = (
>> > > >> > -                d.getVarFlag(
>> > > >> > -                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
>> > > >> > -                ) or ''
>> > > >> > -            ).split()
>> > > >> > -            usedapis -= set(allowed)
>> > > >> > -            if usedapis:
>> > > >> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
>> > > >> > +            if not allowed:
>> > > >> >                  msgformat = elfpath + " uses 32-bit api '%s'"
>> > > >> >                  for sym in usedapis:
>> > > >> >                      oe.qa.add_message(messages, '32bit-time', msgformat % sym)
>> > > >> >                  oe.qa.add_message(
>> > > >> >                      messages, '32bit-time',
>> > > >> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
>> > > >> > -                        d.getVar('PN'), elfpath.replace('/', '_'),
>> > > >> > -                        ' '.join(usedapis)
>> > > >> > -                    )
>> > > >> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
>> > > >> >                  )
>> > > >> >
>> > > >> >  # Check license variables
>> > > >> > diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
>> > > >> > index f3bdfba4acf..1a3399bc5e6 100644
>> > > >> > --- a/meta/conf/distro/include/time64.inc
>> > > >> > +++ b/meta/conf/distro/include/time64.inc
>> > > >> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
>> > > >> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
>> > > >> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
>> > > >> >
>> > > >> > -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
>> > > >> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
>> > > >> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
>> > > >> > -
>> > > >> > -# libpulsedsp.so is a preload-library that hooks libc functions
>> > > >> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
>> > > >> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
>> > > >> > +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-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"
>> > > >> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
>> > > >> >
>> > > >> > --
>> > > >> > 2.30.2
>> > > >> >
>> > > >> >
>> > > >> >
>> > > >> >
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#180583): https://lists.openembedded.org/g/openembedded-core/message/180583
> Mute This Topic: https://lists.openembedded.org/mt/98511412/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 10/11] insane.bbclass: simplify exceptions for 32 bit time API check
  2023-05-01  8:35               ` Alexander Kanavin
@ 2023-05-01 19:20                 ` Khem Raj
  0 siblings, 0 replies; 38+ messages in thread
From: Khem Raj @ 2023-05-01 19:20 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Alexander Kanavin, openembedded-core

On Mon, May 1, 2023 at 1:35 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> For example, pseudo is still there even though it's explicitly
> excluded from the check in the new version of the patchset. Something
> doesn't compute here.

yeah, it was a blip on my automation. poky repository had not been
pruned for many months, and somehow it was failing to rebase due to
diverged heads
so project was not updating the branch to latest yoe/mut. I have fixed
it now and lets see what happens.

>
> Alex
>
> On Mon, 1 May 2023 at 03:34, Alexander Kanavin via
> lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org>
> wrote:
> >
> > So how would I replicate these? What build is actually being run?
> >
> > Alex
> >
> > On Mon 1. May 2023 at 2.23, Khem Raj <raj.khem@gmail.com> wrote:
> >>
> >> here is latest - https://errors.yoctoproject.org/Errors/Build/163426/
> >> I have tree rebased on alex'es master-next here
> >>
> >> https://git.yoctoproject.org/poky-contrib/log/?h=yoe/mut
> >>
> >> On Sat, Apr 29, 2023 at 10:35 PM Alexander Kanavin
> >> <alex.kanavin@gmail.com> wrote:
> >> >
> >> > This looks like a build with v1 version of the patchset, and not v2.
> >> > Pseudo has been specifically excluded from the qa check in v2 for
> >> > instance.
> >> >
> >> > Alex
> >> >
> >> > On Sun, 30 Apr 2023 at 07:16, Khem Raj <raj.khem@gmail.com> wrote:
> >> > >
> >> > > https://errors.yoctoproject.org/Errors/Build/163415/
> >> > >
> >> > > On Sat, Apr 29, 2023 at 9:49 PM Alexander Kanavin
> >> > > <alex.kanavin@gmail.com> wrote:
> >> > > >
> >> > > > Can I see the error please?
> >> > > >
> >> > > > Alex
> >> > > >
> >> > > > On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:
> >> > > >>
> >> > > >> its still triggering as error.
> >> > > >>
> >> > > >> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
> >> > > >> <alex.kanavin@gmail.com> wrote:
> >> > > >> >
> >> > > >> > 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.
> >> > > >> >
> >> > > >> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> >> > > >> > ---
> >> > > >> >  meta/classes-global/insane.bbclass  | 14 +++-----------
> >> > > >> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
> >> > > >> >  2 files changed, 15 insertions(+), 17 deletions(-)
> >> > > >> >
> >> > > >> > diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> >> > > >> > index ee34d5208d1..8788f58fc5b 100644
> >> > > >> > --- a/meta/classes-global/insane.bbclass
> >> > > >> > +++ b/meta/classes-global/insane.bbclass
> >> > > >> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
> >> > > >> >              # At this point, any symbol information is stripped into the debug
> >> > > >> >              # package, so that is the only place we will find them.
> >> > > >> >              elfpath = elfpath.replace('.debug/', '')
> >> > > >> > -            allowed = (
> >> > > >> > -                d.getVarFlag(
> >> > > >> > -                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
> >> > > >> > -                ) or ''
> >> > > >> > -            ).split()
> >> > > >> > -            usedapis -= set(allowed)
> >> > > >> > -            if usedapis:
> >> > > >> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
> >> > > >> > +            if not allowed:
> >> > > >> >                  msgformat = elfpath + " uses 32-bit api '%s'"
> >> > > >> >                  for sym in usedapis:
> >> > > >> >                      oe.qa.add_message(messages, '32bit-time', msgformat % sym)
> >> > > >> >                  oe.qa.add_message(
> >> > > >> >                      messages, '32bit-time',
> >> > > >> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
> >> > > >> > -                        d.getVar('PN'), elfpath.replace('/', '_'),
> >> > > >> > -                        ' '.join(usedapis)
> >> > > >> > -                    )
> >> > > >> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
> >> > > >> >                  )
> >> > > >> >
> >> > > >> >  # Check license variables
> >> > > >> > diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
> >> > > >> > index f3bdfba4acf..1a3399bc5e6 100644
> >> > > >> > --- a/meta/conf/distro/include/time64.inc
> >> > > >> > +++ b/meta/conf/distro/include/time64.inc
> >> > > >> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
> >> > > >> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
> >> > > >> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
> >> > > >> >
> >> > > >> > -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
> >> > > >> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
> >> > > >> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
> >> > > >> > -
> >> > > >> > -# libpulsedsp.so is a preload-library that hooks libc functions
> >> > > >> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
> >> > > >> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
> >> > > >> > +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-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"
> >> > > >> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
> >> > > >> >
> >> > > >> > --
> >> > > >> > 2.30.2
> >> > > >> >
> >> > > >> >
> >> > > >> >
> >> > > >> >
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#180583): https://lists.openembedded.org/g/openembedded-core/message/180583
> > Mute This Topic: https://lists.openembedded.org/mt/98511412/1686489
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-04-29 19:27           ` Khem Raj
  2023-04-30  5:42             ` Alexander Kanavin
@ 2023-05-02  8:41             ` Alexander Kanavin
  2023-05-02 15:01               ` Khem Raj
  1 sibling, 1 reply; 38+ messages in thread
From: Alexander Kanavin @ 2023-05-02  8:41 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-core, Alexander Kanavin

On Sat, 29 Apr 2023 at 21:28, Khem Raj <raj.khem@gmail.com> wrote:
> I am also seing some segfaults in qemu usermode runs
>
> | /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/qemuwrapper:
> line 2: 1592564 Segmentation fault      (core dumped) PSEUDO_UNLOAD=1
> qemu-x86_64 -r 5.15 -cpu core2duo -L
> /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot
> -E LD_LIBRARY_PATH=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot/usr/lib:/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot/usr/lib
> "$@"
>
> this happens when building libclc from meta-clang

Does not reproduce here (qemux86-64/poky/musl/gcc/meta-clang master).

> I also saw random build failures in qtbase which is perhaps unrelated
> but could be this one too

This needs to be investigated on your side.

> Third issue is https://errors.yoctoproject.org/Errors/Details/701889/

This is from a misconfigured CI on your side and the error is

"clang-16: error: unable to execute command: Segmentation fault (core dumped)
clang-16: error: linker command failed due to signal (use -v to see invocation)"

which may be unrelated. Is it still happening, and is it going away if
this patchset is removed?

Alex


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-05-02  8:41             ` Alexander Kanavin
@ 2023-05-02 15:01               ` Khem Raj
  2023-05-04  0:36                 ` Khem Raj
  0 siblings, 1 reply; 38+ messages in thread
From: Khem Raj @ 2023-05-02 15:01 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: openembedded-core, Alexander Kanavin

On Tue, May 2, 2023 at 1:42 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> On Sat, 29 Apr 2023 at 21:28, Khem Raj <raj.khem@gmail.com> wrote:
> > I am also seing some segfaults in qemu usermode runs
> >
> > | /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/qemuwrapper:
> > line 2: 1592564 Segmentation fault      (core dumped) PSEUDO_UNLOAD=1
> > qemu-x86_64 -r 5.15 -cpu core2duo -L
> > /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot
> > -E LD_LIBRARY_PATH=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot/usr/lib:/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot/usr/lib
> > "$@"
> >
> > this happens when building libclc from meta-clang
>
> Does not reproduce here (qemux86-64/poky/musl/gcc/meta-clang master).
>
> > I also saw random build failures in qtbase which is perhaps unrelated
> > but could be this one too
>
> This needs to be investigated on your side.

I see that it is host dependent, it works on debian bullseye but fails
with latest archlinux
since archlinux is rolling and uptodate it just a matter of time when
it starts showing up
with one of time based distro releases like fedora or others.

>
> > Third issue is https://errors.yoctoproject.org/Errors/Details/701889/
>
> This is from a misconfigured CI on your side and the error is
>
> "clang-16: error: unable to execute command: Segmentation fault (core dumped)
> clang-16: error: linker command failed due to signal (use -v to see invocation)"
>
> which may be unrelated. Is it still happening, and is it going away if
> this patchset is removed?

this have not been tried yet explicitly, I can give it a shot if its
not host specific

>
> Alex


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-05-02 15:01               ` Khem Raj
@ 2023-05-04  0:36                 ` Khem Raj
  2023-05-04  1:14                   ` Khem Raj
  0 siblings, 1 reply; 38+ messages in thread
From: Khem Raj @ 2023-05-04  0:36 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: openembedded-core, Alexander Kanavin

On Tue, May 2, 2023 at 8:01 AM Khem Raj <raj.khem@gmail.com> wrote:
>
> On Tue, May 2, 2023 at 1:42 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> >
> > On Sat, 29 Apr 2023 at 21:28, Khem Raj <raj.khem@gmail.com> wrote:
> > > I am also seing some segfaults in qemu usermode runs
> > >
> > > | /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/qemuwrapper:
> > > line 2: 1592564 Segmentation fault      (core dumped) PSEUDO_UNLOAD=1
> > > qemu-x86_64 -r 5.15 -cpu core2duo -L
> > > /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot
> > > -E LD_LIBRARY_PATH=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot/usr/lib:/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot/usr/lib
> > > "$@"
> > >
> > > this happens when building libclc from meta-clang
> >
> > Does not reproduce here (qemux86-64/poky/musl/gcc/meta-clang master).
> >

On to this one next. I think it will be good to understand this.

> > > I also saw random build failures in qtbase which is perhaps unrelated
> > > but could be this one too
> >
> > This needs to be investigated on your side.
>
> I see that it is host dependent, it works on debian bullseye but fails
> with latest archlinux
> since archlinux is rolling and uptodate it just a matter of time when
> it starts showing up
> with one of time based distro releases like fedora or others.
>
> >
> > > Third issue is https://errors.yoctoproject.org/Errors/Details/701889/
> >
> > This is from a misconfigured CI on your side and the error is
> >
> > "clang-16: error: unable to execute command: Segmentation fault (core dumped)
> > clang-16: error: linker command failed due to signal (use -v to see invocation)"
> >

This seems to be not related to this. which is good news.

> > which may be unrelated. Is it still happening, and is it going away if
> > this patchset is removed?
>
> this have not been tried yet explicitly, I can give it a shot if its
> not host specific
>
> >
> > Alex


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-05-04  0:36                 ` Khem Raj
@ 2023-05-04  1:14                   ` Khem Raj
  2023-05-04  3:37                     ` Khem Raj
  0 siblings, 1 reply; 38+ messages in thread
From: Khem Raj @ 2023-05-04  1:14 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: openembedded-core, Alexander Kanavin

On Wed, May 3, 2023 at 5:36 PM Khem Raj <raj.khem@gmail.com> wrote:
>
> On Tue, May 2, 2023 at 8:01 AM Khem Raj <raj.khem@gmail.com> wrote:
> >
> > On Tue, May 2, 2023 at 1:42 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> > >
> > > On Sat, 29 Apr 2023 at 21:28, Khem Raj <raj.khem@gmail.com> wrote:
> > > > I am also seing some segfaults in qemu usermode runs
> > > >
> > > > | /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/qemuwrapper:
> > > > line 2: 1592564 Segmentation fault      (core dumped) PSEUDO_UNLOAD=1
> > > > qemu-x86_64 -r 5.15 -cpu core2duo -L
> > > > /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot
> > > > -E LD_LIBRARY_PATH=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot/usr/lib:/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot/usr/lib
> > > > "$@"
> > > >
> > > > this happens when building libclc from meta-clang
> > >
> > > Does not reproduce here (qemux86-64/poky/musl/gcc/meta-clang master).
> > >
>
> On to this one next. I think it will be good to understand this.

I built it on debian container and it does not segfault, Then I tried
to build it on archlinux ( just recompiling libclc ) and it does not
segfault either which means its some dependency ( maybe a library )
which gets compiled differently when compiled on archlinux and causes
qemu to segfault. I will do a full scratch build on archlinux and see
if it can be reproduced again.

>
> > > > I also saw random build failures in qtbase which is perhaps unrelated
> > > > but could be this one too
> > >
> > > This needs to be investigated on your side.
> >
> > I see that it is host dependent, it works on debian bullseye but fails
> > with latest archlinux
> > since archlinux is rolling and uptodate it just a matter of time when
> > it starts showing up
> > with one of time based distro releases like fedora or others.
> >
> > >
> > > > Third issue is https://errors.yoctoproject.org/Errors/Details/701889/
> > >
> > > This is from a misconfigured CI on your side and the error is
> > >
> > > "clang-16: error: unable to execute command: Segmentation fault (core dumped)
> > > clang-16: error: linker command failed due to signal (use -v to see invocation)"
> > >
>
> This seems to be not related to this. which is good news.
>
> > > which may be unrelated. Is it still happening, and is it going away if
> > > this patchset is removed?
> >
> > this have not been tried yet explicitly, I can give it a shot if its
> > not host specific
> >
> > >
> > > Alex


^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [OE-core] [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15
  2023-05-04  1:14                   ` Khem Raj
@ 2023-05-04  3:37                     ` Khem Raj
  0 siblings, 0 replies; 38+ messages in thread
From: Khem Raj @ 2023-05-04  3:37 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: openembedded-core, Alexander Kanavin

On Wed, May 3, 2023 at 6:14 PM Khem Raj <raj.khem@gmail.com> wrote:
>
> On Wed, May 3, 2023 at 5:36 PM Khem Raj <raj.khem@gmail.com> wrote:
> >
> > On Tue, May 2, 2023 at 8:01 AM Khem Raj <raj.khem@gmail.com> wrote:
> > >
> > > On Tue, May 2, 2023 at 1:42 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> > > >
> > > > On Sat, 29 Apr 2023 at 21:28, Khem Raj <raj.khem@gmail.com> wrote:
> > > > > I am also seing some segfaults in qemu usermode runs
> > > > >
> > > > > | /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/qemuwrapper:
> > > > > line 2: 1592564 Segmentation fault      (core dumped) PSEUDO_UNLOAD=1
> > > > > qemu-x86_64 -r 5.15 -cpu core2duo -L
> > > > > /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot
> > > > > -E LD_LIBRARY_PATH=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot/usr/lib:/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libclc/16.0.1-r0/recipe-sysroot/usr/lib
> > > > > "$@"
> > > > >
> > > > > this happens when building libclc from meta-clang
> > > >
> > > > Does not reproduce here (qemux86-64/poky/musl/gcc/meta-clang master).
> > > >
> >
> > On to this one next. I think it will be good to understand this.
>
> I built it on debian container and it does not segfault, Then I tried
> to build it on archlinux ( just recompiling libclc ) and it does not
> segfault either which means its some dependency ( maybe a library )
> which gets compiled differently when compiled on archlinux and causes
> qemu to segfault. I will do a full scratch build on archlinux and see
> if it can be reproduced again.

It worked with scratch build, however its not same archlinux as last
week. GCC got
upgraded to 13.x and i had to disable uninative so it might still be
hidden there for now
lets ignore it

>
> >
> > > > > I also saw random build failures in qtbase which is perhaps unrelated
> > > > > but could be this one too
> > > >
> > > > This needs to be investigated on your side.
> > >
> > > I see that it is host dependent, it works on debian bullseye but fails
> > > with latest archlinux
> > > since archlinux is rolling and uptodate it just a matter of time when
> > > it starts showing up
> > > with one of time based distro releases like fedora or others.
> > >
> > > >
> > > > > Third issue is https://errors.yoctoproject.org/Errors/Details/701889/
> > > >
> > > > This is from a misconfigured CI on your side and the error is
> > > >
> > > > "clang-16: error: unable to execute command: Segmentation fault (core dumped)
> > > > clang-16: error: linker command failed due to signal (use -v to see invocation)"
> > > >
> >
> > This seems to be not related to this. which is good news.
> >
> > > > which may be unrelated. Is it still happening, and is it going away if
> > > > this patchset is removed?
> > >
> > > this have not been tried yet explicitly, I can give it a shot if its
> > > not host specific
> > >
> > > >
> > > > Alex


^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2023-05-04  3:37 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-26  9:50 [PATCH 01/11] binutils: backport a patch to address failures when time64.inc is in use Alexander Kanavin
2023-04-26  9:50 ` [PATCH 02/11] time64.inc: add glibc-testsuite to 'special cases' Alexander Kanavin
2023-04-26  9:50 ` [PATCH 03/11] strace: exclude from x86 (32 bit) ptests Alexander Kanavin
2023-04-26  9:50 ` [PATCH 04/11] lttng-tools: " Alexander Kanavin
2023-04-26  9:50 ` [PATCH 05/11] bitbake.conf: set minimum required kernel to 5.15 Alexander Kanavin
2023-04-27  7:03   ` [OE-core] " Khem Raj
2023-04-27  7:20     ` Alexander Kanavin
2023-04-27  7:30       ` Chen, Qi
2023-04-27  7:31         ` Alexander Kanavin
     [not found]         ` <1759BA367C1A63D1.32698@lists.openembedded.org>
2023-04-27  7:39           ` Alexander Kanavin
2023-04-27  7:48       ` Khem Raj
2023-04-27  7:54         ` Alexander Kanavin
2023-04-29 19:27           ` Khem Raj
2023-04-30  5:42             ` Alexander Kanavin
2023-05-02  8:41             ` Alexander Kanavin
2023-05-02 15:01               ` Khem Raj
2023-05-04  0:36                 ` Khem Raj
2023-05-04  1:14                   ` Khem Raj
2023-05-04  3:37                     ` Khem Raj
2023-04-26  9:50 ` [PATCH 06/11] python3-pytest: add missing tomllib runtime dependency Alexander Kanavin
2023-04-26  9:50 ` [PATCH 07/11] time64.inc: add a comment about how to simulate Y2038 Alexander Kanavin
2023-04-26  9:50 ` [PATCH 08/11] oeqa/sdk/assimp: run only when zlib is in the SDK Alexander Kanavin
2023-04-26  9:50 ` [PATCH 09/11] defaultsetup: Enable largefile and 64bit time_t support systemwide Alexander Kanavin
2023-04-26  9:50 ` [PATCH 10/11] insane.bbclass: simplify exceptions for 32 bit time API check Alexander Kanavin
2023-04-29 19:23   ` [OE-core] " Khem Raj
2023-04-30  4:49     ` Alexander Kanavin
2023-04-30  5:15       ` Khem Raj
2023-04-30  5:34         ` Alexander Kanavin
2023-05-01  0:23           ` Khem Raj
2023-05-01  1:34             ` Alexander Kanavin
     [not found]             ` <175AE10D5735A1BE.29517@lists.openembedded.org>
2023-05-01  8:35               ` Alexander Kanavin
2023-05-01 19:20                 ` Khem Raj
2023-04-26  9:50 ` [PATCH 11/11] insane.bbclass: enable 32 bit time API check on affected architectures Alexander Kanavin
2023-04-26 21:18   ` [OE-core] " Luca Ceresoli
2023-04-27  7:30     ` Alexander Kanavin
2023-04-28  3:20   ` Khem Raj
2023-04-28  7:05     ` Alexander Kanavin
     [not found]     ` <175A0763DEAA3E73.26969@lists.openembedded.org>
2023-04-28  7:57       ` Alexander Kanavin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.