From: Serhiy Storchaka Date: Sat, 11 Jul 2026 09:49:12 +0000 (+0300) Subject: gh-126877: Fix the configure check for Tcl/Tk with optimizing compilers (GH-153543) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff0a9ae269fa38c21f01bdea1a7ff5d439c4f681;p=thirdparty%2FPython%2Fcpython.git gh-126877: Fix the configure check for Tcl/Tk with optimizing compilers (GH-153543) The check assigned the addresses of Tcl_Init() and Tk_Init() to unused variables, which optimizing compilers can eliminate, so it linked even when the libraries were missing. Call the functions instead. Co-authored-by: Claude Opus 4.8 --- diff --git a/Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst b/Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst new file mode 100644 index 000000000000..1d7d4fad886c --- /dev/null +++ b/Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst @@ -0,0 +1,2 @@ +Fix the :program:`configure` check for Tcl/Tk which could wrongly succeed +with optimizing compilers when the libraries are missing. diff --git a/configure b/configure index 17b7ef765cc7..c15bc2867b94 100755 --- a/configure +++ b/configure @@ -17975,8 +17975,8 @@ int main (void) { - void *x1 = Tcl_Init; - void *x2 = Tk_Init; + Tcl_Init(NULL); + Tk_Init(NULL); ; return 0; diff --git a/configure.ac b/configure.ac index ab64ac8769b5..2726a835efc5 100644 --- a/configure.ac +++ b/configure.ac @@ -4618,8 +4618,8 @@ WITH_SAVE_ENV([ # error "Tk older than 8.5.12 not supported" #endif ], [ - void *x1 = Tcl_Init; - void *x2 = Tk_Init; + Tcl_Init(NULL); + Tk_Init(NULL); ]) ], [ have_tcltk=yes