From 00c714df398b63934540d95ce3792596f7a94a6c Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 18 Dec 2017 12:24:26 -0800 Subject: 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. --- config.make.in | 1 + 1 file changed, 1 insertion(+) (limited to 'config.make.in') 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@ -- cgit 1.4.1