diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-02-10 22:40:17 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-02-10 22:40:17 +0000 |
commit | 87837aace92ced7be739fb7f3c764bb405fb5b2e (patch) | |
tree | edba34cb14159fc0660ac020de1a7989bbf0a87d /elf/rtld.c | |
parent | 2cef4257d02ec72a6ca3bef6ce189fe002253bf6 (diff) | |
download | glibc-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.c | 13 |
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); |