Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/7] riscv64 ptest fixes
@ 2026-10-16 20:45 OOHehir
  2026-10-16 20:45 ` [PATCH 1/7] strace: skip qual_fault-syscall.test on riscv64 OOHehir
                   ` (7 more replies)
  0 siblings, 8 replies; 19+ messages in thread
From: OOHehir @ 2026-10-16 20:45 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, OOHehir

This series re-enables the strace, python3 & tcl8 ptests on riscv64 & fixes the
three riscv64 failures that are not timeouts: lttng-tools, tcl/tcl8 &
python3-numpy. Patches 2, 3 & 6 only edit the riscv64 lists in
ptest-packagelists.inc; patch 1 skips one slow strace test on riscv64 &
patches 4, 5 & 7 carry the fixes.

I sent these results to Khem Raj & Trevor Gamblin before posting. Trevor
suggested profiling the per-test durations under QEMU first; patch 1 skips
the slowest test found (see "Per-test durations" below).

Where to look:
- Patch 7 works round a confirmed GCC 15+ bug:
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127908
  GCC moves the float-to-integer conversion above the range check in its
  inline ceil/floor/trunc, so ceil(+-inf) raises FE_INVALID.
  -fno-fp-int-builtin-inexact makes GCC call libm instead.
- Patch 4 carries an lttng-tools fix under review upstream:
  https://review.lttng.org/c/lttng-tools/+/18903
- Patch 5 skips binary-40.3, which expects a negative float NaN to stay negative
  when widened to double. RISC-V returns the positive canonical NaN, as the ISA
  requires. Reported on an existing MIPS ticket:
  https://core.tcl-lang.org/tcl/tktview/bf029ced86

Testing:
- qemuriscv64: testimage of core-image-ptest-<pkg> with the autobuilder's
  PTEST_RUNNER_TIMEOUT of 450 s (a test is killed after 450 s without output),
  on my machine, a Xeon E5-1680 v3 from 2014 (a plough-horse rather than a
  stallion). An autobuilder worker will be faster per core, but busier.
- VisionFive 2 v1.3B (JH7110, 4x U74, 8 GB): each package in
  core-image-minimal, ptest-runner -t 1800.

  package  qemuriscv64                  VisionFive 2
  strace   1081 pass, 0 fail, 24 min    1212 pass, 0 fail
  python3  44546 pass, 0 fail, 71 min   44698 pass, 0 fail
  tcl8     152 pass, 0 fail, 10 min     only failure was binary-40.3

Per-test durations under QEMU (TCG), as the longest time without output is
what the 450 s limit measures:
- strace (make -j4, every output line timestamped): the longest gap is 283 s,
  ending with qual_fault-syscall.test, which patch 1 skips on riscv64. Next are
  filtering_syscall-syntax.test (139 s), trace_creds.gen.test (90 s) &
  strace--tips-full.test (65 s); the rest are under 50 s.
- python3: regrtest -j4 prints a progress line at least every 30 s, so the
  longest gap in the full run is around 30 s. Its slowest modules
  (test_concurrent_futures.test_process_pool, about 17 min, & the
  test_multiprocessing_* modules, 6-11 min) are made of many short cases: run
  one at a time, no single case takes over 71 s (MiscTestCase.test_large_pool,
  69-71 s in each start method). So I have not skipped anything there.
- tcl8: tcltest prints once per test file. The longest is reg.test (115 s),
  then regexp.test (70 s) & io.test (45 s).

Still parked: tcl, lttng-tools, perl, python3-cffi, libpcap & zstd pass, but
are too slow for the 450 s limit on my machine. Under TCG (QEMU's software CPU
emulation), ptest-runner kills tcl in unicodeNormalize.test, lttng-tools in
test_valid_filter, perl in t/re/regexp_qr_embed_thr (485 s alone, so perl may
pass on a faster worker) & python3-cffi, each after 450 s without output.
libpcap's run-ptest prints nothing until TESTrun finishes, which takes 9.5 min
even on the board. zstd's compression/window-resize.sh exceeds the 200 s
per-case limit in cli-tests.

To confirm that these fail only on time, I reran them under QEMU with this
series, PTEST_RUNNER_TIMEOUT = "7200" & the cli-tests limit raised to 3600 s
(local changes, not in this series). All passed with 0 failures, as they do on
the board:

  zstd           43 pass            10 min
  libpcap        14801 pass         24 min
  tcl            175 test files     46 min
  lttng-tools    2088 pass          85 min
  python3-numpy  45769 pass        104 min
  python3-cffi   1724 pass         187 min
  perl           2729 pass         219 min

python3-numpy stays parked too: patch 7 fixes its only failure (72 cases of
test_unary_spurious_fpexception), but under the 450 s limit numpy 2.5.4 is
killed before pytest prints its first result.

glib-2.0 is left parked. It passed one run on QEMU (308 pass, 31 min) & on the
board, but it was parked for intermittent failures, which one run cannot rule
out:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=15891
https://bugzilla.yoctoproject.org/show_bug.cgi?id=16230

The numpy results above are for 2.5.3, before the rebase. numpy 2.5.4 with
patch 7, under QEMU with the 7200 s limit: 45993 pass, 0 fail, 87 min. One
earlier 2.5.4 run had a single failure, a wall-clock check in f2py
(test_nameargspattern_backtracking) that requires a regex search to take under
0.2 s & measured 0.22 s under TCG; it passed on the rerun.

OOHehir (7):
  strace: skip qual_fault-syscall.test on riscv64
  ptest-packagelists.inc: re-enable strace for riscv64
  ptest-packagelists.inc: re-enable python3 for riscv64
  lttng-tools: skip kernel cases when kernel tests are disabled
  tcl, tcl8: skip binary-40.3 on RISC-V
  ptest-packagelists.inc: re-enable tcl8 for riscv64
  python3-numpy: call libm for ceil/floor/trunc on riscv64

 .../distro/include/ptest-packagelists.inc     |   7 +-
 .../python/python3-numpy_2.5.4.bb             |   7 ++
 meta/recipes-devtools/strace/strace_7.2.bb    |  13 +++
 meta/recipes-devtools/tcltk/tcl/run-ptest     |   5 +
 meta/recipes-devtools/tcltk8/tcl8/run-ptest   |   5 +
 ...our-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch | 108 ++++++++++++++++++
 .../lttng/lttng-tools_2.16.0.bb               |   1 +
 7 files changed, 141 insertions(+), 5 deletions(-)
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools/0001-tests-honour-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch

-- 
2.43.0



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

* [PATCH 1/7] strace: skip qual_fault-syscall.test on riscv64
  2026-10-16 20:45 [PATCH 0/7] riscv64 ptest fixes OOHehir
@ 2026-10-16 20:45 ` OOHehir
  2026-10-16 20:45 ` [PATCH 2/7] ptest-packagelists.inc: re-enable strace for riscv64 OOHehir
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-16 20:45 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, OOHehir

On qemuriscv64, the strace ptest goes 283 s without output while
qual_fault-syscall.test finishes. That is 63% of the 450 s ptest-runner
limit, leaving little margin on a loaded autobuilder, so skip it there
before strace is re-enabled for riscv64.

The longest gaps between outputs in core-image-ptest-strace on
qemuriscv64 (make -j4, every output line timestamped), with the test
that ended each:

- qual_fault-syscall.test (283 s)
- filtering_syscall-syntax.test (139 s)
- trace_creds.gen.test (90 s)
- strace--tips-full.test (65 s)

The rest are under 50 s.

strace is not machine-specific, so the skip is keyed on riscv64, as the
gnutls skips in cc848c403a are. It therefore also applies to riscv64
hardware, where the test passes (VisionFive 2).

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 meta/recipes-devtools/strace/strace_7.2.bb | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/meta/recipes-devtools/strace/strace_7.2.bb b/meta/recipes-devtools/strace/strace_7.2.bb
index 451ffa6f88..2d6dcb8c75 100644
--- a/meta/recipes-devtools/strace/strace_7.2.bb
+++ b/meta/recipes-devtools/strace/strace_7.2.bb
@@ -57,6 +57,19 @@ do_install_ptest() {
 	    -i ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
 }
 
