summaryrefslogtreecommitdiff
path: root/elf/do-rel.h
diff options
context:
space:
mode:
Diffstat (limited to 'elf/do-rel.h')
-rw-r--r--elf/do-rel.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/elf/do-rel.h b/elf/do-rel.h
index 72e7d01cb4..a265550cae 100644
--- a/elf/do-rel.h
+++ b/elf/do-rel.h
@@ -21,9 +21,9 @@ Cambridge, MA 02139, USA. */
`elf_dynamic_do_rel' and `elf_dynamic_do_rela'. */
#ifdef DO_RELA
-#define elf_dynamic_do_rel elf_dynamic_do_rela
-#define Elf32_Rel Elf32_Rela
-#define elf_machine_rel elf_machine_rela
+#define elf_dynamic_do_rel elf_dynamic_do_rela
+#define Elf32_Rel Elf32_Rela
+#define elf_machine_rel elf_machine_rela
#endif
@@ -38,7 +38,7 @@ static inline void
elf_dynamic_do_rel (struct link_map *map,
int reltag, int sztag,
Elf32_Addr (*resolve) (const Elf32_Sym **symbol,
- Elf32_Addr r_offset),
+ int noplt),
int lazy)
{
const Elf32_Sym *const symtab
@@ -65,7 +65,8 @@ elf_dynamic_do_rel (struct link_map *map,
else
{
if (resolve)
- loadbase = (*resolve) (&definer, r->r_offset);
+ loadbase = (*resolve)
+ (&definer, elf_machine_pltrel_p (ELF32_R_TYPE (r->r_info)));
else
{
assert (definer->st_shndx != SHN_UNDEF);