about summary refs log tree commit diff
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
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.
-rw-r--r--ChangeLog3
-rw-r--r--elf/rtld.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f26b51354e..6492b83220 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2002-02-05  Ulrich Drepper  <drepper@redhat.com>
 
+	* elf/rtld.c (_dl_start_final): Determine load address to locate
+	ehdr with GL(dl_rtld_map).l_map_start.
+
 	* po/ca.po: Update from translation team.
 
 	* elf/rtld.c (dl_main): Read PT_TLS entry of the executable.
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)
       {