This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.26.9000-1002-g00c714d
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 18 Dec 2017 20:25:03 -0000
- Subject: 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