diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-05-11 13:00:20 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-05-11 13:00:20 +0000 |
commit | 12b5b6b7f78ea111e89bbf638294a5413c791072 (patch) | |
tree | 2667efe9abc4443d7fe0350feed47d839ff7970c /elf/rtld.c | |
parent | 5ac3d2173cc6a11535e1694a12f9f11e877c36ea (diff) | |
download | glibc-12b5b6b7f78ea111e89bbf638294a5413c791072.tar glibc-12b5b6b7f78ea111e89bbf638294a5413c791072.tar.gz glibc-12b5b6b7f78ea111e89bbf638294a5413c791072.tar.bz2 glibc-12b5b6b7f78ea111e89bbf638294a5413c791072.zip |
Update.
1999-05-11 Ulrich Drepper <drepper@cygnus.com>
* elf/Versions (ld.so) [GLIBC_2.1.1]: Add _dl_lazy.
* elf/dl-open.c (_dl_open_worker): Only relocate newly loaded objects
lazily if LD_BIND_NOW is not set.
* elf/dl-support.c (_dl_lazy): New variable.
(non_dynamic_init): Set _dl_lazy according to LD_BIND_NOW envvar.
* elf/rtld.c (_dl_lazy): new global variable.
( dl_main): Remove lazy, replace it by _dl_lazy.
1999-05-06 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* locale/setlocale.c (new_composite_name): Check also whether the
first category name differs.
1999-05-11 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/ftime.c: Use the bsd implementation, not
the generic one.
1999-05-11 Philip Blundell <pb@nexus.co.uk>
* sysdeps/generic/bits/socket.h (struct sockaddr_storage): New
structure; storage suitable for any socket address.
* sysdeps/unix/sysv/linux/bits/socket.h (struct sockaddr_storage):
Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h (struct
sockaddr_storage): Likewise.
* inet/netinet/in.h: Use ULONG_MAX not ~0 to test for a 64-bit
platform.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r-- | elf/rtld.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/elf/rtld.c b/elf/rtld.c index acbe3cdcbd..064cd20dd3 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -82,6 +82,7 @@ struct r_search_path *_dl_search_paths; const char *_dl_profile; const char *_dl_profile_output; struct link_map *_dl_profile_map; +int _dl_lazy; int _dl_debug_libs; int _dl_debug_impcalls; int _dl_debug_bindings; @@ -332,7 +333,6 @@ dl_main (const ElfW(Phdr) *phdr, ElfW(Addr) *user_entry) { const ElfW(Phdr) *ph; - int lazy; enum mode mode; struct link_map **preloads; unsigned int npreloads; @@ -346,7 +346,7 @@ dl_main (const ElfW(Phdr) *phdr, hp_timing_t diff; /* Process the environment variable which control the behaviour. */ - process_envvars (&mode, &lazy); + process_envvars (&mode, &_dl_lazy); /* Set up a flag which tells we are just starting. */ _dl_starting_up = 1; @@ -377,7 +377,7 @@ dl_main (const ElfW(Phdr) *phdr, if (! strcmp (_dl_argv[1], "--list")) { mode = list; - lazy = -1; /* This means do no dependency analysis. */ + _dl_lazy = -1; /* This means do no dependency analysis. */ ++_dl_skip_args; --_dl_argc; @@ -853,13 +853,13 @@ of this helper program; chances are you did not intend to run this program.\n\ } else { - if (lazy >= 0) + if (_dl_lazy >= 0) { /* We have to do symbol dependency testing. */ struct relocate_args args; struct link_map *l; - args.lazy = lazy; + args.lazy = _dl_lazy; l = _dl_loaded; while (l->l_next) @@ -974,7 +974,7 @@ of this helper program; chances are you did not intend to run this program.\n\ hp_timing_t add; /* If we are profiling we also must do lazy reloaction. */ - lazy |= consider_profiling; + _dl_lazy |= consider_profiling; l = _dl_loaded; while (l->l_next) @@ -984,7 +984,7 @@ of this helper program; chances are you did not intend to run this program.\n\ do { if (l != &_dl_rtld_map) - _dl_relocate_object (l, l->l_scope, lazy, consider_profiling); + _dl_relocate_object (l, l->l_scope, _dl_lazy, consider_profiling); l = l->l_prev; } |