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-27-g19f1a11
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 4 Aug 2017 19:17:44 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.26-27-g19f1a11
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 19f1a11e7ea2a5082bae9d9a079338c5658ba954 (commit)
from 3093fd5e5d418b91411aa9b061850b8773433cf7 (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=19f1a11e7ea2a5082bae9d9a079338c5658ba954
commit 19f1a11e7ea2a5082bae9d9a079338c5658ba954
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Aug 4 12:17:15 2017 -0700
Check linker support for INSERT in linker script
Since gold doesn't support INSERT in linker script:
https://sourceware.org/bugzilla/show_bug.cgi?id=21676
tst-split-dynreloc fails to link with gold. Check if linker supports
INSERT in linker script before using it.
* config.make.in (have-insert): New.
* configure.ac (libc_cv_insert): New. Set to yes if linker
supports INSERT in linker script.
(AC_SUBST(libc_cv_insert): New.
* configure: Regenerated.
* sysdeps/x86_64/Makefile (tests): Add tst-split-dynreloc only
if $(have-insert) == yes.
diff --git a/ChangeLog b/ChangeLog
index 33caac7..cc540a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
+ * config.make.in (have-insert): New.
+ * configure.ac (libc_cv_insert): New. Set to yes if linker
+ supports INSERT in linker script.
+ (AC_SUBST(libc_cv_insert): New.
+ * configure: Regenerated.
+ * sysdeps/x86_64/Makefile (tests): Add tst-split-dynreloc only
+ if $(have-insert) == yes.
+
+2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
+
* elf/Makefile (tests): Add vismain only if
$(have-protected-data) == yes.
(tests-pie): Likewise.
diff --git a/config.make.in b/config.make.in
index 5a4a054..7eff1da 100644
--- a/config.make.in
+++ b/config.make.in
@@ -54,6 +54,7 @@ enable-werror = @enable_werror@
have-z-combreloc = @libc_cv_z_combreloc@
have-z-execstack = @libc_cv_z_execstack@
have-protected-data = @libc_cv_protected_data@
+have-insert = @libc_cv_insert@
have-glob-dat-reloc = @libc_cv_has_glob_dat@
with-fp = @with_fp@
enable-timezone-tools = @enable_timezone_tools@
diff --git a/configure b/configure
index d8e1c50..e6a54d7 100755
--- a/configure
+++ b/configure
@@ -629,6 +629,7 @@ libc_cv_z_execstack
libc_cv_z_combreloc
ASFLAGS_config
libc_cv_cc_with_libunwind
+libc_cv_insert
libc_cv_protected_data
BISON
INSTALL_INFO
@@ -5716,6 +5717,38 @@ fi
$as_echo "$libc_cv_protected_data" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker support for INSERT in linker script" >&5
+$as_echo_n "checking linker support for INSERT in linker script... " >&6; }
+if ${libc_cv_insert+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.c <<EOF
+ const int __attribute__ ((section(".bar"))) bar = 0x12345678;
+ int test (void) { return bar; }
+EOF
+ cat > conftest.t <<EOF
+ SECTIONS
+ {
+ .bar : { *(.bar) }
+ }
+ INSERT AFTER .rela.dyn;
+EOF
+ libc_cv_insert=no
+ if { ac_try='${CC-cc} -nostdlib -nostartfiles $no_ssp -fPIC -shared conftest.c -Wl,-T,conftest.t -o conftest.so'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ libc_cv_insert=yes
+ fi
+ rm -f conftest.*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_insert" >&5
+$as_echo "$libc_cv_insert" >&6; }
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((alias()))" >&5
$as_echo_n "checking for broken __attribute__((alias()))... " >&6; }
if ${libc_cv_broken_alias_attribute+:} false; then :
diff --git a/configure.ac b/configure.ac
index 77456aa..2c63088 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1298,6 +1298,27 @@ EOF
])
AC_SUBST(libc_cv_protected_data)
+AC_CACHE_CHECK(linker support for INSERT in linker script,
+ libc_cv_insert,
+ [cat > conftest.c <<EOF
+ const int __attribute__ ((section(".bar"))) bar = 0x12345678;
+ int test (void) { return bar; }
+EOF
+ cat > conftest.t <<EOF
+ SECTIONS
+ {
+ .bar : { *(.bar) }
+ }
+ INSERT AFTER .rela.dyn;
+EOF
+ libc_cv_insert=no
+ if AC_TRY_COMMAND([${CC-cc} -nostdlib -nostartfiles $no_ssp -fPIC -shared conftest.c -Wl,-T,conftest.t -o conftest.so]); then
+ libc_cv_insert=yes
+ fi
+ rm -f conftest.*
+ ])
+AC_SUBST(libc_cv_insert)
+
AC_CACHE_CHECK(for broken __attribute__((alias())),
libc_cv_broken_alias_attribute,
[cat > conftest.c <<EOF
diff --git a/sysdeps/x86_64/Makefile b/sysdeps/x86_64/Makefile
index 132470d..7f3ffe3 100644
--- a/sysdeps/x86_64/Makefile
+++ b/sysdeps/x86_64/Makefile
@@ -59,9 +59,11 @@ test-extras += tst-audit4-aux tst-audit10-aux \
extra-test-objs += tst-audit4-aux.o tst-audit10-aux.o \
tst-avx-aux.o tst-avx512-aux.o
+ifeq ($(have-insert),yes)
tests += tst-split-dynreloc
LDFLAGS-tst-split-dynreloc = -Wl,-T,$(..)sysdeps/x86_64/tst-split-dynreloc.lds
tst-split-dynreloc-ENV = LD_BIND_NOW=1
+endif
modules-names += tst-auditmod3a tst-auditmod3b \
tst-auditmod4a tst-auditmod4b \
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 10 ++++++++++
config.make.in | 1 +
configure | 33 +++++++++++++++++++++++++++++++++
configure.ac | 21 +++++++++++++++++++++
sysdeps/x86_64/Makefile | 2 ++
5 files changed, 67 insertions(+), 0 deletions(-)
hooks/post-receive
--
GNU C Library master sources