aboutsummaryrefslogtreecommitdiff
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.zip
glibc-decd4e50b6faa6b148fe7ef99536ba9f95183a00.tar.gz
glibc-decd4e50b6faa6b148fe7ef99536ba9f95183a00.tar.bz2
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 8d30749..604619f 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 82ffa1e..6b4b0e1 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 844c9ca..5c05738 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) \