about summary refs log tree commit diff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-02-05 19:39:42 +0000
committerUlrich Drepper <drepper@redhat.com>2002-02-05 19:39:42 +0000
commit475361200b40615d2d459c8d6a7544fdf4f9533a (patch)
treef53d0ec86111a4a9febc7386dde053df8b1e9a2f /elf/rtld.c
parent31e592f789bb8f547fb09c482801cfff7ad9ceac (diff)
downloadglibc-475361200b40615d2d459c8d6a7544fdf4f9533a.tar.gz
glibc-475361200b40615d2d459c8d6a7544fdf4f9533a.tar.xz
glibc-475361200b40615d2d459c8d6a7544fdf4f9533a.zip
Update.
	* elf/rtld.c (_dl_start_final): Determine load address to locate
	ehdr with GL(dl_rtld_map).l_map_start.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 64cb7cb49b..3241cc9d10 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -252,8 +252,8 @@ _dl_start_final (void *arg, struct link_map *bootstrap_map_p,
 
 #if USE_TLS
   /* Get the dynamic linkers program header.  */
-  ehdr = (ElfW(Ehdr) *) bootstrap_map_p->l_addr;
-  phdr = (ElfW(Phdr) *) (bootstrap_map_p->l_addr + ehdr->e_phoff);
+  ehdr = (ElfW(Ehdr) *) GL(dl_rtld_map).l_map_start;
+  phdr = (ElfW(Phdr) *) (GL(dl_rtld_map).l_map_start + ehdr->e_phoff);
   for (cnt = 0; cnt < ehdr->e_phnum; ++cnt)
     if (phdr[cnt].p_type == PT_TLS)
       {