}
static inline void
-elf_machine_lazy_rel (struct link_map *map, const Elf64_Rela *reloc)
+elf_machine_lazy_rel (Elf64_Addr l_addr, const Elf64_Rela *reloc)
{
- Elf64_Addr * const reloc_addr = (void *)(map->l_addr + reloc->r_offset);
+ Elf64_Addr * const reloc_addr = (void *)(l_addr + reloc->r_offset);
unsigned long const r_type = ELF64_R_TYPE (reloc->r_info);
if (r_type == R_ALPHA_JMP_SLOT)
{
/* Perform a RELATIVE reloc on the .got entry that transfers
to the .plt. */
- *reloc_addr += map->l_addr;
+ *reloc_addr += l_addr;
}
else if (r_type == R_ALPHA_NONE)
return;
mov pc, ip
.size _dl_runtime_resolve, .-_dl_runtime_resolve
-
+
.globl _dl_runtime_profile
.type _dl_runtime_profile, #function
.align 2
}
static inline void
-elf_machine_lazy_rel (struct link_map *map, const Elf32_Rel *reloc)
+elf_machine_lazy_rel (Elf32_Addr l_addr, const Elf32_Rel *reloc)
{
- Elf32_Addr *const reloc_addr = (void *) (map->l_addr + reloc->r_offset);
+ Elf32_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset);
switch (ELF32_R_TYPE (reloc->r_info))
{
case R_ARM_JUMP_SLOT:
- *reloc_addr += map->l_addr;
+ *reloc_addr += l_addr;
break;
default:
assert (! "unexpected PLT reloc type");
}
static inline void
-elf_machine_lazy_rel (struct link_map *map, const Elf32_Rela *reloc)
+elf_machine_lazy_rel (Elf32_Addr l_addr, const Elf32_Rela *reloc)
{
- Elf32_Addr *const reloc_addr = (void *) (map->l_addr + reloc->r_offset);
+ Elf32_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset);
switch (ELF32_R_TYPE (reloc->r_info))
{
case R_68K_JMP_SLOT:
- *reloc_addr += map->l_addr;
+ *reloc_addr += l_addr;
break;
default:
assert (! "unexpected PLT reloc type");