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.17-804-gf4a29fb
- From: roland at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 13 Jun 2013 17:27:02 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.17-804-gf4a29fb
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 f4a29fba078c48f9d4c78d06d2ed4bbdf95b3763 (commit)
from ad36ba2bd67398edefe31aa039090912f76bffce (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=f4a29fba078c48f9d4c78d06d2ed4bbdf95b3763
commit f4a29fba078c48f9d4c78d06d2ed4bbdf95b3763
Author: Roland McGrath <roland@hack.frob.com>
Date: Thu Jun 13 10:26:44 2013 -0700
Don't let ld.so that failed its sanity check land in place.
diff --git a/ChangeLog b/ChangeLog
index 1a828ef..b32cced 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-06-13 Roland McGrath <roland@hack.frob.com>
+
+ * elf/Makefile ($(objpfx)ld.so): Link into a temporary file and move
+ it into place only when and if the sanity check passes.
+
2013-06-13 Joseph Myers <joseph@codesourcery.com>
* stdlib/gen-tst-strtod-round.c (round_str): Always generate
diff --git a/elf/Makefile b/elf/Makefile
index 6f40414..3b58649 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -318,13 +318,16 @@ generated += librtld.map librtld.mk rtld-libc.a librtld.os.map
z-now-yes = -Wl,-z,now
$(objpfx)ld.so: $(objpfx)librtld.os $(ld-map)
- $(LINK.o) -nostdlib -nostartfiles -shared -o $@ \
+# Link into a temporary file so that we don't touch $@ at all
+# if the sanity check below fails.
+ $(LINK.o) -nostdlib -nostartfiles -shared -o $@.new \
$(LDFLAGS-rtld) -Wl,-z,defs $(z-now-$(bind-now)) \
$(filter-out $(map-file),$^) $(load-map-file) \
-Wl,-soname=$(rtld-installed-name) \
-Wl,-defsym=_begin=0
- $(READELF) -s $@ \
+ $(READELF) -s $@.new \
| $(AWK) '($$7 ~ /^UND(|EF)$$/ && $$1 != "0:" && $$4 != "REGISTER") { print; p=1 } END { exit p != 0 }'
+ mv -f $@.new $@
# interp.c exists just to get this string into the libraries.
CFLAGS-interp.c = -D'RUNTIME_LINKER="$(rtlddir)/$(rtld-installed-name)"' \
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 5 +++++
elf/Makefile | 7 +++++--
2 files changed, 10 insertions(+), 2 deletions(-)
hooks/post-receive
--
GNU C Library master sources