Example #1
0
Elf64_Addr la_x86_64_gnu_pltenter(Elf64_Sym *sym,
                                  unsigned int ndx,
                                  uintptr_t *refcook,
                                  uintptr_t *defcook,
                                  La_x86_64_regs *regs,
                                  unsigned int *flags,
                                  const char *symname,
                                  long int *framesizep)
{
   struct link_map *map = get_linkmap_from_cookie(refcook);
   unsigned long reloc_index = *((unsigned long *) (regs->lr_rsp-8));
   Elf64_Addr target = client_call_binding(symname, sym->st_value);
   return doPermanentBinding(map, reloc_index, target);
}
Example #2
0
unsigned int spindle_la_objclose(uintptr_t *cookie)
{
   struct link_map *map = get_linkmap_from_cookie(cookie);
   remove_library_from_plt_update_list(map);
   return 0;
}