diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-10-14 16:18:09 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-10-14 16:18:09 +0000 |
commit | 5ca3d19c74195e45f48d83b24b10bac55fa078a4 (patch) | |
tree | 033306c56ec1bb5bea3c0db04e54978edf585010 /dlfcn | |
parent | Update. (diff) | |
download | glibc-5ca3d19c74195e45f48d83b24b10bac55fa078a4.tar.gz glibc-5ca3d19c74195e45f48d83b24b10bac55fa078a4.tar.bz2 glibc-5ca3d19c74195e45f48d83b24b10bac55fa078a4.zip |
Update.
2004-10-14 Ulrich Drepper <drepper@redhat.com>
* nscd/connections.c (nscd_init): Remove file if not persistent
and not shared. Patch by Jerome Borsboom <j.borsboom@erasmusmc.nl>.
* sysdeps/unix/sysv/linux/i386/setresuid.c: Handle
defined __NR_setresuid32 && !defined __NR_setresuid.
* sysdeps/unix/sysv/linux/i386/setresgid.c: Handle
defined __NR_setresgid32 && !defined __NR_setresgid.
* sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit,
__signbitl, sqrtf, sqrt, sqrtl, fdim, fdimf): Use __NTH macro.
* sysdeps/generic/errno-loc.c: Don't undef #errno
if RTLD_PRIVATE_ERRNO.
* include/errno.h (__errno_location): If RTLD_PRIVATE_ERRNO,
add attribute_hidden.
* dlfcn/dlinfo.c (dlinfo_doit): Replace iteration over GL(dl_loaded)
chain with iteration over all namespaces' _ns_loaded chains.
* sysdeps/powerpc/powerpc32/dl-machine.c (__elf_preferred_address):
Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise.
Diffstat (limited to 'dlfcn')
-rw-r--r-- | dlfcn/dlinfo.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/dlfcn/dlinfo.c b/dlfcn/dlinfo.c index 4e755ad044..d54a13259a 100644 --- a/dlfcn/dlinfo.c +++ b/dlfcn/dlinfo.c @@ -39,13 +39,15 @@ dlinfo_doit (void *argsblock) #if 0 if (args->handle == RTLD_SELF) { + Lmid_t nsid; /* Find the highest-addressed object that CALLER is not below. */ - for (l = GL(dl_loaded); l != NULL; l = l->l_next) - if (caller >= l->l_map_start && caller < l->l_map_end) - /* There must be exactly one DSO for the range of the virtual - memory. Otherwise something is really broken. */ - break; + for (nsid = 0; nsid < DL_NNS; ++nsid) + for (l = GL(dl_ns)[nsid]._ns_loaded; l != NULL; l = l->l_next) + if (caller >= l->l_map_start && caller < l->l_map_end) + /* There must be exactly one DSO for the range of the virtual + memory. Otherwise something is really broken. */ + break; if (l == NULL) GLRO(dl_signal_error) (0, NULL, NULL, N_("\ |