about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2003-03-14 05:34:36 +0000
committerAlexandre Oliva <aoliva@redhat.com>2003-03-14 05:34:36 +0000
commita77dcecfd4d0083b25b3fdcd4f033143ab6d4397 (patch)
tree8b5df7accbfb9ef078cef1aab2a3134fe35b43e1
parentb5bac573e6adefab9fb3f693a42434b77ed5a0da (diff)
downloadglibc-a77dcecfd4d0083b25b3fdcd4f033143ab6d4397.tar.gz
glibc-a77dcecfd4d0083b25b3fdcd4f033143ab6d4397.tar.xz
glibc-a77dcecfd4d0083b25b3fdcd4f033143ab6d4397.zip
* elf/dl-conflict.c: Don't compile _dl_resolve_conflicts if ELF_MACHINE_NO_RELA is set. * elf/rtld.c (dl_main): No prelink support for REL-only.
	* elf/dl-conflict.c: Don't compile _dl_resolve_conflicts if
	ELF_MACHINE_NO_RELA is set.
	* elf/rtld.c (dl_main): No prelink support for REL-only.
-rw-r--r--ChangeLog10
-rw-r--r--elf/dl-conflict.c5
-rw-r--r--elf/rtld.c2
3 files changed, 9 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index cd764ebba8..9924187478 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,24 +1,22 @@
 2003-03-14  Alexandre Oliva  <aoliva@redhat.com>
 
+	* elf/dl-conflict.c: Don't compile _dl_resolve_conflicts if
+	ELF_MACHINE_NO_RELA is set.
+	* elf/rtld.c (dl_main): No prelink support for REL-only.
+
 	* sysdeps/generic/ldconfig.h (FLAG_MIPS64_LIBN32,
 	FLAG_MIPS64_LIBN64): Define.
 	* elf/cache.c (print_entry): Handle mips64 n32 and n64.
 
-2003-03-14  Alexandre Oliva  <aoliva@redhat.com>
-
 	* sysdeps/mips/memcpy.S: Map t0-3 to a4-7 on new abis.
 	* sysdeps/mips/memset.S: Likewise.
 	* sysdeps/mips/sys/regdef.h: Alias a4-7 or t0-3 to $8-11
 	depending on the ABI.
 
-2003-03-14  Alexandre Oliva  <aoliva@redhat.com>
-
 	* sysdeps/mips/atomicity.h (exchange_and_add, atomic_add):
 	Don't .set mips2 on new abi.
 	(compare_and_swap): Likewise.  Support 64-bit longs on n64.
 
-2003-03-14  Alexandre Oliva  <aoliva@redhat.com>
-
 	* stdlib/fpioconst.h: Include gmp.h with angle brackets.
 
 2003-03-13  Roland McGrath  <roland@redhat.com>
diff --git a/elf/dl-conflict.c b/elf/dl-conflict.c
index ae091abd27..fc38d459d5 100644
--- a/elf/dl-conflict.c
+++ b/elf/dl-conflict.c
@@ -1,5 +1,5 @@
 /* Resolve conflicts against already prelinked libraries.
-   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2001.
 
@@ -28,7 +28,7 @@
 #include <sys/types.h>
 #include "dynamic-link.h"
 
-
+#if ! ELF_MACHINE_NO_RELA
 void
 _dl_resolve_conflicts (struct link_map *l, ElfW(Rela) *conflict,
 		       ElfW(Rela) *conflictend)
@@ -65,3 +65,4 @@ _dl_resolve_conflicts (struct link_map *l, ElfW(Rela) *conflict,
       elf_machine_rela (l, conflict, NULL, NULL, (void *) conflict->r_offset);
   }
 }
+#endif
diff --git a/elf/rtld.c b/elf/rtld.c
index bd66149dd1..7e26fc26ca 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -1444,6 +1444,7 @@ cannot allocate TLS data structures for initial thread");
 	_dl_printf ("\nprelink checking: %s\n", prelinked ? "ok" : "failed");
     }
 
+#if ! ELF_MACHINE_NO_RELA /* We don't REL-only prelink.  */
   if (prelinked)
     {
       struct link_map *l;
@@ -1476,6 +1477,7 @@ cannot allocate TLS data structures for initial thread");
       _dl_sysdep_start_cleanup ();
     }
   else
+#endif
     {
       /* Now we have all the objects loaded.  Relocate them all except for
 	 the dynamic linker itself.  We do this in reverse order so that copy