summaryrefslogtreecommitdiff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-11-02 21:48:45 +0000
committerUlrich Drepper <drepper@redhat.com>1998-11-02 21:48:45 +0000
commite3e35cfc95cbfdc7829a5717af244d978d309f42 (patch)
tree562c7b56fae088592433bbb61e54c386b5f93ff9 /elf/rtld.c
parent160698e277bb4bc9a402c0f044289fd04f958089 (diff)
downloadglibc-e3e35cfc95cbfdc7829a5717af244d978d309f42.tar.gz
Update.
* elf/Versions [libc, GLIBC_2.01]: Add _dl_global_scope_alloc. * elf/dl-open.c (_dl_global_scope_alloc): Move definition to * elf/dl-deps.c: ...here. * elf/dl-open.c (dl_open_worker): Call _dl_map_object_deps with new parameter and expect result. Remove code handling RTLD_GLOBAL. Add return value of _dl_map_object_deps to _dl_main_searchlist->r_nlist. * elf/dl-deps.c (_dl_map_object_deps): Change to return value. If we parameter GLOBAL is nonzero add object and dependencies to the global scope. * elf/ldsodefs.h: Adapt prototype for _dl_map_object_deps. * elf/rtld.c (dl_main): Call _dl_map_object_deps with new parameter. Mark all objects as in global scope. * elf/dl-object.c (_dl_new_object): Initialize l_global to zero. * sysdeps/unix/sysv/linux/bits/sockunion.h: Add Econet support. * sysdeps/unix/sysv/linux/i386/sysdep.h: Add .L prefix to symbols used in macro magic. 1998-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/sysv/linux/netatalk/at.h: Include <linux/atalk.h> before <sys/socket.h> to make sockaddr_at available to <sys/socket.h>. * posix/glob.h: Remove __P from parameter lists of declarations. 1998-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * time/tzset.c (tz_compute): Remove unused parameter timer. Change caller. 1998-11-02 Mark Kettenis <kettenis@phys.uva.nl> * sysdeps/generic/bits/types.h (__ipc_pid_t): New typedef. 1998-11-02 Ulrich Drepper <drepper@cygnus.com>
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 8d3a9c47a1..472cb21127 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -667,7 +667,11 @@ of this helper program; chances are you did not intend to run this program.\n\
/* Load all the libraries specified by DT_NEEDED entries. If LD_PRELOAD
specified some libraries to load, these are inserted before the actual
dependencies in the executable's searchlist for symbol resolution. */
- _dl_map_object_deps (_dl_loaded, preloads, npreloads, mode == trace);
+ _dl_map_object_deps (_dl_loaded, preloads, npreloads, mode == trace, 0);
+
+ /* Mark all objects as being in the global scope. */
+ for (i = _dl_loaded->l_searchlist.r_nlist; i > 0; )
+ _dl_loaded->l_searchlist.r_list[--i]->l_global = 1;
#ifndef MAP_ANON
/* We are done mapping things, so close the zero-fill descriptor. */