summary refs log tree commit diff
path: root/config.make.in
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-12-18 12:24:26 -0800
committerH.J. Lu <hjl.tools@gmail.com>2017-12-18 12:24:38 -0800
commit00c714df398b63934540d95ce3792596f7a94a6c (patch)
treef96ed5735a44f5a6afff6efafe5dc86f1b93fecb /config.make.in
parent8e1472d2c1e25e6eabc2059170731365f6d5b3d1 (diff)
downloadglibc-00c714df398b63934540d95ce3792596f7a94a6c.tar.gz
glibc-00c714df398b63934540d95ce3792596f7a94a6c.tar.xz
glibc-00c714df398b63934540d95ce3792596f7a94a6c.zip
Pass -no-pie to GCC only if GCC defaults to PIE [BZ #22614]
After --enable-static-pie is added to configure, libc_cv_pie_default is
set to yes when either --enable-static-pie is used to configure glibc
or GCC defaults to PIE.  We should set no-pie-ldflag to -no-pie, which
is supported on GCC 6 and later, only if GCC defaults to PIE, not when
--enable-static-pie is used to configure glibc.

Tested on x32 with --enable-static-pie using GCC 5 and without
--enable-static-pie using GCC 7.

	[BZ #22614]
	* Makeconfig (no-pie-ldflag): Set to -no-pie only if
	$(cc-pie-default) == yes.
	* config.make.in (cc-pie-default): New.
	* configure.ac (libc_cv_pie_default): Renamed to ...
	(libc_cv_cc_pie_default): This.
	(libc_cv_pie_default): Set to $libc_cv_cc_pie_default.
	* configure: Regenerated.
Diffstat (limited to 'config.make.in')
-rw-r--r--config.make.in1
1 files changed, 1 insertions, 0 deletions
diff --git a/config.make.in b/config.make.in
index 04513dbb74..9e5e24b2c6 100644
--- a/config.make.in
+++ b/config.make.in
@@ -89,6 +89,7 @@ static-nss-crypt = @libc_cv_static_nss_crypt@
 build-shared = @shared@
 build-pic-default= @libc_cv_pic_default@
 build-pie-default= @libc_cv_pie_default@
+cc-pie-default= @libc_cv_cc_pie_default@
 build-profile = @profile@
 build-static-nss = @static_nss@
 cross-compiling = @cross_compiling@