diff --git a/Misc/NEWS.d/next/Build/2022-07-14-11-13-26.gh-issue-94847.s3Kr5p.rst b/Misc/NEWS.d/next/Build/2022-07-14-11-13-26.gh-issue-94847.s3Kr5p.rst new file mode 100644 index 00000000000..a6d1e7277da --- /dev/null +++ b/Misc/NEWS.d/next/Build/2022-07-14-11-13-26.gh-issue-94847.s3Kr5p.rst @@ -0,0 +1,2 @@ +Fixed ``_decimal`` module build issue on GCC when compiling with LTO and +pydebug. Debug builds no longer force inlining of functions. diff --git a/configure b/configure index df6b193433e..d607c5e5d37 100755 --- a/configure +++ b/configure @@ -12522,6 +12522,12 @@ else LIBMPDEC_LDFLAGS="-lm \$(LIBMPDEC_A)" LIBMPDEC_INTERNAL="\$(LIBMPDEC_A)" + if test "x$with_pydebug" = xyes; then : + + as_fn_append LIBMPDEC_CFLAGS " -DTEST_COVERAGE" + +fi + fi diff --git a/configure.ac b/configure.ac index 1aa1c298ffe..c5924169e03 100644 --- a/configure.ac +++ b/configure.ac @@ -3697,6 +3697,11 @@ AS_VAR_IF([with_system_libmpdec], [yes], [ LIBMPDEC_CFLAGS="-I\$(srcdir)/Modules/_decimal/libmpdec" LIBMPDEC_LDFLAGS="-lm \$(LIBMPDEC_A)" LIBMPDEC_INTERNAL="\$(LIBMPDEC_A)" + + dnl Disable forced inlining in debug builds, see GH-94847 + AS_VAR_IF([with_pydebug], [yes], [ + AS_VAR_APPEND([LIBMPDEC_CFLAGS], [" -DTEST_COVERAGE"]) + ]) ]) AC_SUBST([LIBMPDEC_CFLAGS])