about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2011-06-10 23:37:35 -0700
committerRoland McGrath <roland@hack.frob.com>2011-06-10 23:37:35 -0700
commitdecd4e50b6faa6b148fe7ef99536ba9f95183a00 (patch)
tree2b8da73e37d4f05953b528de4aa3d0c1ed8a44a1
parent5615eaf26469f20c2d8c3be5770e12564a1edfff (diff)
downloadglibc-decd4e50b6faa6b148fe7ef99536ba9f95183a00.tar.gz
glibc-decd4e50b6faa6b148fe7ef99536ba9f95183a00.tar.xz
glibc-decd4e50b6faa6b148fe7ef99536ba9f95183a00.zip
Better detect total failure of linker script generation.
-rw-r--r--ChangeLog3
-rw-r--r--Makerules1
-rw-r--r--elf/Makefile1
3 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8d30749675..604619f209 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2011-06-10  Roland McGrath  <roland@hack.frob.com>
 
+	* Makerules (shlib.lds): Fail if the linker script comes out empty.
+	* elf/Makefile ($(objpfx)ld.so): Likewise.
+
 	* Makefile ($(common-objpfx)linkobj/libc.so): Break long lines with \.
 	Don't list ld.so twice in dependencies.
 
diff --git a/Makerules b/Makerules
index 82ffa1e2b8..6b4b0e10e4 100644
--- a/Makerules
+++ b/Makerules
@@ -510,6 +510,7 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
 		 __libc_thread_subfreeres : { *(__libc_thread_subfreeres) }\
 		 PROVIDE(__stop___libc_thread_subfreeres = .);\
 		 /DISCARD/ : { *(.gnu.glibc-stub.*) }@'
+	test -s $@T
 	mv -f $@T $@
 common-generated += shlib.lds
 
diff --git a/elf/Makefile b/elf/Makefile
index 844c9ca56f..5c057387ed 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -413,6 +413,7 @@ $(objpfx)ld.so: $(objpfx)librtld.os $(ld-map)
 		  sed -e '/^=========/,/^=========/!d;/^=========/d'	\
 		      -e 's/\. = .* + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
 		  > $@.lds
+	test -s $@.lds
 	$(LINK.o) -nostdlib -nostartfiles -shared -o $@			\
 		  $(LDFLAGS-rtld) -Wl,-z,defs $(z-now-$(bind-now))	\
 		  $(filter-out $(map-file),$^) $(load-map-file)		\