diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-06-29 12:44:22 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-06-29 12:44:22 +0000 |
commit | fdacb17d4819c7112a147195c5ce3c82147f4b46 (patch) | |
tree | d1c400488d3bc8dfe707645a0fc38916e223614c /elf | |
parent | ba488034eabd1affd6b4b3e8838abde0f4d0504e (diff) | |
download | glibc-fdacb17d4819c7112a147195c5ce3c82147f4b46.tar.gz glibc-fdacb17d4819c7112a147195c5ce3c82147f4b46.tar.xz 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')
-rw-r--r-- | elf/dl-misc.c | 7 | ||||
-rw-r--r-- | elf/dl-runtime.c | 6 |
2 files changed, 8 insertions, 5 deletions
diff --git a/elf/dl-misc.c b/elf/dl-misc.c index 937aeac0c9..8a441c0a3a 100644 --- a/elf/dl-misc.c +++ b/elf/dl-misc.c @@ -106,12 +106,9 @@ _dl_debug_message (int new_line, const char *msg, ...) { /* We print the strings we get passed one after the other but start all lines using the current PID. */ - static int pid; + int pid = 0; va_list ap; - if (pid == 0) - pid = __getpid (); - va_start (ap, msg); do if (msg[0] == '\0') @@ -127,6 +124,8 @@ _dl_debug_message (int new_line, const char *msg, ...) { char buf[7]; char *p; + if (pid == 0) + pid = __getpid (); assert (pid >= 0 && pid < 100000); p = _itoa_word (pid, &buf[5], 10, 0); while (p > buf) 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]; } } |