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.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


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