freebsd-dev/libexec/rtld-elf
Marcel Moolenaar 2aba02382e Fix handling of weak references to undefined symbols on ia64:
o  Set st_shndx for sym_zero to SHN_UNDEF instead of SHN_ABS.
   This gives us something to reliably test against.
o  For weak references to undefined sysmbols (as indicated by
   having st_shndx equals SHN_UNDEF) in the context of OPDs,
   the address of the OPD is to be zero, not the address of
   the function it contains.
o  For weak references to undefined symbols in all other cases
   (only DIR64LSB at this time), the actual relocated value is
   to be zero, not the value prior to relocating.

Roughly speaking, weak references to undefined symbols are no-ops.

Tested on: i386, ia64
2002-04-27 05:32:51 +00:00
..
alpha ld-elf.so.1 assumed a few too many things about the ordering of sections 2002-02-18 02:24:10 +00:00
amd64 Update rtld for the "new" ia64 ABI. In the old toolchain, the 2001-10-29 10:10:10 +00:00
i386 Update rtld for the "new" ia64 ABI. In the old toolchain, the 2001-10-29 10:10:10 +00:00
ia64 Fix handling of weak references to undefined symbols on ia64: 2002-04-27 05:32:51 +00:00
sparc64 rtld support for sparc64. 2002-03-13 02:40:39 +00:00
debug.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
debug.h Use STD{ERR,IN,OUT}_FILENO instead of their numeric values. The 2001-07-26 11:02:39 +00:00
Makefile Use new backup feature of install(1). 2001-05-28 16:58:35 +00:00
malloc.c Change brk's prototype from char *brk(const char *) to int brk(const void *) 2002-01-24 12:11:31 +00:00
map_object.c Add ia64 support. Various adjustments were made to existing targets to 2001-10-15 18:48:42 +00:00
rtld.1 Add support such that if LD_TRACE_LOADED_OBJECTS_ALL is defined to a 2002-02-17 07:04:32 +00:00
rtld.c Fix handling of weak references to undefined symbols on ia64: 2002-04-27 05:32:51 +00:00
rtld.h Update rtld for the "new" ia64 ABI. In the old toolchain, the 2001-10-29 10:10:10 +00:00
xmalloc.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00