[PATCH 3/3] jit: testsuite: Skip test-threads.c with --enable-gather-detailed-mem-stats

Lewis Hyatt <[email protected]> Sat, 1 Aug 2026 10:02:43 -0400
Newsgroups gmane.comp.gcc.patches
Message-ID <[email protected]>
The memory statistics infrastructure activated when GCC has been configured
with --enable-gather-detailed-mem-stats makes use of global variables that
are not intended to be thread safe, so the JIT test-threads.c, which runs
tests simultaneously in multiple threads, runs into race condition
issues. Skip the test in this case.

gcc/testsuite/ChangeLog:

	* lib/target-supports.exp
	(check_effective_target_detailed_mem_stats): New procedure.
	* jit.dg/test-threads.c: Skip test when statistics gathering was
	configured.
---
 gcc/testsuite/jit.dg/test-threads.c   | 4 ++++
 gcc/testsuite/lib/target-supports.exp | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/gcc/testsuite/jit.dg/test-threads.c b/gcc/testsuite/jit.dg/test-threads.c
index 03fea572e5a..5808c38eba8 100644
--- a/gcc/testsuite/jit.dg/test-threads.c
+++ b/gcc/testsuite/jit.dg/test-threads.c
@@ -1,3 +1,7 @@
+/* The memory statistics gathering infrastructure is not designed to be
+   thread safe.  */
+/* { dg-skip-if "" { detailed_mem_stats } } */
+
 /* test-threads.c
 
    As per test-combination.c, construct a test case by combining other test
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 42cbb5ce3df..10b14d741ee 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -14935,3 +14935,9 @@ proc check_effective_target_can_deref_null { } {
 	}
       } "-O0 -fno-delete-null-pointer-checks -Wno-null-dereference"]
 }
+
+# Return 1 if GCC was configured with --enable-gather-detailed-mem-stats.
+
+proc check_effective_target_detailed_mem_stats {} {
+    return [check_configured_with "enable-gather-detailed-mem-stats"]
+}