aboutsummaryrefslogtreecommitdiff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-02-10 22:40:17 +0000
committerUlrich Drepper <drepper@redhat.com>2002-02-10 22:40:17 +0000
commit87837aace92ced7be739fb7f3c764bb405fb5b2e (patch)
treeedba34cb14159fc0660ac020de1a7989bbf0a87d /elf/rtld.c
parent2cef4257d02ec72a6ca3bef6ce189fe002253bf6 (diff)
downloadglibc-87837aace92ced7be739fb7f3c764bb405fb5b2e.tar
glibc-87837aace92ced7be739fb7f3c764bb405fb5b2e.tar.gz
glibc-87837aace92ced7be739fb7f3c764bb405fb5b2e.tar.bz2
glibc-87837aace92ced7be739fb7f3c764bb405fb5b2e.zip
Update.
* elf/dl-deps.c (struct openaux_args): Add open_mode element. (openaux): Pass open_mode as new last argument to _dl_map_object. (_dl_map_object_deps): Add new argument open_mode. Initialize open_mode element of args variable with it. * elf/dl-open.c (dl_open_worker): Pass __RTLD_DLOPEN flag is set to _dl_map_object_deps. * elf/rtld.c (dl_main): Add zero as last parameter to _dl_map_object_deps call. * sysdeps/generic/ldsodefs.h: Adjust prototype of _dl_map_object_deps. * elf/nodlopen2.c: New file. * elf/nodlopenmod2.c: New file. * elf/Makefile: Add rules to build and run nodlopen2. * elf/tls-macros.hgg: ...here. New file. 2002-02-08 Richard Henderson <rth@redhat.com>
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index f87462eda8..6463ed600e 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -821,8 +821,9 @@ of this helper program; chances are you did not intend to run this program.\n\
&& (__builtin_expect (! __libc_enable_secure, 1)
|| strchr (p, '/') == NULL))
{
- struct link_map *new_map = INTUSE(_dl_map_object) (GL(dl_loaded), p,
- 1, lt_library,
+ struct link_map *new_map = INTUSE(_dl_map_object) (GL(dl_loaded),
+ p, 1,
+ lt_library,
0, 0);
if (++new_map->l_opencount == 1)
/* It is no duplicate. */
@@ -903,8 +904,9 @@ of this helper program; chances are you did not intend to run this program.\n\
if (problem != NULL)
{
char *p = strndupa (problem, file_size - (problem - file));
- struct link_map *new_map = INTUSE(_dl_map_object) (GL(dl_loaded), p, 1,
- lt_library, 0, 0);
+ struct link_map *new_map = INTUSE(_dl_map_object) (GL(dl_loaded), p,
+ 1, lt_library,
+ 0, 0);
if (++new_map->l_opencount == 1)
/* It is no duplicate. */
++npreloads;
@@ -937,7 +939,8 @@ of this helper program; chances are you did not intend to run this program.\n\
specified some libraries to load, these are inserted before the actual
dependencies in the executable's searchlist for symbol resolution. */
HP_TIMING_NOW (start);
- INTUSE(_dl_map_object_deps) (GL(dl_loaded), preloads, npreloads, mode == trace);
+ INTUSE(_dl_map_object_deps) (GL(dl_loaded), preloads, npreloads,
+ mode == trace, 0);
HP_TIMING_NOW (stop);
HP_TIMING_DIFF (diff, start, stop);
HP_TIMING_ACCUM_NT (load_time, diff);