From 06fe77a84bd29d51506ab2ff703ae585a6121af2 Mon Sep 17 00:00:00 2001
From: Victor Stinner <vstinner@redhat.com>
Date: Tue, 19 Jun 2018 18:24:58 +0200
Subject: [PATCH] bpo-30345: Add -g to LDFLAGS for LTO (GH-7709)

Add -g to LDFLAGS when compiling with LTO to get debug symbols.
---
 .../next/Build/2018-06-15-18-18-16.bpo-30345.j-xRE1.rst   | 1 +
 configure                                                 | 8 ++++++++
 configure.ac                                              | 8 ++++++++
 3 files changed, 17 insertions(+)
 create mode 100644 Misc/NEWS.d/next/Build/2018-06-15-18-18-16.bpo-30345.j-xRE1.rst

diff --git a/Misc/NEWS.d/next/Build/2018-06-15-18-18-16.bpo-30345.j-xRE1.rst b/Misc/NEWS.d/next/Build/2018-06-15-18-18-16.bpo-30345.j-xRE1.rst
new file mode 100644
index 0000000000..f8db09bdbc
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2018-06-15-18-18-16.bpo-30345.j-xRE1.rst
@@ -0,0 +1 @@
+Add -g to LDFLAGS when compiling with LTO to get debug symbols.
diff --git a/configure b/configure
index 5187c6ff2b..d427703f8e 100755
--- a/configure
+++ b/configure
@@ -6427,6 +6427,14 @@ if test "$Py_LTO" = 'true' ; then
       esac
       ;;
   esac
+
+  if test "$ac_cv_prog_cc_g" = "yes"
+  then
+      # bpo-30345: Add -g to LDFLAGS when compiling with LTO
+      # to get debug symbols.
+      LTOFLAGS="$LTOFLAGS -g"
+  fi
+
   CFLAGS="$CFLAGS $LTOFLAGS"
   LDFLAGS="$LDFLAGS $LTOFLAGS"
 fi
diff --git a/configure.ac b/configure.ac
index b13728e37d..b98ceb2b14 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1302,6 +1302,14 @@ if test "$Py_LTO" = 'true' ; then
       esac
       ;;
   esac
+
+  if test "$ac_cv_prog_cc_g" = "yes"
+  then
+      # bpo-30345: Add -g to LDFLAGS when compiling with LTO
+      # to get debug symbols.
+      LTOFLAGS="$LTOFLAGS -g"
+  fi
+
   CFLAGS="$CFLAGS $LTOFLAGS"
   LDFLAGS="$LDFLAGS $LTOFLAGS"
 fi
-- 
2.40.0