aboutsummaryrefslogtreecommitdiff
path: root/elf/dl-runtime.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-06-29 12:44:22 +0000
committerUlrich Drepper <drepper@redhat.com>1998-06-29 12:44:22 +0000
commitfdacb17d4819c7112a147195c5ce3c82147f4b46 (patch)
treed1c400488d3bc8dfe707645a0fc38916e223614c /elf/dl-runtime.c
parentba488034eabd1affd6b4b3e8838abde0f4d0504e (diff)
downloadglibc-fdacb17d4819c7112a147195c5ce3c82147f4b46.tar
glibc-fdacb17d4819c7112a147195c5ce3c82147f4b46.tar.gz
glibc-fdacb17d4819c7112a147195c5ce3c82147f4b46.tar.bz2
glibc-fdacb17d4819c7112a147195c5ce3c82147f4b46.zip
Update.
1998-06-29 12:27 Ulrich Drepper <drepper@cygnus.com> * argp/argp.h: Use __PMT instead of __P for function pointer. * iconv/gconv.h: Likewise. * io/fts.h: Likewise. * io/ftw.h: Likewise. * libio/libio.h: Likewise. * malloc/mcheck.h: Likewise. * misc/search.h: Likewise. * posix/glob.h: Likewise. * resolv/resolv.h: Likewise. * signal/signal.h: Likewise. * stdlib/stdlib.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise. 1998-06-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makeconfig (CPPFLAGS): Use $($(subdir)-CPPFLAGS) only once. 1998-06-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * posix/wordexp.c (parse_param): Fix memory leak. 1998-06-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * libc.map: Export _IO_ftrylockfile. 1998-06-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/aio_sigqueue.c: Use get[pu]id instead of __get[pu]id. 1998-06-28 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/dl-misc.c (_dl_debug_message): Don't cache the pid. * elf/dl-runtime.c (_dl_object_relocation_scope): Avoid adding the same search list twice. 1998-06-29 Andreas Jaeger <aj@arthur.rhein-neckar.de> * login/programs/utmpd.c (handle_requests): Set and use maximal fd used to optimize loop/select. 1998-06-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/generic/init-first.c: Don't define __libc_pid. * sysdeps/unix/sysv/linux/init-first.c: Likewise. * sysdeps/mach/hurd/i386/init-first.c: Likewise. * sysdeps/mach/hurd/mips/init-first.c: Likewise. * sysdeps/arm/init-first.c: Likewise. * posix/getopt_init.c: Don't use __libc_pid. * sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise. * sysdeps/unix/sysv/linux/sigqueue.c: Likewise. * libc.map: Remove __libc_uid and __libc_pid.
Diffstat (limited to 'elf/dl-runtime.c')
-rw-r--r--elf/dl-runtime.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c
index 53601b809f..5c1f290fe5 100644
--- a/elf/dl-runtime.c
+++ b/elf/dl-runtime.c
@@ -64,7 +64,11 @@ _dl_object_relocation_scope (struct link_map *l)
dependency tree that first caused this object to be loaded. */
while (l->l_loader)
l = l->l_loader;
- *_dl_global_scope_end = l;
+ /* There is no point in searching the same list twice. This isn't
+ guaranteed to always find all duplicates if new objects are added
+ to the global scope, but is good enough most of the time. */
+ if (_dl_global_scope[2] != l)
+ *_dl_global_scope_end = l;
return &_dl_global_scope[2];
}
}