From 87837aace92ced7be739fb7f3c764bb405fb5b2e Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 10 Feb 2002 22:40:17 +0000 Subject: 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 --- elf/rtld.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'elf/rtld.c') 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); -- cgit 1.4.1