(elf_machine_runtime_setup): DT_PLTGOT entry is already relocated.
authorUlrich Drepper <drepper@redhat.com>
Sat, 20 Feb 1999 18:22:38 +0000 (18:22 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 20 Feb 1999 18:22:38 +0000 (18:22 +0000)
sysdeps/alpha/dl-machine.h
sysdeps/m68k/dl-machine.h
sysdeps/mips/dl-machine.h

index 6e11380..21059f5 100644 (file)
@@ -98,7 +98,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
       /* The GOT entries for the functions in the PLT have not been
         filled in yet.  Their initial contents are directed to the
         PLT which arranges for the dynamic linker to be called.  */
-      plt = l->l_addr + l->l_info[DT_PLTGOT]->d_un.d_ptr;
+      plt = l->l_info[DT_PLTGOT]->d_un.d_ptr;
 
       /* This function will be called to perform the relocation.  */
       if (!profile)
index 8ce24a7..afa68ef 100644 (file)
@@ -80,7 +80,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
         to push an offset into the .rela.plt section, push
         _GLOBAL_OFFSET_TABLE_[1], and then jump to
         _GLOBAL_OFFSET_TABLE_[2].  */
-      got = (Elf32_Addr *) (l->l_addr + l->l_info[DT_PLTGOT]->d_un.d_ptr);
+      got = (Elf32_Addr *) l->l_info[DT_PLTGOT]->d_un.d_ptr;
       got[1] = (Elf32_Addr) l; /* Identify this shared object.  */
 
       /* The got[2] entry contains the address of a function which gets
index 749ea00..6896e53 100644 (file)
@@ -156,8 +156,7 @@ elf_machine_got_rel (struct link_map *map, int lazy)
       (ref)? sym_loadaddr + ref->st_value: 0; \
     })
 
-  got = (ElfW(Addr) *) ((void *) map->l_addr
-                       + map->l_info[DT_PLTGOT]->d_un.d_ptr);
+  got = (ElfW(Addr) *) map->l_info[DT_PLTGOT]->d_un.d_ptr;
 
   /* got[0] is reserved. got[1] is also reserved for the dynamic object
      generated by gnu ld. Skip these reserved entries from relocation.  */
@@ -232,8 +231,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
         Their initial contents will arrange when called to put an
         offset into the .dynsym section in t8, the return address
         in t7 and then jump to _GLOBAL_OFFSET_TABLE[0].  */
-      got = (ElfW(Addr) *) ((void *) l->l_addr
-                           + l->l_info[DT_PLTGOT]->d_un.d_ptr);
+      got = (ElfW(Addr) *) l->l_info[DT_PLTGOT]->d_un.d_ptr;
 
       /* This function will get called to fix up the GOT entry indicated by
         the register t8, and then jump to the resolved address.  */
@@ -350,7 +348,7 @@ __dl_runtime_resolve (ElfW(Word) sym_index,                               \
   const char *strtab                                                         \
     = (const void *) l->l_info[DT_STRTAB]->d_un.d_ptr;                       \
   const ElfW(Addr) *got                                                              \
-    = (const ElfW(Addr) *) (l->l_addr + l->l_info[DT_PLTGOT]->d_un.d_ptr);    \
+    = (const ElfW(Addr) *) l->l_info[DT_PLTGOT]->d_un.d_ptr;                 \
   const ElfW(Word) local_gotno                                               \
     = (const ElfW(Word)) l->l_info[DT_MIPS (LOCAL_GOTNO)]->d_un.d_val;       \
   const ElfW(Word) gotsym                                                    \