about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--Makerules2
-rw-r--r--elf/Makefile5
3 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 965ebe0c32..3e6cbac028 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-06-09  Roland McGrath  <roland@hack.frob.com>
+
+	* Makerules ($(common-objpfx)libc_pic.os): Use -Wl, before -r.
+	* elf/Makefile ($(objpfx)librtld.os): Likewise.
+	(reloc-link): Likewise.
+
 2011-06-09  Ulrich Drepper  <drepper@gmail.com>
 
 	* elf/Makefile: Add rules to build pldd.
diff --git a/Makerules b/Makerules
index 82ffa1e2b8..472948fbc6 100644
--- a/Makerules
+++ b/Makerules
@@ -610,7 +610,7 @@ endif
 # between libc.so and ld.so, which can make it impossible to upgrade.
 ifeq ($(elf),yes)
 $(common-objpfx)libc_pic.os: $(common-objpfx)libc_pic.a
-	$(LINK.o) -nostdlib -nostartfiles -r -o $@ \
+	$(LINK.o) -nostdlib -nostartfiles -Wl,-r -o $@ \
 	$(LDFLAGS-c_pic.os) -Wl,-d -Wl,--whole-archive $^
 # Use our own special initializer and finalizer files for libc.so.
 $(common-objpfx)libc.so: $(elfobjdir)/soinit.os \
diff --git a/elf/Makefile b/elf/Makefile
index 844c9ca56f..5b199e64ed 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -353,7 +353,7 @@ lib-noranlib: $(objpfx)$(rtld-installed-name) \
 endif
 
 # Command to link into a larger single relocatable object.
-reloc-link = $(LINK.o) -nostdlib -nostartfiles -r
+reloc-link = $(LINK.o) -nostdlib -nostartfiles -Wl,-r
 
 $(objpfx)dl-allobjs.os: $(all-rtld-routines:%=$(objpfx)%.os)
 	$(reloc-link) -o $@ $^
@@ -398,7 +398,8 @@ $(objpfx)rtld-libc.a: $(objpfx)librtld.mk FORCE
 	$(MAKE) -f $< -f rtld-Rules
 
 $(objpfx)librtld.os: $(objpfx)dl-allobjs.os $(objpfx)rtld-libc.a
-	$(LINK.o) -nostdlib -nostartfiles -r -o $@ '-Wl,-(' $^ -lgcc '-Wl,-)' \
+	$(LINK.o) -nostdlib -nostartfiles -Wl,-r -o $@ \
+		  '-Wl,-(' $^ -lgcc '-Wl,-)' \
 		  -Wl,-Map,$@.map
 
 generated += librtld.map librtld.mk rtld-libc.a librtld.os.map