This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch release/2.22/master updated. glibc-2.22-25-ga7e6fd7
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 15 Nov 2015 21:57:39 -0000
- Subject: GNU C Library master sources branch release/2.22/master updated. glibc-2.22-25-ga7e6fd7
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, release/2.22/master has been updated
via a7e6fd7d41c895940d059468984c61b172acf2b2 (commit)
from f0489b8314a59fd920ea6794e5e67428626f9260 (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=a7e6fd7d41c895940d059468984c61b172acf2b2
commit a7e6fd7d41c895940d059468984c61b172acf2b2
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Nov 14 12:00:16 2015 -0800
Run tst-prelink test for GLOB_DAT reloc
Run tst-prelink test on targets with GLOB_DAT relocaton.
* config.make.in (have-glob-dat-reloc): New.
* configure.ac (libc_cv_has_glob_dat): New. Set to yes if
target supports GLOB_DAT relocaton. AC_SUBST.
* configure: Regenerated.
* elf/Makefile (tests): Add tst-prelink.
(tests-special): Add $(objpfx)tst-prelink-cmp.out.
(tst-prelink-ENV): New.
($(objpfx)tst-prelink-conflict.out): Likewise.
($(objpfx)tst-prelink-cmp.out): Likewise.
* sysdeps/x86/tst-prelink.c: Moved to ...
* elf/tst-prelink.c: Here.
* sysdeps/x86/tst-prelink.exp: Moved to ...
* elf/tst-prelink.exp: Here.
* sysdeps/x86/Makefile (tests): Don't add tst-prelink.
(tst-prelink-ENV): Removed.
($(objpfx)tst-prelink-conflict.out): Likewise.
($(objpfx)tst-prelink-cmp.out): Likewise.
(tests-special): Don't add $(objpfx)tst-prelink-cmp.out.
(cherry picked from commit 89569c8bb6b386db4881af0e96514d2ec5c35478)
diff --git a/ChangeLog b/ChangeLog
index 29dce7d..e24c08e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2015-11-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.make.in (have-glob-dat-reloc): New.
+ * configure.ac (libc_cv_has_glob_dat): New. Set to yes if
+ target supports GLOB_DAT relocaton. AC_SUBST.
+ * configure: Regenerated.
+ * elf/Makefile (tests): Add tst-prelink.
+ (tests-special): Add $(objpfx)tst-prelink-cmp.out.
+ (tst-prelink-ENV): New.
+ ($(objpfx)tst-prelink-conflict.out): Likewise.
+ ($(objpfx)tst-prelink-cmp.out): Likewise.
+ * sysdeps/x86/tst-prelink.c: Moved to ...
+ * elf/tst-prelink.c: Here.
+ * sysdeps/x86/tst-prelink.exp: Moved to ...
+ * elf/tst-prelink.exp: Here.
+ * sysdeps/x86/Makefile (tests): Don't add tst-prelink.
+ (tst-prelink-ENV): Removed.
+ ($(objpfx)tst-prelink-conflict.out): Likewise.
+ ($(objpfx)tst-prelink-cmp.out): Likewise.
+ (tests-special): Don't add $(objpfx)tst-prelink-cmp.out.
+
2015-11-10 Roland McGrath <roland@hack.frob.com>
* elf/dl-load.c (open_verify): Take new argument FD.
diff --git a/config.make.in b/config.make.in
index a9f5696..46cd9bb 100644
--- a/config.make.in
+++ b/config.make.in
@@ -51,6 +51,7 @@ have-z-combreloc = @libc_cv_z_combreloc@
have-z-execstack = @libc_cv_z_execstack@
have-Bgroup = @libc_cv_Bgroup@
have-protected-data = @libc_cv_protected_data@
+have-glob-dat-reloc = @libc_cv_has_glob_dat@
with-fp = @with_fp@
old-glibc-headers = @old_glibc_headers@
unwind-find-fde = @libc_cv_gcc_unwind_find_fde@
diff --git a/configure b/configure
index 45cc7cb..4f87b31 100755
--- a/configure
+++ b/configure
@@ -628,6 +628,7 @@ gnu89_inline
libc_cv_ssp
fno_unit_at_a_time
libc_cv_output_format
+libc_cv_has_glob_dat
libc_cv_hashstyle
libc_cv_fpie
libc_cv_z_execstack
@@ -6335,6 +6336,39 @@ $as_echo "$libc_cv_use_default_link" >&6; }
use_default_link=$libc_cv_use_default_link
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_DAT reloc" >&5
+$as_echo_n "checking for GLOB_DAT reloc... " >&6; }
+if ${libc_cv_has_glob_dat+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.c <<EOF
+extern int mumble;
+int foo (void) { return mumble; }
+EOF
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ -fPIC -shared -o conftest.so conftest.c
+ -nostdlib -nostartfiles
+ 1>&5'
+ { { 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
+ if $READELF -rW conftest.so | grep '_GLOB_DAT' > /dev/null; then
+ libc_cv_has_glob_dat=yes
+ else
+ libc_cv_has_glob_dat=no
+ fi
+else
+ libc_cv_has_glob_dat=no
+fi
+rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_has_glob_dat" >&5
+$as_echo "$libc_cv_has_glob_dat" >&6; }
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker output format" >&5
$as_echo_n "checking linker output format... " >&6; }
if ${libc_cv_output_format+:} false; then :
diff --git a/configure.ac b/configure.ac
index 7e9383a..8be612d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1535,6 +1535,29 @@ $ac_try"
use_default_link=$libc_cv_use_default_link
fi
+AC_CACHE_CHECK(for GLOB_DAT reloc,
+ libc_cv_has_glob_dat, [dnl
+cat > conftest.c <<EOF
+extern int mumble;
+int foo (void) { return mumble; }
+EOF
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ -fPIC -shared -o conftest.so conftest.c
+ -nostdlib -nostartfiles
+ 1>&AS_MESSAGE_LOG_FD])
+then
+dnl look for GLOB_DAT relocation.
+ if $READELF -rW conftest.so | grep '_GLOB_DAT' > /dev/null; then
+ libc_cv_has_glob_dat=yes
+ else
+ libc_cv_has_glob_dat=no
+ fi
+else
+ libc_cv_has_glob_dat=no
+fi
+rm -f conftest*])
+AC_SUBST(libc_cv_has_glob_dat)
+
AC_CACHE_CHECK(linker output format, libc_cv_output_format, [dnl
if libc_cv_output_format=`
${CC-cc} -nostartfiles -nostdlib -Wl,--print-output-format 2>&AS_MESSAGE_LOG_FD`
diff --git a/elf/Makefile b/elf/Makefile
index 71a18a1..a2c43bc 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -293,6 +293,13 @@ check-abi: $(objpfx)check-abi-ld.out
tests-special += $(objpfx)check-abi-ld.out
update-abi: update-abi-ld
+ifeq ($(have-glob-dat-reloc),yes)
+tests += tst-prelink
+ifeq ($(run-built-tests),yes)
+tests-special += $(objpfx)tst-prelink-cmp.out
+endif
+endif
+
include ../Rules
ifeq (yes,$(build-shared))
@@ -1212,3 +1219,13 @@ $(objpfx)tst-unused-dep.out: $(objpfx)testobj1.so
$(objpfx)tst-unused-dep-cmp.out: $(objpfx)tst-unused-dep.out
cmp $< /dev/null > $@; \
$(evaluate-test)
+
+tst-prelink-ENV = LD_TRACE_PRELINKING=1
+
+$(objpfx)tst-prelink-conflict.out: $(objpfx)tst-prelink.out
+ grep stdout $< | grep conflict | $(AWK) '{ print $$10, $$11 }' > $@
+
+$(objpfx)tst-prelink-cmp.out: tst-prelink.exp \
+ $(objpfx)tst-prelink-conflict.out
+ cmp $^ > $@; \
+ $(evaluate-test)
diff --git a/sysdeps/x86/tst-prelink.c b/elf/tst-prelink.c
similarity index 100%
rename from sysdeps/x86/tst-prelink.c
rename to elf/tst-prelink.c
diff --git a/sysdeps/x86/tst-prelink.exp b/elf/tst-prelink.exp
similarity index 100%
rename from sysdeps/x86/tst-prelink.exp
rename to elf/tst-prelink.exp
diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile
index 032c1e7..19f5eca 100644
--- a/sysdeps/x86/Makefile
+++ b/sysdeps/x86/Makefile
@@ -7,19 +7,4 @@ $(objpfx)tst-ld-sse-use.out: ../sysdeps/x86/tst-ld-sse-use.sh $(objpfx)ld.so
@echo "Checking ld.so for SSE register use. This will take a few seconds..."
$(BASH) $< $(objpfx) '$(NM)' '$(OBJDUMP)' '$(READELF)' > $@; \
$(evaluate-test)
-
-tests += tst-prelink
-tst-prelink-ENV = LD_TRACE_PRELINKING=1
-
-$(objpfx)tst-prelink-conflict.out: $(objpfx)tst-prelink.out
- grep stdout $< | grep conflict | $(AWK) '{ print $$10, $$11 }' > $@
-
-$(objpfx)tst-prelink-cmp.out: $(..)sysdeps/x86/tst-prelink.exp \
- $(objpfx)tst-prelink-conflict.out
- cmp $^ > $@; \
- $(evaluate-test)
-
-ifeq ($(run-built-tests),yes)
-tests-special += $(objpfx)tst-prelink-cmp.out
-endif
endif
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 21 +++++++++++++++++++++
config.make.in | 1 +
configure | 34 ++++++++++++++++++++++++++++++++++
configure.ac | 23 +++++++++++++++++++++++
elf/Makefile | 17 +++++++++++++++++
{sysdeps/x86 => elf}/tst-prelink.c | 0
{sysdeps/x86 => elf}/tst-prelink.exp | 0
sysdeps/x86/Makefile | 15 ---------------
8 files changed, 96 insertions(+), 15 deletions(-)
rename {sysdeps/x86 => elf}/tst-prelink.c (100%)
rename {sysdeps/x86 => elf}/tst-prelink.exp (100%)
hooks/post-receive
--
GNU C Library master sources