+# Tests that go too long without output under QEMU for the qemuriscv64 ptest
+# runs. strace is not machine-specific, so this also skips them on riscv64
+# hardware.
+STRACE_PTEST_SKIP ?= ""
+STRACE_PTEST_SKIP:riscv64 = "qual_fault-syscall"
+
+do_install_ptest:append() {
+	for t in ${STRACE_PTEST_SKIP}; do
+		sed -i -e '1a . "${srcdir=.}/init.sh"\nskip_ "Too slow under QEMU on riscv64"' \
+		    ${D}${PTEST_PATH}/${TESTDIR}/$t.test
+	done
+}
+
 RDEPENDS:${PN}-ptest += "make coreutils grep gawk sed locale-base-en-us"
 
 BBCLASSEXTEND = "native"
-- 
2.43.0



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

* [PATCH 2/7] ptest-packagelists.inc: re-enable strace for riscv64
  2026-10-16 20:45 [PATCH 0/7] riscv64 ptest fixes OOHehir
  2026-10-16 20:45 ` [PATCH 1/7] strace: skip qual_fault-syscall.test on riscv64 OOHehir
@ 2026-10-16 20:45 ` OOHehir
  2026-10-16 20:45 ` [PATCH 3/7] ptest-packagelists.inc: re-enable python3 " OOHehir
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-16 20:45 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, OOHehir

strace was parked with the other failing riscv64 ptests in 22736c5281 &
passes now. core-image-ptest-strace on qemuriscv64, with the previous
commit: 1081 pass, 0 fail, in 24 min. On a VisionFive 2 (JH7110): 1212
pass, 0 fail.

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 meta/conf/distro/include/ptest-packagelists.inc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 2bd11b1706..5e99b59d4a 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -167,8 +167,8 @@ PTESTS_PROBLEMS:append:riscv32 = " lttng-tools strace"
 PTESTS_SLOW:append:libc-musl = " libc-test"
 
 # These tests don't yet pass for riscv64
-PTESTS_SLOW:remove:riscv64 = "tcl tcl8 python3-cffi strace lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
-PTESTS_PROBLEMS:append:riscv64 = " tcl tcl8 python3-cffi strace lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
+PTESTS_SLOW:remove:riscv64 = "tcl tcl8 python3-cffi lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
+PTESTS_PROBLEMS:append:riscv64 = " tcl tcl8 python3-cffi lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
 
 # These tests don't yet pass for musl qemuarm64
 PTESTS_SLOW:remove:libc-musl:qemuarm64 = "strace perl gnutls glib-2.0"
-- 
2.43.0



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

* [PATCH 3/7] ptest-packagelists.inc: re-enable python3 for riscv64
  2026-10-16 20:45 [PATCH 0/7] riscv64 ptest fixes OOHehir
  2026-10-16 20:45 ` [PATCH 1/7] strace: skip qual_fault-syscall.test on riscv64 OOHehir
  2026-10-16 20:45 ` [PATCH 2/7] ptest-packagelists.inc: re-enable strace for riscv64 OOHehir
@ 2026-10-16 20:45 ` OOHehir
  2026-10-16 20:45 ` [PATCH 4/7] lttng-tools: skip kernel cases when kernel tests are disabled OOHehir
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-16 20:45 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, OOHehir

python3 was parked in adc448b19e because it hung on qemuriscv64, still
running after 42000 s. It no longer hangs. core-image-ptest-python3 on
qemuriscv64, in two runs: 44546 & 44548 pass, 0 fail, 71 min each. On a
VisionFive 2 (JH7110): 44698 pass, 0 fail.

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 meta/conf/distro/include/ptest-packagelists.inc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 5e99b59d4a..97c6e35050 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -159,9 +159,6 @@ PTESTS_SLOW = "\
     zstd \
 "
 
-# python3 ptests hang on qemuriscv64
-PTESTS_SLOW:remove:riscv64 = "python3"
-PTESTS_PROBLEMS:append:riscv64 = " python3"
 PTESTS_SLOW:remove:riscv32 = "lttng-tools strace "
 PTESTS_PROBLEMS:append:riscv32 = " lttng-tools strace"
 PTESTS_SLOW:append:libc-musl = " libc-test"
-- 
2.43.0



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

* [PATCH 4/7] lttng-tools: skip kernel cases when kernel tests are disabled
  2026-10-16 20:45 [PATCH 0/7] riscv64 ptest fixes OOHehir
                   ` (2 preceding siblings ...)
  2026-10-16 20:45 ` [PATCH 3/7] ptest-packagelists.inc: re-enable python3 " OOHehir
@ 2026-10-16 20:45 ` OOHehir
  2026-10-16 20:45 ` [PATCH 5/7] tcl, tcl8: skip binary-40.3 on RISC-V OOHehir
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-16 20:45 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, OOHehir

run-ptest sets LTTNG_TOOLS_DISABLE_KERNEL_TESTS when lttng-modules is not
installed, as on riscv64, but kernel/test_event_disable.py &
tools/save-load/test_save_load.py check only for root & fail with "Kernel
tracer not available". Carry the fix sent upstream.

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 ...our-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch | 108 ++++++++++++++++++
 .../lttng/lttng-tools_2.16.0.bb               |   1 +
 2 files changed, 109 insertions(+)
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools/0001-tests-honour-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch

diff --git a/meta/recipes-kernel/lttng/lttng-tools/0001-tests-honour-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-honour-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch
new file mode 100644
index 0000000000..ca041e8da8
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-honour-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch
@@ -0,0 +1,108 @@
+From f56f36ecd7481d96c99876e8a6f4a609197e7132 Mon Sep 17 00:00:00 2001
+From: OOHehir <oo.hehir@gmail.com>
+Date: Tue, 13 Oct 2026 09:41:51 +0100
+Subject: [PATCH] Fix: tests: honour LTTNG_TOOLS_DISABLE_KERNEL_TESTS in two
+ Python tests
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+OBSERVED ISSUE
+━━━━━━━━━━━━━━
+On a target without lttng-modules, kernel/test_event_disable.py & the
+kernel cases of tools/save-load/test_save_load.py fail with "Kernel tracer
+not available", although the test run sets LTTNG_TOOLS_DISABLE_KERNEL_TESTS=1.
+Observed with the Yocto Project ptest on riscv64, which ships no lttng-modules.
+
+CAUSE
+━━━━━
+Both scripts only check that they run as root before running kernel cases,
+while the other Python tests use lttngtest._Environment.run_kernel_tests(),
+which also honours LTTNG_TOOLS_DISABLE_KERNEL_TESTS.
+
+SOLUTION
+━━━━━━━━
+Use run_kernel_tests() in both scripts. It checks for root as before, & also
+honours LTTNG_TOOLS_DISABLE_KERNEL_TESTS.
+
+Under review on Gerrit: https://review.lttng.org/c/lttng-tools/+/18903
+
+Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2026-October/031100.html]
+Signed-off-by: OOHehir <oo.hehir@gmail.com>
+---
+ tests/regression/kernel/test_event_disable.py      | 7 ++-----
+ tests/regression/tools/save-load/test_save_load.py | 9 ++++-----
+ 2 files changed, 6 insertions(+), 10 deletions(-)
+
+diff --git a/tests/regression/kernel/test_event_disable.py b/tests/regression/kernel/test_event_disable.py
+index da9f146..a373544 100755
+--- a/tests/regression/kernel/test_event_disable.py
++++ b/tests/regression/kernel/test_event_disable.py
+@@ -15,7 +15,6 @@ Validates that disabling events works correctly:
+ - Disabling by name disables all matching rules regardless of filters
+ """
+ 
+-import os
+ import pathlib
+ import sys
+ import traceback
+@@ -307,11 +306,9 @@ if __name__ == "__main__":
+         ),
+     ]
+ 
+-    is_root = os.getuid() == 0
+-
+-    if not is_root:
++    if not lttngtest._Environment.run_kernel_tests():
+         tap = lttngtest.TapGenerator(len(kernel_tests))
+-        tap.skip_all_remaining("Kernel tests require root privileges")
++        tap.skip_all_remaining("Kernel tests not enabled")
+         sys.exit(0)
+ 
+     tap = lttngtest.TapGenerator(len(kernel_tests))
+diff --git a/tests/regression/tools/save-load/test_save_load.py b/tests/regression/tools/save-load/test_save_load.py
+index 9dd8042..1983263 100755
+--- a/tests/regression/tools/save-load/test_save_load.py
++++ b/tests/regression/tools/save-load/test_save_load.py
+@@ -13,7 +13,6 @@ through save/load cycles, including:
+ - Kernel syscalls and tracepoints
+ """
+ 
+-import os
+ import pathlib
+ import sys
+ import traceback
+@@ -953,11 +952,11 @@ if __name__ == "__main__":
+         ),
+     ]
+ 
+-    is_root = os.getuid() == 0
++    run_kernel_tests = lttngtest._Environment.run_kernel_tests()
+     allows_destructive = lttngtest._Environment.allows_destructive()
+ 
+     total_tests = len(user_tests) + len(agent_tests)
+-    if is_root:
++    if run_kernel_tests:
+         total_tests += len(kernel_tests)
+         if allows_destructive:
+             total_tests += len(destructive_kernel_tests)
+@@ -971,7 +970,7 @@ if __name__ == "__main__":
+         for test_name, test_func, kwargs in agent_tests:
+             run_test(tap, test_env, test_func, test_name, **kwargs)
+ 
+-    if is_root:
++    if run_kernel_tests:
+         with lttngtest.test_environment(
+             with_sessiond=True, log=tap.diagnostic, enable_kernel_domain=True
+         ) as test_env:
+@@ -986,6 +985,6 @@ if __name__ == "__main__":
+                     "Skipping destructive kernel tests (LTTNG_ENABLE_DESTRUCTIVE_TESTS not set)"
+                 )
+     else:
+-        tap.diagnostic("Skipping kernel tests (not running as root)")
++        tap.diagnostic("Skipping kernel tests (not enabled)")
+ 
+     sys.exit(0 if tap.is_successful else 1)
+-- 
+2.43.0
+
diff --git a/meta/recipes-kernel/lttng/lttng-tools_2.16.0.bb b/meta/recipes-kernel/lttng/lttng-tools_2.16.0.bb
index cfc16ed6c7..347bdcc273 100644
--- a/meta/recipes-kernel/lttng/lttng-tools_2.16.0.bb
+++ b/meta/recipes-kernel/lttng/lttng-tools_2.16.0.bb
@@ -72,6 +72,7 @@ SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
            file://disable-tests2.patch \
            file://0001-m4-ax_am_macros_static.m4-do-not-write-generation-da.patch \
            file://muslfix.patch \
+           file://0001-tests-honour-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch \
            "
 
 SRC_URI[sha256sum] = "b8b3244894e49e773d4942b8899f768057974edf75c18dbb48b65bb123c7b2c7"
-- 
2.43.0



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

* [PATCH 5/7] tcl, tcl8: skip binary-40.3 on RISC-V
  2026-10-16 20:45 [PATCH 0/7] riscv64 ptest fixes OOHehir
                   ` (3 preceding siblings ...)
  2026-10-16 20:45 ` [PATCH 4/7] lttng-tools: skip kernel cases when kernel tests are disabled OOHehir
@ 2026-10-16 20:45 ` OOHehir
  2026-10-17 10:29   ` [OE-core] " Mathieu Dubois-Briand
  2026-10-16 20:45 ` [PATCH 6/7] ptest-packagelists.inc: re-enable tcl8 for riscv64 OOHehir
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 19+ messages in thread
From: OOHehir @ 2026-10-16 20:45 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, OOHehir

