rtld - Fix ifunc relocations
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 5 Dec 2017 08:14:20 +0000 (00:14 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 5 Dec 2017 08:14:20 +0000 (00:14 -0800)
commitadb072584ea04a3358cc137eb6714046f3d31266
tree7282b315df2cd04ffa7e0cbaf30f253cdb07faed
parent130fd0d250bc8cb117250c57ac19ab15e7c36ab1
rtld - Fix ifunc relocations

* ifunc relocations had a bug that caused an immediate seg-fault.
  Apparently this type of relocation is not used very much, we've
  never encountered it before.  But the qemu port uses it.

* Fix the bug.  Basically missing lockstate and the top level in
  rtld was expected to hold the bind lock.
libexec/rtld-elf/rtld.c