diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-03-08 22:56:54 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-03-08 22:56:54 +0000 |
commit | 97a51d8a0cc6508464305efdd372a630fdcfb7e6 (patch) | |
tree | e0ba53da43ac63c88664c5ef3c7511569a09b4b9 /elf | |
parent | d916515874fcd82d76ddace10b64d7ec9d523ce7 (diff) | |
download | glibc-97a51d8a0cc6508464305efdd372a630fdcfb7e6.zip glibc-97a51d8a0cc6508464305efdd372a630fdcfb7e6.tar.gz glibc-97a51d8a0cc6508464305efdd372a630fdcfb7e6.tar.bz2 |
Update.
1998-03-08 22:55 Ulrich Drepper <drepper@cygnus.com>
* elf/rtld.c (dl_main): Delay initialization of path structure if
the dynamically linker is invoked implicitly until we read the
dynamic section.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/rtld.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -400,9 +400,8 @@ of this helper program; chances are you did not intend to run this program.\n", main_map->l_entry = *user_entry; main_map->l_opencount = 1; - /* Initialize the data structures for the search paths for shared - objects. */ - _dl_init_paths (NULL); + /* We delay initializing the path structure until we got the dynamic + information for the program. */ } /* Scan the program header table for the dynamic section. */ @@ -470,6 +469,11 @@ of this helper program; chances are you did not intend to run this program.\n", /* Set up our cache of pointers into the hash table. */ _dl_setup_hash (main_map); + if (*user_entry != (ElfW(Addr)) &ENTRY_POINT) + /* Initialize the data structures for the search paths for shared + objects. */ + _dl_init_paths (NULL); + /* Put the link_map for ourselves on the chain so it can be found by name. Note that at this point the global chain of link maps contains exactly one element, which is pointed to by main_map. */ |