This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.26.9000-1002-g00c714d


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  00c714df398b63934540d95ce3792596f7a94a6c (commit)
      from  8e1472d2c1e25e6eabc2059170731365f6d5b3d1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=00c714df398b63934540d95ce3792596f7a94a6c

commit 00c714df398b63934540d95ce3792596f7a94a6c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Dec 18 12:24:26 2017 -0800

    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.

diff --git a/ChangeLog b/ChangeLog
index a46375f..e7d5d4b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2017-12-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[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.
+
 2017-12-18  Florian Weimer  <fweimer@redhat.com>
 
 	[BZ #20204]
diff --git a/Makeconfig b/Makeconfig
index 99cc136..80c498e 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -464,8 +464,10 @@ endif
 # Commands for linking programs with the C library.
 ifndef +link
 ifeq (yes,$(build-shared))
-ifeq (yes,$(build-pie-default))
+ifeq (yes,$(cc-pie-default))
 no-pie-ldflag = -no-pie
+endif
+ifeq (yes,$(build-pie-default))
 +link = $(+link-pie)
 +link-tests = $(+link-pie-tests)
 +link-printers-tests = $(+link-pie-printers-tests)
diff --git a/config.make.in b/config.make.in
index 04513db..9e5e24b 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@
diff --git a/configure b/configure
index 9da9fb2..7a8bd3f 100755
--- a/configure
+++ b/configure
@@ -596,6 +596,7 @@ static_nss
 profile
 libc_cv_multidir
 libc_cv_pie_default
+libc_cv_cc_pie_default
 libc_cv_pic_default
 shared
 static
@@ -6748,22 +6749,24 @@ $as_echo "$libc_cv_pic_default" >&6; }
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -fPIE is default" >&5
 $as_echo_n "checking whether -fPIE is default... " >&6; }
-if ${libc_cv_pie_default+:} false; then :
+if ${libc_cv_cc_pie_default+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  libc_cv_pie_default=yes
+  libc_cv_cc_pie_default=yes
 cat > conftest.c <<EOF
 #if defined __PIE__ || defined __pie__ || defined PIE || defined pie
 # error PIE is default.
 #endif
 EOF
 if eval "${CC-cc} -S conftest.c 2>&5 1>&5"; then
-  libc_cv_pie_default=no
+  libc_cv_cc_pie_default=no
 fi
 rm -f conftest.*
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_pie_default" >&5
-$as_echo "$libc_cv_pie_default" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_pie_default" >&5
+$as_echo "$libc_cv_cc_pie_default" >&6; }
+libc_cv_pie_default=$libc_cv_cc_pie_default
+
 
 
 # Set the `multidir' variable by grabbing the variable from the compiler.
diff --git a/configure.ac b/configure.ac
index 8e4006f..ca1282a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1794,17 +1794,19 @@ fi
 rm -f conftest.*])
 AC_SUBST(libc_cv_pic_default)
 
-AC_CACHE_CHECK([whether -fPIE is default], libc_cv_pie_default,
-[libc_cv_pie_default=yes
+AC_CACHE_CHECK([whether -fPIE is default], libc_cv_cc_pie_default,
+[libc_cv_cc_pie_default=yes
 cat > conftest.c <<EOF
 #if defined __PIE__ || defined __pie__ || defined PIE || defined pie
 # error PIE is default.
 #endif
 EOF
 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
-  libc_cv_pie_default=no
+  libc_cv_cc_pie_default=no
 fi
 rm -f conftest.*])
+libc_cv_pie_default=$libc_cv_cc_pie_default
+AC_SUBST(libc_cv_cc_pie_default)
 AC_SUBST(libc_cv_pie_default)
 
 # Set the `multidir' variable by grabbing the variable from the compiler.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog      |   11 +++++++++++
 Makeconfig     |    4 +++-
 config.make.in |    1 +
 configure      |   13 ++++++++-----
 configure.ac   |    8 +++++---
 5 files changed, 28 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]