mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
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>
This commit is contained in:
13
elf/rtld.c
13
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);
|
||||
|
Reference in New Issue
Block a user