binary-40.3 expects a negative float NaN to stay negative when widened to
double. RISC-V returns the positive canonical NaN instead, as the ISA requires,
so the test always fails there. Reported upstream on the matching MIPS ticket.

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 meta/recipes-devtools/tcltk/tcl/run-ptest   | 5 +++++
 meta/recipes-devtools/tcltk8/tcl8/run-ptest | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/meta/recipes-devtools/tcltk/tcl/run-ptest b/meta/recipes-devtools/tcltk/tcl/run-ptest
index 18e03716e3..6991873978 100644
--- a/meta/recipes-devtools/tcltk/tcl/run-ptest
+++ b/meta/recipes-devtools/tcltk/tcl/run-ptest
@@ -38,6 +38,11 @@ SKIP="$SKIP httpProxy-\*"
 SKIP="$SKIP mutex-condition-\*"
 # Timer-related tests are going to be fragile (16324)
 SKIP="$SKIP timer-\*"
+# RISC-V widens a negative float NaN to the positive canonical NaN, so the
+# sign check fails: https://core.tcl-lang.org/tcl/tktview/bf029ced86
+case "$(uname -m)" in
+riscv*) SKIP="$SKIP binary-40.3" ;;
+esac
 
 # Run all tests in tests/*.test unless tests are specified as arguments
 TESTS=${*:-tests/*.test}
diff --git a/meta/recipes-devtools/tcltk8/tcl8/run-ptest b/meta/recipes-devtools/tcltk8/tcl8/run-ptest
index 40666ef851..aa0959f013 100644
--- a/meta/recipes-devtools/tcltk8/tcl8/run-ptest
+++ b/meta/recipes-devtools/tcltk8/tcl8/run-ptest
@@ -36,6 +36,11 @@ SKIP="$SKIP http11-\*"
 SKIP="$SKIP httpProxy-\*"
 # Timer-related tests are going to be fragile (16324)
 SKIP="$SKIP timer-\*"
+# RISC-V widens a negative float NaN to the positive canonical NaN, so the
+# sign check fails: https://core.tcl-lang.org/tcl/tktview/bf029ced86
+case "$(uname -m)" in
+riscv*) SKIP="$SKIP binary-40.3" ;;
+esac
 
 # Run all tests in tests/*.test unless tests are specified as arguments
 TESTS=${*:-tests/*.test}
-- 
2.43.0



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

* [PATCH 6/7] ptest-packagelists.inc: re-enable tcl8 for riscv64
  2026-10-16 20:45 [PATCH 0/7] riscv64 ptest fixes OOHehir
                   ` (4 preceding siblings ...)
  2026-10-16 20:45 ` [PATCH 5/7] tcl, tcl8: skip binary-40.3 on RISC-V OOHehir
@ 2026-10-16 20:45 ` OOHehir
  2026-10-16 20:45 ` [PATCH 7/7] python3-numpy: call libm for ceil/floor/trunc on riscv64 OOHehir
  2026-10-17 11:23 ` [PATCH v2 0/8] riscv64 ptest fixes OOHehir
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-16 20:45 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, OOHehir

The previous commit skips binary-40.3, its only failure on riscv64.
core-image-ptest-tcl8 on qemuriscv64: 152 pass, 0 fail, 607 s. On a
VisionFive 2 (JH7110), binary-40.3 was the only failure.

tcl stays parked: under TCG, unicodeNormalize.test prints nothing for more
than 450 s & ptest-runner kills it. The binary-40.3 skip still helps tcl on
hardware.

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 meta/conf/distro/include/ptest-packagelists.inc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 97c6e35050..1b76023621 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -164,8 +164,8 @@ PTESTS_PROBLEMS:append:riscv32 = " lttng-tools strace"
 PTESTS_SLOW:append:libc-musl = " libc-test"
 
 # These tests don't yet pass for riscv64
-PTESTS_SLOW:remove:riscv64 = "tcl tcl8 python3-cffi lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
-PTESTS_PROBLEMS:append:riscv64 = " tcl tcl8 python3-cffi lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
+PTESTS_SLOW:remove:riscv64 = "tcl python3-cffi lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
+PTESTS_PROBLEMS:append:riscv64 = " tcl python3-cffi lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
 
 # These tests don't yet pass for musl qemuarm64
 PTESTS_SLOW:remove:libc-musl:qemuarm64 = "strace perl gnutls glib-2.0"
-- 
2.43.0



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

* [PATCH 7/7] python3-numpy: call libm for ceil/floor/trunc on riscv64
  2026-10-16 20:45 [PATCH 0/7] riscv64 ptest fixes OOHehir
                   ` (5 preceding siblings ...)
  2026-10-16 20:45 ` [PATCH 6/7] ptest-packagelists.inc: re-enable tcl8 for riscv64 OOHehir
@ 2026-10-16 20:45 ` OOHehir
  2026-10-17 11:23 ` [PATCH v2 0/8] riscv64 ptest fixes OOHehir
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-16 20:45 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, OOHehir

numpy builds with -std=c11, so GCC 15 onwards expands ceil/floor/trunc
inline on riscv64, & its first scheduling pass moves the fcvt above the
|x| < 2^52 check. ceil(+-inf) & ceil(1e300) then raise FE_INVALID, & the
72 cases of test_unary_spurious_fpexception fail. Confirmed as
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127908.

-fno-fp-int-builtin-inexact makes GCC call libm, which handles these
inputs correctly. python3-numpy-ptest on a VisionFive 2 (JH7110), with
2.5.3: 45770 pass, 0 fail. On qemuriscv64 with PTEST_RUNNER_TIMEOUT = "7200",
with 2.5.4: 45993 pass, 0 fail.

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 meta/recipes-devtools/python/python3-numpy_2.5.4.bb | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/meta/recipes-devtools/python/python3-numpy_2.5.4.bb b/meta/recipes-devtools/python/python3-numpy_2.5.4.bb
index 93aa356db1..192ae3fe75 100644
--- a/meta/recipes-devtools/python/python3-numpy_2.5.4.bb
+++ b/meta/recipes-devtools/python/python3-numpy_2.5.4.bb
@@ -26,6 +26,13 @@ PACKAGECONFIG[svml] = "-Ddisable-svml=false,-Ddisable-svml=true"
 # the overflow tests fail with compiler-rt on aarch64
 LDFLAGS:append:toolchain-clang:aarch64 = " -rtlib=libgcc -unwindlib=libgcc"
 
+# GCC 15 onwards expands ceil/floor/trunc inline on riscv64 but runs the fcvt
+# before the range check, so +-inf raises FE_INVALID & numpy's
+# test_unary_spurious_fpexception fails. Make it call libm instead.
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127908
+CFLAGS:append:toolchain-gcc:riscv64 = " -fno-fp-int-builtin-inexact"
+CXXFLAGS:append:toolchain-gcc:riscv64 = " -fno-fp-int-builtin-inexact"
+
 # To ensure reproducibility, remove entries from __config__ which expose build
 # machine details, such as build paths, host paths, and hardware configuration.
 strip_build_info() {
-- 
2.43.0



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

* Re: [OE-core] [PATCH 5/7] tcl, tcl8: skip binary-40.3 on RISC-V
  2026-10-16 20:45 ` [PATCH 5/7] tcl, tcl8: skip binary-40.3 on RISC-V OOHehir
@ 2026-10-17 10:29   ` Mathieu Dubois-Briand
  2026-10-17 11:21     ` Owen O'Hehir
  0 siblings, 1 reply; 19+ messages in thread
From: Mathieu Dubois-Briand @ 2026-10-17 10:29 UTC (permalink / raw)
  To: oo.hehir, openembedded-core; +Cc: raj.khem, tgamblin

On Fri Oct 16, 2026 at 10:45 PM CEST, OOHehir via lists.openembedded.org wrote:
> binary-40.3 expects a negative float NaN to stay negative when widened to
> double. RISC-V returns the positive canonical NaN instead, as the ISA requires,
> so the test always fails there. Reported upstream on the matching MIPS ticket.
>
> Signed-off-by: OOHehir <oo.hehir@gmail.com>
> ---

Hi,

Thanks for your patch. Something looks wrong here, tcl/tcl8 ptests
started to fail on non-riscv architectures with a syntax error:

AssertionError:
Failed ptests:
{'tcl': 'START: ptest-runner\n'
        '2026-10-17T09:16\n'
        '/usr/lib/tcl/ptest/run-ptest: line 73: syntax error: unexpected '
        'newline (expecting ")")\n'
        '\n'
        'ERROR: Exit status is 2\n'
        'DURATION: 0\n'}

ptests which had no test results:
['tcl']

Failed ptests:
{'tcl8': 'START: ptest-runner\n'
         '2026-10-17T09:16\n'
         '/usr/lib/tcl8/ptest/run-ptest: line 69: syntax error: unexpected '
         'newline (expecting ")")\n'
         '\n'
         'ERROR: Exit status is 2\n'
         'DURATION: 0\n'}

ptests which had no test results:
['tcl8']

https://autobuilder.yoctoproject.org/valkyrie/#/builders/109/builds/1396
https://autobuilder.yoctoproject.org/valkyrie/#/builders/110/builds/1385

Can you have a look at the issue?

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



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

* Re: [OE-core] [PATCH 5/7] tcl, tcl8: skip binary-40.3 on RISC-V
  2026-10-17 10:29   ` [OE-core] " Mathieu Dubois-Briand
@ 2026-10-17 11:21     ` Owen O'Hehir
  0 siblings, 0 replies; 19+ messages in thread
From: Owen O'Hehir @ 2026-10-17 11:21 UTC (permalink / raw)
  To: openembedded-core, mathieu.dubois-briand; +Cc: Khem Raj, Trevor Gamblin

Hello Mathieu,

Thanks for this. It looks like it was in the musl build during
do_install_ptest:append:libc-musl. I've modified the tcl recipes' sed
so it only matches at the start of the line. I ran some tests locally
& was able to recreate the issue. My v2 patches now build & install a
valid run-ptest on musl & glibc. I will send v2 of the series shortly.

Regards,

Owen


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

* [PATCH v2 0/8] riscv64 ptest fixes
  2026-10-16 20:45 [PATCH 0/7] riscv64 ptest fixes OOHehir
                   ` (6 preceding siblings ...)
  2026-10-16 20:45 ` [PATCH 7/7] python3-numpy: call libm for ceil/floor/trunc on riscv64 OOHehir
@ 2026-10-17 11:23 ` OOHehir
  2026-10-17 11:23   ` [PATCH v2 1/8] strace: skip qual_fault-syscall.test on riscv64 OOHehir
                     ` (7 more replies)
  7 siblings, 8 replies; 19+ messages in thread
From: OOHehir @ 2026-10-17 11:23 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, mathieu.dubois-briand, OOHehir

From: OOHehir <40183643+OOHehir@users.noreply.github.com>

Changes in v2:
- New patch 5: on musl, the tcl & tcl8 recipes add a skip after every line
  containing SKIP="$SKIP, so v1's skip inside a case arm left run-ptest with a
  syntax error (reported by Mathieu Dubois-Briand). Building tcl & tcl8 to
  do_install_ptest_base for qemux86-64 & syntax-checking the installed
  run-ptest: v1 reproduces the autobuilder error on musl, v2 passes on musl &
  glibc.
- Patches 1 & 8: shorter recipe comments, no functional change.

This series re-enables the strace, python3 & tcl8 ptests on riscv64 & fixes the
three riscv64 failures that are not timeouts: lttng-tools, tcl/tcl8 &
python3-numpy. Patches 2, 3 & 7 only edit the riscv64 lists in
ptest-packagelists.inc; patch 1 skips one slow strace test on riscv64 &
patches 4, 6 & 8 carry the fixes. Patch 5 makes the tcl recipes'
musl sed safe for patch 6.

I sent these results to Khem Raj & Trevor Gamblin before posting. Trevor
suggested profiling the per-test durations under QEMU first; patch 1 skips
the slowest test found (see "Per-test durations" below).

Where to look:
- Patch 8 works round a confirmed GCC 15+ bug:
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127908
  GCC moves the float-to-integer conversion above the range check in its
  inline ceil/floor/trunc, so ceil(+-inf) raises FE_INVALID.
  -fno-fp-int-builtin-inexact makes GCC call libm instead.
- Patch 4 carries an lttng-tools fix under review upstream:
  https://review.lttng.org/c/lttng-tools/+/18903
- Patch 6 skips binary-40.3, which expects a negative float NaN to stay negative
  when widened to double. RISC-V returns the positive canonical NaN, as the ISA
  requires. Reported on an existing MIPS ticket:
  https://core.tcl-lang.org/tcl/tktview/bf029ced86

Testing:
- qemuriscv64: testimage of core-image-ptest-<pkg> with the autobuilder's
  PTEST_RUNNER_TIMEOUT of 450 s (a test is killed after 450 s without output),
  on my machine, a Xeon E5-1680 v3 from 2014 (a plough-horse rather than a
  stallion). An autobuilder worker will be faster per core, but busier.
- VisionFive 2 v1.3B (JH7110, 4x U74, 8 GB): each package in
  core-image-minimal, ptest-runner -t 1800.

  package  qemuriscv64                  VisionFive 2
  strace   1081 pass, 0 fail, 24 min    1212 pass, 0 fail
  python3  44546 pass, 0 fail, 71 min   44698 pass, 0 fail
  tcl8     152 pass, 0 fail, 10 min     only failure was binary-40.3

Per-test durations under QEMU (TCG), as the longest time without output is
what the 450 s limit measures:
- strace (make -j4, every output line timestamped): the longest gap is 283 s,
  ending with qual_fault-syscall.test, which patch 1 skips on riscv64. Next are
  filtering_syscall-syntax.test (139 s), trace_creds.gen.test (90 s) &
  strace--tips-full.test (65 s); the rest are under 50 s.
- python3: regrtest -j4 prints a progress line at least every 30 s, so the
  longest gap in the full run is around 30 s. Its slowest modules
  (test_concurrent_futures.test_process_pool, about 17 min, & the
  test_multiprocessing_* modules, 6-11 min) are made of many short cases: run
  one at a time, no single case takes over 71 s (MiscTestCase.test_large_pool,
  69-71 s in each start method). So I have not skipped anything there.
- tcl8: tcltest prints once per test file. The longest is reg.test (115 s),
  then regexp.test (70 s) & io.test (45 s).

Still parked: tcl, lttng-tools, perl, python3-cffi, libpcap & zstd pass, but
are too slow for the 450 s limit on my machine. Under TCG (QEMU's software CPU
emulation), ptest-runner kills tcl in unicodeNormalize.test, lttng-tools in
test_valid_filter, perl in t/re/regexp_qr_embed_thr (485 s alone, so perl may
pass on a faster worker) & python3-cffi, each after 450 s without output.
libpcap's run-ptest prints nothing until TESTrun finishes, which takes 9.5 min
even on the board. zstd's compression/window-resize.sh exceeds the 200 s
per-case limit in cli-tests.

To confirm that these fail only on time, I reran them under QEMU with this
series, PTEST_RUNNER_TIMEOUT = "7200" & the cli-tests limit raised to 3600 s
(local changes, not in this series). All passed with 0 failures, as they do on
the board:

  zstd           43 pass            10 min
  libpcap        14801 pass         24 min
  tcl            175 test files     46 min
  lttng-tools    2088 pass          85 min
  python3-numpy  45769 pass        104 min
  python3-cffi   1724 pass         187 min
  perl           2729 pass         219 min

python3-numpy stays parked too: patch 8 fixes its only failure (72 cases of
test_unary_spurious_fpexception), but under the 450 s limit numpy 2.5.4 is
killed before pytest prints its first result.

glib-2.0 is left parked. It passed one run on QEMU (308 pass, 31 min) & on the
board, but it was parked for intermittent failures, which one run cannot rule
out:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=15891
https://bugzilla.yoctoproject.org/show_bug.cgi?id=16230

The numpy results above are for 2.5.3, before the rebase. numpy 2.5.4 with
patch 8, under QEMU with the 7200 s limit: 45993 pass, 0 fail, 87 min. One
earlier 2.5.4 run had a single failure, a wall-clock check in f2py
(test_nameargspattern_backtracking) that requires a regex search to take under
0.2 s & measured 0.22 s under TCG; it passed on the rerun.

OOHehir (8):
  strace: skip qual_fault-syscall.test on riscv64
  ptest-packagelists.inc: re-enable strace for riscv64
  ptest-packagelists.inc: re-enable python3 for riscv64
  lttng-tools: skip kernel cases when kernel tests are disabled
  tcl, tcl8: anchor the musl unixInit-3 skip to top-level SKIP lines
  tcl, tcl8: skip binary-40.3 on RISC-V
  ptest-packagelists.inc: re-enable tcl8 for riscv64
  python3-numpy: call libm for ceil/floor/trunc on riscv64

 .../distro/include/ptest-packagelists.inc     |   7 +-
 .../python/python3-numpy_2.5.4.bb             |   5 +
 meta/recipes-devtools/strace/strace_7.2.bb    |  12 ++
 meta/recipes-devtools/tcltk/tcl/run-ptest     |   5 +
 meta/recipes-devtools/tcltk/tcl_9.1.0.bb      |   2 +-
 meta/recipes-devtools/tcltk8/tcl8/run-ptest   |   5 +
 meta/recipes-devtools/tcltk8/tcl8_8.6.18.bb   |   2 +-
 ...our-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch | 108 ++++++++++++++++++
 .../lttng/lttng-tools_2.16.0.bb               |   1 +
 9 files changed, 140 insertions(+), 7 deletions(-)
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools/0001-tests-honour-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch

-- 
2.43.0



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

* [PATCH v2 1/8] strace: skip qual_fault-syscall.test on riscv64
  2026-10-17 11:23 ` [PATCH v2 0/8] riscv64 ptest fixes OOHehir
@ 2026-10-17 11:23   ` OOHehir
  2026-10-17 11:23   ` [PATCH v2 2/8] ptest-packagelists.inc: re-enable strace for riscv64 OOHehir
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-17 11:23 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, mathieu.dubois-briand, OOHehir

On qemuriscv64, the strace ptest goes 283 s without output while
qual_fault-syscall.test finishes. That is 63% of the 450 s ptest-runner
limit, leaving little margin on a loaded autobuilder, so skip it there
before strace is re-enabled for riscv64.

The longest gaps between outputs in core-image-ptest-strace on
qemuriscv64 (make -j4, every output line timestamped), with the test
that ended each:

- qual_fault-syscall.test (283 s)
- filtering_syscall-syntax.test (139 s)
- trace_creds.gen.test (90 s)
- strace--tips-full.test (65 s)

The rest are under 50 s.

strace is not machine-specific, so the skip is keyed on riscv64, as the
gnutls skips in cc848c403a are. It therefore also applies to riscv64
hardware, where the test passes (VisionFive 2).

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 meta/recipes-devtools/strace/strace_7.2.bb | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/meta/recipes-devtools/strace/strace_7.2.bb b/meta/recipes-devtools/strace/strace_7.2.bb
index 451ffa6f88..3f7aaab3e6 100644
--- a/meta/recipes-devtools/strace/strace_7.2.bb
+++ b/meta/recipes-devtools/strace/strace_7.2.bb
@@ -57,6 +57,18 @@ do_install_ptest() {
 	    -i ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
 }
 
+# Too long without output for ptest-runner on qemuriscv64. Keyed on riscv64, as
+# strace is not machine-specific, so also skipped on riscv64 hardware.
+STRACE_PTEST_SKIP ?= ""
+STRACE_PTEST_SKIP:riscv64 = "qual_fault-syscall"
+
+do_install_ptest:append() {
+	for t in ${STRACE_PTEST_SKIP}; do
+		sed -i -e '1a . "${srcdir=.}/init.sh"\nskip_ "Too slow under QEMU on riscv64"' \
+		    ${D}${PTEST_PATH}/${TESTDIR}/$t.test
+	done
+}
+
 RDEPENDS:${PN}-ptest += "make coreutils grep gawk sed locale-base-en-us"
 
 BBCLASSEXTEND = "native"
-- 
2.43.0



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

* [PATCH v2 2/8] ptest-packagelists.inc: re-enable strace for riscv64
  2026-10-17 11:23 ` [PATCH v2 0/8] riscv64 ptest fixes OOHehir
  2026-10-17 11:23   ` [PATCH v2 1/8] strace: skip qual_fault-syscall.test on riscv64 OOHehir
@ 2026-10-17 11:23   ` OOHehir
  2026-10-17 11:23   ` [PATCH v2 3/8] ptest-packagelists.inc: re-enable python3 " OOHehir
                     ` (5 subsequent siblings)
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-17 11:23 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, mathieu.dubois-briand, OOHehir

strace was parked with the other failing riscv64 ptests in 22736c5281 &
passes now. core-image-ptest-strace on qemuriscv64, with the previous
commit: 1081 pass, 0 fail, in 24 min. On a VisionFive 2 (JH7110): 1212
pass, 0 fail.

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 meta/conf/distro/include/ptest-packagelists.inc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 2bd11b1706..5e99b59d4a 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -167,8 +167,8 @@ PTESTS_PROBLEMS:append:riscv32 = " lttng-tools strace"
 PTESTS_SLOW:append:libc-musl = " libc-test"
 
 # These tests don't yet pass for riscv64
-PTESTS_SLOW:remove:riscv64 = "tcl tcl8 python3-cffi strace lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
-PTESTS_PROBLEMS:append:riscv64 = " tcl tcl8 python3-cffi strace lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
+PTESTS_SLOW:remove:riscv64 = "tcl tcl8 python3-cffi lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
+PTESTS_PROBLEMS:append:riscv64 = " tcl tcl8 python3-cffi lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
 
 # These tests don't yet pass for musl qemuarm64
 PTESTS_SLOW:remove:libc-musl:qemuarm64 = "strace perl gnutls glib-2.0"
-- 
2.43.0



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

* [PATCH v2 3/8] ptest-packagelists.inc: re-enable python3 for riscv64
  2026-10-17 11:23 ` [PATCH v2 0/8] riscv64 ptest fixes OOHehir
  2026-10-17 11:23   ` [PATCH v2 1/8] strace: skip qual_fault-syscall.test on riscv64 OOHehir
  2026-10-17 11:23   ` [PATCH v2 2/8] ptest-packagelists.inc: re-enable strace for riscv64 OOHehir
@ 2026-10-17 11:23   ` OOHehir
  2026-10-17 11:23   ` [PATCH v2 4/8] lttng-tools: skip kernel cases when kernel tests are disabled OOHehir
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-17 11:23 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, mathieu.dubois-briand, OOHehir

python3 was parked in adc448b19e because it hung on qemuriscv64, still
running after 42000 s. It no longer hangs. core-image-ptest-python3 on
qemuriscv64, in two runs: 44546 & 44548 pass, 0 fail, 71 min each. On a
VisionFive 2 (JH7110): 44698 pass, 0 fail.

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 meta/conf/distro/include/ptest-packagelists.inc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 5e99b59d4a..97c6e35050 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -159,9 +159,6 @@ PTESTS_SLOW = "\
     zstd \
 "
 
-# python3 ptests hang on qemuriscv64
-PTESTS_SLOW:remove:riscv64 = "python3"
-PTESTS_PROBLEMS:append:riscv64 = " python3"
 PTESTS_SLOW:remove:riscv32 = "lttng-tools strace "
 PTESTS_PROBLEMS:append:riscv32 = " lttng-tools strace"
 PTESTS_SLOW:append:libc-musl = " libc-test"
-- 
2.43.0



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

* [PATCH v2 4/8] lttng-tools: skip kernel cases when kernel tests are disabled
  2026-10-17 11:23 ` [PATCH v2 0/8] riscv64 ptest fixes OOHehir
                     ` (2 preceding siblings ...)
  2026-10-17 11:23   ` [PATCH v2 3/8] ptest-packagelists.inc: re-enable python3 " OOHehir
@ 2026-10-17 11:23   ` OOHehir
  2026-10-17 11:23   ` [PATCH v2 5/8] tcl, tcl8: anchor the musl unixInit-3 skip to top-level SKIP lines OOHehir
                     ` (3 subsequent siblings)
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-17 11:23 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, mathieu.dubois-briand, OOHehir

run-ptest sets LTTNG_TOOLS_DISABLE_KERNEL_TESTS when lttng-modules is not
installed, as on riscv64, but kernel/test_event_disable.py &
tools/save-load/test_save_load.py check only for root & fail with "Kernel
tracer not available". Carry the fix sent upstream.

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 ...our-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch | 108 ++++++++++++++++++
 .../lttng/lttng-tools_2.16.0.bb               |   1 +
 2 files changed, 109 insertions(+)
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools/0001-tests-honour-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch

diff --git a/meta/recipes-kernel/lttng/lttng-tools/0001-tests-honour-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-honour-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch
new file mode 100644
index 0000000000..ca041e8da8
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-honour-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch
@@ -0,0 +1,108 @@
+From f56f36ecd7481d96c99876e8a6f4a609197e7132 Mon Sep 17 00:00:00 2001
+From: OOHehir <oo.hehir@gmail.com>
+Date: Tue, 13 Oct 2026 09:41:51 +0100
+Subject: [PATCH] Fix: tests: honour LTTNG_TOOLS_DISABLE_KERNEL_TESTS in two
+ Python tests
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+OBSERVED ISSUE
+━━━━━━━━━━━━━━
+On a target without lttng-modules, kernel/test_event_disable.py & the
+kernel cases of tools/save-load/test_save_load.py fail with "Kernel tracer
+not available", although the test run sets LTTNG_TOOLS_DISABLE_KERNEL_TESTS=1.
+Observed with the Yocto Project ptest on riscv64, which ships no lttng-modules.
+
+CAUSE
+━━━━━
+Both scripts only check that they run as root before running kernel cases,
+while the other Python tests use lttngtest._Environment.run_kernel_tests(),
+which also honours LTTNG_TOOLS_DISABLE_KERNEL_TESTS.
+
+SOLUTION
+━━━━━━━━
+Use run_kernel_tests() in both scripts. It checks for root as before, & also
+honours LTTNG_TOOLS_DISABLE_KERNEL_TESTS.
+
+Under review on Gerrit: https://review.lttng.org/c/lttng-tools/+/18903
+
+Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2026-October/031100.html]
+Signed-off-by: OOHehir <oo.hehir@gmail.com>
+---
+ tests/regression/kernel/test_event_disable.py      | 7 ++-----
+ tests/regression/tools/save-load/test_save_load.py | 9 ++++-----
+ 2 files changed, 6 insertions(+), 10 deletions(-)
+
+diff --git a/tests/regression/kernel/test_event_disable.py b/tests/regression/kernel/test_event_disable.py
+index da9f146..a373544 100755
+--- a/tests/regression/kernel/test_event_disable.py
++++ b/tests/regression/kernel/test_event_disable.py
+@@ -15,7 +15,6 @@ Validates that disabling events works correctly:
+ - Disabling by name disables all matching rules regardless of filters
+ """
+ 
+-import os
+ import pathlib
+ import sys
+ import traceback
+@@ -307,11 +306,9 @@ if __name__ == "__main__":
+         ),
+     ]
+ 
+-    is_root = os.getuid() == 0
+-
+-    if not is_root:
++    if not lttngtest._Environment.run_kernel_tests():
+         tap = lttngtest.TapGenerator(len(kernel_tests))
+-        tap.skip_all_remaining("Kernel tests require root privileges")
++        tap.skip_all_remaining("Kernel tests not enabled")
+         sys.exit(0)
+ 
+     tap = lttngtest.TapGenerator(len(kernel_tests))
+diff --git a/tests/regression/tools/save-load/test_save_load.py b/tests/regression/tools/save-load/test_save_load.py
+index 9dd8042..1983263 100755
+--- a/tests/regression/tools/save-load/test_save_load.py
++++ b/tests/regression/tools/save-load/test_save_load.py
+@@ -13,7 +13,6 @@ through save/load cycles, including:
+ - Kernel syscalls and tracepoints
+ """
+ 
+-import os
+ import pathlib
+ import sys
+ import traceback
+@@ -953,11 +952,11 @@ if __name__ == "__main__":
+         ),
+     ]
+ 
+-    is_root = os.getuid() == 0
++    run_kernel_tests = lttngtest._Environment.run_kernel_tests()
+     allows_destructive = lttngtest._Environment.allows_destructive()
+ 
+     total_tests = len(user_tests) + len(agent_tests)
+-    if is_root:
++    if run_kernel_tests:
+         total_tests += len(kernel_tests)
+         if allows_destructive:
+             total_tests += len(destructive_kernel_tests)
+@@ -971,7 +970,7 @@ if __name__ == "__main__":
+         for test_name, test_func, kwargs in agent_tests:
+             run_test(tap, test_env, test_func, test_name, **kwargs)
+ 
+-    if is_root:
++    if run_kernel_tests:
+         with lttngtest.test_environment(
+             with_sessiond=True, log=tap.diagnostic, enable_kernel_domain=True
+         ) as test_env:
+@@ -986,6 +985,6 @@ if __name__ == "__main__":
+                     "Skipping destructive kernel tests (LTTNG_ENABLE_DESTRUCTIVE_TESTS not set)"
+                 )
+     else:
+-        tap.diagnostic("Skipping kernel tests (not running as root)")
++        tap.diagnostic("Skipping kernel tests (not enabled)")
+ 
+     sys.exit(0 if tap.is_successful else 1)
+-- 
+2.43.0
+
diff --git a/meta/recipes-kernel/lttng/lttng-tools_2.16.0.bb b/meta/recipes-kernel/lttng/lttng-tools_2.16.0.bb
index cfc16ed6c7..347bdcc273 100644
--- a/meta/recipes-kernel/lttng/lttng-tools_2.16.0.bb
+++ b/meta/recipes-kernel/lttng/lttng-tools_2.16.0.bb
@@ -72,6 +72,7 @@ SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
            file://disable-tests2.patch \
            file://0001-m4-ax_am_macros_static.m4-do-not-write-generation-da.patch \
            file://muslfix.patch \
+           file://0001-tests-honour-LTTNG_TOOLS_DISABLE_KERNEL_TESTS.patch \
            "
 
 SRC_URI[sha256sum] = "b8b3244894e49e773d4942b8899f768057974edf75c18dbb48b65bb123c7b2c7"
-- 
2.43.0



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

* [PATCH v2 5/8] tcl, tcl8: anchor the musl unixInit-3 skip to top-level SKIP lines
  2026-10-17 11:23 ` [PATCH v2 0/8] riscv64 ptest fixes OOHehir
                     ` (3 preceding siblings ...)
  2026-10-17 11:23   ` [PATCH v2 4/8] lttng-tools: skip kernel cases when kernel tests are disabled OOHehir
@ 2026-10-17 11:23   ` OOHehir
  2026-10-17 11:23   ` [PATCH v2 6/8] tcl, tcl8: skip binary-40.3 on RISC-V OOHehir
                     ` (2 subsequent siblings)
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-17 11:23 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, mathieu.dubois-briand, OOHehir

On musl, do_install_ptest adds the unixInit-3 skip after every line of
run-ptest containing SKIP="$SKIP. A SKIP set inside a case arm then gets two
lines between ;; & esac, & run-ptest fails with a syntax error before running
any test. The next commit adds such an arm.

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 meta/recipes-devtools/tcltk/tcl_9.1.0.bb    | 2 +-
 meta/recipes-devtools/tcltk8/tcl8_8.6.18.bb | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/tcltk/tcl_9.1.0.bb b/meta/recipes-devtools/tcltk/tcl_9.1.0.bb
index 6e8a97c729..77b6270f22 100644
--- a/meta/recipes-devtools/tcltk/tcl_9.1.0.bb
+++ b/meta/recipes-devtools/tcltk/tcl_9.1.0.bb
@@ -85,7 +85,7 @@ do_install_ptest() {
 
 do_install_ptest:append:libc-musl () {
 	# Assumes locales other than provided by musl-locales
-	sed -i '/SKIP="$SKIP.*$/a # unixInit-3* is suppressed due to hardcoded locale assumptions\nSKIP="$SKIP unixInit-3\\\*"' ${D}${PTEST_PATH}/run-ptest
+	sed -i '/^SKIP="$SKIP.*$/a # unixInit-3* is suppressed due to hardcoded locale assumptions\nSKIP="$SKIP unixInit-3\\\*"' ${D}${PTEST_PATH}/run-ptest
 }
 
 # Fix some paths that might be used by Tcl extensions
diff --git a/meta/recipes-devtools/tcltk8/tcl8_8.6.18.bb b/meta/recipes-devtools/tcltk8/tcl8_8.6.18.bb
index 2094c9935a..9199f635f4 100644
--- a/meta/recipes-devtools/tcltk8/tcl8_8.6.18.bb
+++ b/meta/recipes-devtools/tcltk8/tcl8_8.6.18.bb
@@ -86,7 +86,7 @@ do_install_ptest() {
 
 do_install_ptest:append:libc-musl () {
 	# Assumes locales other than provided by musl-locales
-	sed -i '/SKIP="$SKIP.*$/a # unixInit-3* is suppressed due to hardcoded locale assumptions\nSKIP="$SKIP unixInit-3\\\*"' ${D}${PTEST_PATH}/run-ptest
+	sed -i '/^SKIP="$SKIP.*$/a # unixInit-3* is suppressed due to hardcoded locale assumptions\nSKIP="$SKIP unixInit-3\\\*"' ${D}${PTEST_PATH}/run-ptest
 }
 
 # Fix some paths that might be used by Tcl extensions
-- 
2.43.0



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

* [PATCH v2 6/8] tcl, tcl8: skip binary-40.3 on RISC-V
  2026-10-17 11:23 ` [PATCH v2 0/8] riscv64 ptest fixes OOHehir
                     ` (4 preceding siblings ...)
  2026-10-17 11:23   ` [PATCH v2 5/8] tcl, tcl8: anchor the musl unixInit-3 skip to top-level SKIP lines OOHehir
@ 2026-10-17 11:23   ` OOHehir
  2026-10-17 11:23   ` [PATCH v2 7/8] ptest-packagelists.inc: re-enable tcl8 for riscv64 OOHehir
  2026-10-17 11:23   ` [PATCH v2 8/8] python3-numpy: call libm for ceil/floor/trunc on riscv64 OOHehir
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-17 11:23 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, mathieu.dubois-briand, OOHehir

binary-40.3 expects a negative float NaN to stay negative when widened to
double. RISC-V returns the positive canonical NaN instead, as the ISA requires,
so the test always fails there. Reported upstream on the matching MIPS ticket.

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 meta/recipes-devtools/tcltk/tcl/run-ptest   | 5 +++++
 meta/recipes-devtools/tcltk8/tcl8/run-ptest | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/meta/recipes-devtools/tcltk/tcl/run-ptest b/meta/recipes-devtools/tcltk/tcl/run-ptest
index 18e03716e3..6991873978 100644
--- a/meta/recipes-devtools/tcltk/tcl/run-ptest
+++ b/meta/recipes-devtools/tcltk/tcl/run-ptest
@@ -38,6 +38,11 @@ SKIP="$SKIP httpProxy-\*"
 SKIP="$SKIP mutex-condition-\*"
 # Timer-related tests are going to be fragile (16324)
 SKIP="$SKIP timer-\*"
+# RISC-V widens a negative float NaN to the positive canonical NaN, so the
+# sign check fails: https://core.tcl-lang.org/tcl/tktview/bf029ced86
+case "$(uname -m)" in
+riscv*) SKIP="$SKIP binary-40.3" ;;
+esac
 
 # Run all tests in tests/*.test unless tests are specified as arguments
 TESTS=${*:-tests/*.test}
diff --git a/meta/recipes-devtools/tcltk8/tcl8/run-ptest b/meta/recipes-devtools/tcltk8/tcl8/run-ptest
index 40666ef851..aa0959f013 100644
--- a/meta/recipes-devtools/tcltk8/tcl8/run-ptest
+++ b/meta/recipes-devtools/tcltk8/tcl8/run-ptest
@@ -36,6 +36,11 @@ SKIP="$SKIP http11-\*"
 SKIP="$SKIP httpProxy-\*"
 # Timer-related tests are going to be fragile (16324)
 SKIP="$SKIP timer-\*"
+# RISC-V widens a negative float NaN to the positive canonical NaN, so the
+# sign check fails: https://core.tcl-lang.org/tcl/tktview/bf029ced86
+case "$(uname -m)" in
+riscv*) SKIP="$SKIP binary-40.3" ;;
+esac
 
 # Run all tests in tests/*.test unless tests are specified as arguments
 TESTS=${*:-tests/*.test}
-- 
2.43.0



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

* [PATCH v2 7/8] ptest-packagelists.inc: re-enable tcl8 for riscv64
  2026-10-17 11:23 ` [PATCH v2 0/8] riscv64 ptest fixes OOHehir
                     ` (5 preceding siblings ...)
  2026-10-17 11:23   ` [PATCH v2 6/8] tcl, tcl8: skip binary-40.3 on RISC-V OOHehir
@ 2026-10-17 11:23   ` OOHehir
  2026-10-17 11:23   ` [PATCH v2 8/8] python3-numpy: call libm for ceil/floor/trunc on riscv64 OOHehir
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-17 11:23 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, mathieu.dubois-briand, OOHehir

The previous commit skips binary-40.3, its only failure on riscv64.
core-image-ptest-tcl8 on qemuriscv64: 152 pass, 0 fail, 607 s. On a
VisionFive 2 (JH7110), binary-40.3 was the only failure.

tcl stays parked: under TCG, unicodeNormalize.test prints nothing for more
than 450 s & ptest-runner kills it. The binary-40.3 skip still helps tcl on
hardware.

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 meta/conf/distro/include/ptest-packagelists.inc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 97c6e35050..1b76023621 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -164,8 +164,8 @@ PTESTS_PROBLEMS:append:riscv32 = " lttng-tools strace"
 PTESTS_SLOW:append:libc-musl = " libc-test"
 
 # These tests don't yet pass for riscv64
-PTESTS_SLOW:remove:riscv64 = "tcl tcl8 python3-cffi lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
-PTESTS_PROBLEMS:append:riscv64 = " tcl tcl8 python3-cffi lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
+PTESTS_SLOW:remove:riscv64 = "tcl python3-cffi lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
+PTESTS_PROBLEMS:append:riscv64 = " tcl python3-cffi lttng-tools python3-numpy perl glib-2.0 zstd libpcap"
 
 # These tests don't yet pass for musl qemuarm64
 PTESTS_SLOW:remove:libc-musl:qemuarm64 = "strace perl gnutls glib-2.0"
-- 
2.43.0



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

* [PATCH v2 8/8] python3-numpy: call libm for ceil/floor/trunc on riscv64
  2026-10-17 11:23 ` [PATCH v2 0/8] riscv64 ptest fixes OOHehir
                     ` (6 preceding siblings ...)
  2026-10-17 11:23   ` [PATCH v2 7/8] ptest-packagelists.inc: re-enable tcl8 for riscv64 OOHehir
@ 2026-10-17 11:23   ` OOHehir
  7 siblings, 0 replies; 19+ messages in thread
From: OOHehir @ 2026-10-17 11:23 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem, tgamblin, mathieu.dubois-briand, OOHehir

numpy builds with -std=c11, so GCC 15 onwards expands ceil/floor/trunc
inline on riscv64, & its first scheduling pass moves the fcvt above the
|x| < 2^52 check. ceil(+-inf) & ceil(1e300) then raise FE_INVALID, & the
72 cases of test_unary_spurious_fpexception fail. Confirmed as
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127908.

-fno-fp-int-builtin-inexact makes GCC call libm, which handles these
inputs correctly. python3-numpy-ptest on a VisionFive 2 (JH7110), with
2.5.3: 45770 pass, 0 fail. On qemuriscv64 with PTEST_RUNNER_TIMEOUT = "7200",
with 2.5.4: 45993 pass, 0 fail.

Signed-off-by: OOHehir <oo.hehir@gmail.com>
---
 meta/recipes-devtools/python/python3-numpy_2.5.4.bb | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta/recipes-devtools/python/python3-numpy_2.5.4.bb b/meta/recipes-devtools/python/python3-numpy_2.5.4.bb
index 93aa356db1..275c49690b 100644
--- a/meta/recipes-devtools/python/python3-numpy_2.5.4.bb
+++ b/meta/recipes-devtools/python/python3-numpy_2.5.4.bb
@@ -26,6 +26,11 @@ PACKAGECONFIG[svml] = "-Ddisable-svml=false,-Ddisable-svml=true"
 # the overflow tests fail with compiler-rt on aarch64
 LDFLAGS:append:toolchain-clang:aarch64 = " -rtlib=libgcc -unwindlib=libgcc"
 
+# GCC 15+ inlines ceil/floor/trunc on riscv64 with the fcvt ahead of the range
+# check, so +-inf raises FE_INVALID; call libm instead. GCC PR 127908.
+CFLAGS:append:toolchain-gcc:riscv64 = " -fno-fp-int-builtin-inexact"
+CXXFLAGS:append:toolchain-gcc:riscv64 = " -fno-fp-int-builtin-inexact"
+
 # To ensure reproducibility, remove entries from __config__ which expose build
 # machine details, such as build paths, host paths, and hardware configuration.
 strip_build_info() {
-- 
2.43.0



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

end of thread, other threads:[~2026-10-17 11:24 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-16 20:45 [PATCH 0/7] riscv64 ptest fixes OOHehir
2026-10-16 20:45 ` [PATCH 1/7] strace: skip qual_fault-syscall.test on riscv64 OOHehir
2026-10-16 20:45 ` [PATCH 2/7] ptest-packagelists.inc: re-enable strace for riscv64 OOHehir
2026-10-16 20:45 ` [PATCH 3/7] ptest-packagelists.inc: re-enable python3 " OOHehir
2026-10-16 20:45 ` [PATCH 4/7] lttng-tools: skip kernel cases when kernel tests are disabled OOHehir
2026-10-16 20:45 ` [PATCH 5/7] tcl, tcl8: skip binary-40.3 on RISC-V OOHehir
2026-10-17 10:29   ` [OE-core] " Mathieu Dubois-Briand
2026-10-17 11:21     ` Owen O'Hehir
2026-10-16 20:45 ` [PATCH 6/7] ptest-packagelists.inc: re-enable tcl8 for riscv64 OOHehir
2026-10-16 20:45 ` [PATCH 7/7] python3-numpy: call libm for ceil/floor/trunc on riscv64 OOHehir
2026-10-17 11:23 ` [PATCH v2 0/8] riscv64 ptest fixes OOHehir
2026-10-17 11:23   ` [PATCH v2 1/8] strace: skip qual_fault-syscall.test on riscv64 OOHehir
2026-10-17 11:23   ` [PATCH v2 2/8] ptest-packagelists.inc: re-enable strace for riscv64 OOHehir
2026-10-17 11:23   ` [PATCH v2 3/8] ptest-packagelists.inc: re-enable python3 " OOHehir
2026-10-17 11:23   ` [PATCH v2 4/8] lttng-tools: skip kernel cases when kernel tests are disabled OOHehir
2026-10-17 11:23   ` [PATCH v2 5/8] tcl, tcl8: anchor the musl unixInit-3 skip to top-level SKIP lines OOHehir
2026-10-17 11:23   ` [PATCH v2 6/8] tcl, tcl8: skip binary-40.3 on RISC-V OOHehir
2026-10-17 11:23   ` [PATCH v2 7/8] ptest-packagelists.inc: re-enable tcl8 for riscv64 OOHehir
2026-10-17 11:23   ` [PATCH v2 8/8] python3-numpy: call libm for ceil/floor/trunc on riscv64 OOHehir

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox