From 6c03c2cf27b1a12cbf680377e4796b88a20ed9db Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sun, 2 Jun 1996 21:35:43 +0000 Subject: * elf/dl-lookup.c (_dl_lookup_symbol): Arg NOSELF renamed to NOPLT. Reject SHN_UNDEF defns iff NOPLT is nonzero. * elf/link.h (_dl_lookup_symbol): Update prototype and comment. * elf/dl-runtime.c (fixup): Pass 1 to _dl_lookup_symbol for NOPLT. * elf/dlsym.c (dlsym): Pass 0. * elf/rtld.c (dl_main): Likewise. * elf/dl-reloc.c (_dl_relocate_object: resolve): Second arg R_OFFSET replaced with NOPLT flag. Pass it through to _dl_lookup_symbol. * elf/do-rel.h (elf_dynamic_do_rel): Update prototype of RESOLVE arg. Pass `elf_machine_pltrel_p (R->r_type)' result as NOPLT flag value. * sysdeps/i386/dl-machine.h (elf_machine_pltrel_p): New macro. * sysdeps/m68k/dl-machine.h (elf_machine_pltrel_p): Likewise. * sysdeps/stub/dl-machine.h (elf_machine_pltrel_p): Likewise. --- elf/do-rel.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'elf/do-rel.h') 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); -- cgit v1.2.3