about summary refs log tree commit diff
path: root/elf/dl-reloc.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-08-23 23:36:47 +0000
committerUlrich Drepper <drepper@redhat.com>2001-08-23 23:36:47 +0000
commit647eb037f3d9dee0bf6e9410c6445c4223cf832a (patch)
treefc725d27ed5ffef239f38f7aabb08227b285dfd2 /elf/dl-reloc.c
parente515fbc5fd53ff4186249a2c070f41fd73aa1c2c (diff)
downloadglibc-647eb037f3d9dee0bf6e9410c6445c4223cf832a.tar.gz
glibc-647eb037f3d9dee0bf6e9410c6445c4223cf832a.tar.xz
glibc-647eb037f3d9dee0bf6e9410c6445c4223cf832a.zip
Update.
2001-08-23  Jakub Jelinek  <jakub@redhat.com>

	* elf/ldconfig.c (search_dir): Remove stale symlinks.

2001-08-23  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (lookup_cache, lookup_cache_versioned): New.
	(_dl_lookup_symbol): Lookup relocations in cache and store successfull
	lookups in cache.
	(_dl_lookup_versioned_symbol): Likewise.
	* elf/dl-reloc.c (_dl_relocate_object): Initialize cache for
	relocation lookup.
	* elf/rtld.c (print_statistics): Output _dl_num_cache_relocations.
	* sysdeps/generic/ldsodefs.h (struct lookup_cache): New definition.
	(lookup_cache, lookup_cache_versioned): Add declarations.

2001-08-23  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/tst-random.c (main): Swap parameters in fail call.
	Patch by Pete Bevin <pete@petebevin.com>.

2001-08-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/inttypes.h: Use __gwchar_t instead of __wchar_t.

	* malloc/obstack.c: Indent preprocessor directives.
	Patch by Jim Meyering <meyering@ascend.com>.
Diffstat (limited to 'elf/dl-reloc.c')
-rw-r--r--elf/dl-reloc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c
index dbbc19c233..b46d3bcf47 100644
--- a/elf/dl-reloc.c
+++ b/elf/dl-reloc.c
@@ -89,8 +89,15 @@ cannot make segment writable for relocation"));
      : l->l_addr)
 
 #include "dynamic-link.h"
+    /* Start symbol lookup caching for this object.  */
+    _dl_lookup_cache.map = l;
+    _dl_lookup_cache_versioned.map = l;
+
     ELF_DYNAMIC_RELOCATE (l, lazy, consider_profiling);
 
+    _dl_lookup_cache.map = NULL;
+    _dl_lookup_cache_versioned.map = NULL;
+
     if (__builtin_expect (consider_profiling, 0))
       {
 	/* Allocate the array which will contain the already found