From 3b45df03a4bd0e21edec43144b8d9bac689d23a0 Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Mon, 16 Sep 2024 16:03:16 -0400 Subject: gh-124043: Disallow mixing `--with-trace-refs` and `--disable-gil` (#124078) Tracing references is not currently thread-safe in the free-threaded build. --- Misc/NEWS.d/next/Build/2024-09-13-17-48-37.gh-issue-124043.Bruxpq.rst | 2 ++ configure | 4 ++++ configure.ac | 4 ++++ 3 files changed, 10 insertions(+) create mode 100644 Misc/NEWS.d/next/Build/2024-09-13-17-48-37.gh-issue-124043.Bruxpq.rst diff --git a/Misc/NEWS.d/next/Build/2024-09-13-17-48-37.gh-issue-124043.Bruxpq.rst b/Misc/NEWS.d/next/Build/2024-09-13-17-48-37.gh-issue-124043.Bruxpq.rst new file mode 100644 index 0000000..8111b76 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2024-09-13-17-48-37.gh-issue-124043.Bruxpq.rst @@ -0,0 +1,2 @@ +Building using :option:`--with-trace-refs` is (temporarily) disallowed when the +GIL is disabled. diff --git a/configure b/configure index ba4fc93..b7055a8 100755 --- a/configure +++ b/configure @@ -8234,6 +8234,10 @@ printf "%s\n" "#define Py_TRACE_REFS 1" >>confdefs.h fi +if test "$disable_gil" = "yes" -a "$with_trace_refs" = "yes"; +then + as_fn_error $? "--disable-gil cannot be used with --with-trace-refs" "$LINENO" 5 +fi # Check for --enable-pystats { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for --enable-pystats" >&5 diff --git a/configure.ac b/configure.ac index 5fc7e08..ab6233a 100644 --- a/configure.ac +++ b/configure.ac @@ -1777,6 +1777,10 @@ then [Define if you want to enable tracing references for debugging purpose]) fi +if test "$disable_gil" = "yes" -a "$with_trace_refs" = "yes"; +then + AC_MSG_ERROR([--disable-gil cannot be used with --with-trace-refs]) +fi # Check for --enable-pystats AC_MSG_CHECKING([for --enable-pystats]) -- cgit v0.12