aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)
{