From 647eb037f3d9dee0bf6e9410c6445c4223cf832a Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 23 Aug 2001 23:36:47 +0000 Subject: Update. 2001-08-23 Jakub Jelinek * elf/ldconfig.c (search_dir): Remove stale symlinks. 2001-08-23 Jakub Jelinek * 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 * stdlib/tst-random.c (main): Swap parameters in fail call. Patch by Pete Bevin . 2001-08-23 Jakub Jelinek * sysdeps/generic/inttypes.h: Use __gwchar_t instead of __wchar_t. * malloc/obstack.c: Indent preprocessor directives. Patch by Jim Meyering . --- elf/dl-reloc.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'elf/dl-reloc.c') 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 -- cgit v1.2.3