freebsd-dev/libexec/rtld-elf
Konstantin Belousov a33cb5feab Ensure that for the object which is a dependency for some filtee,
relocations are performed before the object's initializer is called.
When dlopen()ing an object, relocate the whole DAG rooted in the
object instead of only relocating the object itself and list of newly
loaded dependencies.

Reversed sequence currently can occur if the same object is a
dependency for both filtee and filter, since filtees are loaded
typically during the relocation processing, when some filter
dependencies might be already loaded but not relocated yet.

Reported and tested by:	swills
Reviewed by:	kan
MFC after:	1 week
2012-06-27 20:24:25 +00:00
..
amd64 Add GNU hash support for rtld. 2012-04-30 13:31:10 +00:00
arm Add GNU hash support for rtld. 2012-04-30 13:31:10 +00:00
i386 Add GNU hash support for rtld. 2012-04-30 13:31:10 +00:00
ia64 Add GNU hash support for rtld. 2012-04-30 13:31:10 +00:00
mips Before jumping to application's entry point set ra == pc in order 2012-03-23 17:54:06 +00:00
powerpc Add GNU hash support for rtld. 2012-04-30 13:31:10 +00:00
powerpc64 Add GNU hash support for rtld. 2012-04-30 13:31:10 +00:00
sparc64 Add GNU hash support for rtld. 2012-04-30 13:31:10 +00:00
debug.c Rtld links with the specially built pic static libc library to get some 2011-08-24 20:05:13 +00:00
debug.h Use C99's varadic macro syntax instead of gcc's. 2006-03-28 18:26:47 +00:00
libmap.c open the resolved path 2012-05-05 16:37:14 +00:00
libmap.h Description from Dan: 2005-02-04 02:46:41 +00:00
Makefile Remove libssp_nonshared from the rtld linking set. The only use for the 2012-03-24 19:14:44 +00:00
malloc.c Remove the fragments which are not needed on FreeBSD. The caltech 2012-03-22 14:11:10 +00:00
map_object.c Eliminate the static buffer used to read the first page of the mapped 2012-06-14 11:20:22 +00:00
rtld_lock.c Rtld links with the specially built pic static libc library to get some 2011-08-24 20:05:13 +00:00
rtld_lock.h Implement support for ELF filters in rtld. Both normal and auxillary 2010-12-25 08:51:20 +00:00
rtld_printf.c Remove the use of toupper() from rtld_printf.c. Use of the libc function 2012-03-09 16:21:40 +00:00
rtld_printf.h Rtld links with the specially built pic static libc library to get some 2011-08-24 20:05:13 +00:00
rtld_tls.h Add support for Thread Local Storage. 2004-08-03 08:51:00 +00:00
rtld.1 Implement support for ELF filters in rtld. Both normal and auxillary 2010-12-25 08:51:20 +00:00
rtld.c Ensure that for the object which is a dependency for some filtee, 2012-06-27 20:24:25 +00:00
rtld.h Add GNU hash support for rtld. 2012-04-30 13:31:10 +00:00
Symbol.map Implement fdlopen(3), an rtld interface to load shared object by file 2012-01-07 10:33:01 +00:00
xmalloc.c Implement xstrdup() using strlen()/xmalloc()/memcpy() already 2012-03-23 12:04:44 +00:00