This is the mail archive of the libc-alpha@sources.redhat.com 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]

PATCH: Fix -z combreloc


If ld supports `-z combreloc' and `-z combreloc' is not enabled by
default, ld.so won't run. Here is a patch.


H.J.
---
2001-08-28  H.J. Lu  <hjl@gnu.org>

	* Makeconfig (combreloc-LDFLAGS): New.

	* config.make.in (have-z-combreloc): New.

	* configure.in: Substitute libc_cv_z_combreloc.
	* configure: Rebuild.

	* elf/Makefile ($(objpfx)ld.so): Add $(combreloc-LDFLAGS).

--- libc/Makeconfig.combreloc	Fri Jul 13 12:53:11 2001
+++ libc/Makeconfig	Tue Aug 28 11:22:33 2001
@@ -380,6 +380,10 @@ ifndef static-start-installed-name
 static-start-installed-name = $(start-installed-name)
 endif
 
+ifeq (yesyesyes,$(build-shared)$(elf)$(have-z-combreloc))
+combreloc-LDFLAGS = -Wl,-z,combreloc
+endif
+
 # Command for linking programs with the C library.
 ifndef +link
 +link = $(CC) -nostdlib -nostartfiles -o $@ \
--- libc/config.make.in.combreloc	Mon Jul  9 15:02:21 2001
+++ libc/config.make.in	Tue Aug 28 10:27:23 2001
@@ -40,6 +40,7 @@ have-protected = @libc_cv_asm_protected_
 have-z-nodelete = @libc_cv_z_nodelete@
 have-z-nodlopen = @libc_cv_z_nodlopen@
 have-z-initfirst = @libc_cv_z_initfirst@
+have-z-combreloc = @libc_cv_z_combreloc@
 have-initfini = @libc_cv_have_initfini@
 have-Bgroup = @libc_cv_Bgroup@
 need-nopic-initfini = @nopic_initfini@
--- libc/configure.in.combreloc	Mon Aug 27 11:42:37 2001
+++ libc/configure.in	Tue Aug 28 10:26:49 2001
@@ -1087,6 +1087,7 @@ dnl look for a section named .rel.dyn.
     AC_DEFINE(HAVE_Z_COMBRELOC)
   fi
 fi
+AC_SUBST(libc_cv_z_combreloc)
 
 if test $elf != yes; then
   AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
--- libc/elf/Makefile.combreloc	Fri Jul 27 11:01:30 2001
+++ libc/elf/Makefile	Tue Aug 28 11:18:21 2001
@@ -166,7 +166,8 @@ $(rtld-ldscript): $(rtld-ldscript-in) $(
 endif
 
 $(objpfx)ld.so: $(objpfx)librtld.os $(rtld-ldscript) $(ld-map)
-	$(LINK.o) -nostdlib -nostartfiles -shared -o $@ $(LDFLAGS-rtld) \
+	$(LINK.o) -nostdlib -nostartfiles -shared -o $@ \
+		  $(combreloc-LDFLAGS) $(LDFLAGS-rtld) \
 		  $(filter-out $(rtld-ldscript) $(map-file),$^)		\
 		  $(load-map-file) -Wl,-soname=$(rtld-installed-name)
 


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