aboutsummaryrefslogtreecommitdiff
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.zip
glibc-475361200b40615d2d459c8d6a7544fdf4f9533a.tar.gz
glibc-475361200b40615d2d459c8d6a7544fdf4f9533a.tar.bz2
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 64cb7cb..3241cc9 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)
{