rtld: Add write-lock to case of filter loading
authorJohn Marino <draco@marino.st>
Sat, 21 Apr 2012 18:52:45 +0000 (20:52 +0200)
committerJohn Marino <draco@marino.st>
Sat, 21 Apr 2012 19:45:34 +0000 (21:45 +0200)
commita44652e6e7953fd80cb852e7c3ec792ac7d333d3
tree10b8f4397c9138cbd3a8c3eba9cc35d4f52dbb00
parent19cd98ea71f56117435402874beedbdf6d399b52
rtld: Add write-lock to case of filter loading

Propagate the current state of rtld_bind_lock to dlopen_object() calls
through the filter loading call chain. This fixes attempts to
write-lock the already locked rtld_bind_lock when filter loading is
initiated by relocation of dlopening dso.

Taken from: FreeBSD SVN 234170 (12 APR 2012)

Do not try to adjust stacks if dlopen_object is called too early.  This
is a follow-up to FreeBSD SVN 233231 which fixed a similar issue with
object initialization code.

Taken from: FreeBSD SVN 233777 (02 APR 2012)
libexec/rtld-elf/rtld.c