about summary refs log tree commit diff
path: root/dlfcn/dlinfo.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-10-14 16:18:09 +0000
committerUlrich Drepper <drepper@redhat.com>2004-10-14 16:18:09 +0000
commit5ca3d19c74195e45f48d83b24b10bac55fa078a4 (patch)
tree033306c56ec1bb5bea3c0db04e54978edf585010 /dlfcn/dlinfo.c
parent7cb92a99fafb8f9f43ba97d4790eff49c206a8e2 (diff)
downloadglibc-5ca3d19c74195e45f48d83b24b10bac55fa078a4.tar.gz
glibc-5ca3d19c74195e45f48d83b24b10bac55fa078a4.tar.xz
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/dlinfo.c')
-rw-r--r--dlfcn/dlinfo.c12
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_("\