diff options
author | Roland McGrath <roland@gnu.org> | 1995-06-12 09:00:13 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1995-06-12 09:00:13 +0000 |
commit | f2b0f935d7c8de544408181350c13d8a4db690ca (patch) | |
tree | 658304e442dad6ff4c31f1d1d6a3293b7509f20d /elf/do-rel.h | |
parent | 5bf62f2d3a8af353fac661b224fc1604d4de51ea (diff) | |
download | glibc-f2b0f935d7c8de544408181350c13d8a4db690ca.zip glibc-f2b0f935d7c8de544408181350c13d8a4db690ca.tar.gz glibc-f2b0f935d7c8de544408181350c13d8a4db690ca.tar.bz2 |
* elf/dl-load.c (_dl_map_object): Add MAP_INHERIT flag in mmap
from zero fill.
* elf/dl-lookup.c (_dl_lookup_symbol): Take new flag arg NOSELF;
if nonzero, don't let *REF satisfy the reference itself.
* elf/link.h (_dl_lookup_symbol): Add new arg NOSELF in decl.
* sysdeps/i386/dl-runtime.c (_dl_runtime_resolve): Pass new arg to
_dl_lookup_symbol.
* elf/do-rel.h (elf_dynamic_do_rel): Pass new second arg of
R->r_offset to RESOLVE callback.
* elf/dl-reloc.c (_dl_relocate_object: resolve): Don't let *REF
satisfy the reference itself if its value equals the reloc's
offset.
* elf/rtld.c (dl_main): Write a newline in fatal msg.
* Makerules (lib%.so: lib%_pic.a): Pass $(LDFLAGS.so).
Diffstat (limited to 'elf/do-rel.h')
-rw-r--r-- | elf/do-rel.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/elf/do-rel.h b/elf/do-rel.h index acef25d..9657bc2 100644 --- a/elf/do-rel.h +++ b/elf/do-rel.h @@ -37,7 +37,8 @@ Cambridge, MA 02139, USA. */ static inline void elf_dynamic_do_rel (struct link_map *map, int reltag, int sztag, - Elf32_Addr (*resolve) (const Elf32_Sym **), + Elf32_Addr (*resolve) (const Elf32_Sym **symbol, + Elf32_Addr r_offset), int lazy) { const Elf32_Sym *const symtab @@ -61,7 +62,7 @@ elf_dynamic_do_rel (struct link_map *map, else { if (resolve) - loadbase = (*resolve) (&definer); + loadbase = (*resolve) (&definer, r->r_offset); else { assert (definer->st_shndx != SHN_UNDEF); |