freebsd-dev/libexec/rtld-elf
Marcel Moolenaar 708bc7c7b4 Fix a nasty memory corruption bug caused by having a bogus pointer
for the DT_IA64_PLT_RESERVE dynamic table entry. When a shared object
does not have any PLT relocations, the linker apparently doesn't find
it necessary to actually reserve the space for the BOR (Bind On
Reference) entries as pointed to by the DTE. As a result, relocatable
data in the PLT was overwritten, causing some unexpected control flow
with annoyingly predictable outcome: coredump.
To reproduce:
	% echo 'int main() { return 0; }' > foo.c
	% cc -o foo foo.c -lxpg4
2002-08-22 03:56:57 +00:00
..
alpha Remove the nanosleep calls from the spin loops in the locking code. 2002-07-06 20:25:56 +00:00
amd64 Remove the nanosleep calls from the spin loops in the locking code. 2002-07-06 20:25:56 +00:00
i386 Remove the nanosleep calls from the spin loops in the locking code. 2002-07-06 20:25:56 +00:00
ia64 Fix a nasty memory corruption bug caused by having a bogus pointer 2002-08-22 03:56:57 +00:00
sparc64 Add END markers to asm functions so that debuggers can find their size. 2002-07-17 22:20:41 +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 Dillon's recent commits to the dynamic linker without running them 2002-06-10 21:51:16 +00:00
malloc.c Include stddef.h for NULL definition, rather than rolling our own here. 2002-08-21 19:03:26 +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 The .Nm utility 2002-07-06 19:19:48 +00:00
rtld.c Don't acquire the writer lock in rtld_exit when clearing the shared 2002-08-08 15:53:23 +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