freebsd-dev/libexec
Konstantin Belousov 4903c73faf Some fixes for LD_BIND_NOW + ifuncs.
- Do not perform ifunc relocations together with other PLT relocations
  in PLT.  Instead, do it during an additional pass over the init
  list, so that ifuncs are resolved in the order of dso
  dependencies. This allows the ifuncs resolvers to call into depended
  libs.  Init list now includes all objects instead of only objects
  with init/fini callables.
- Disable relro protection around bind_now ifunc relocations.

I considered calling ifunc resolvers of dso after initializers of all
dependencies are processed, and decided that this is wrong/should not
be supported. The order now is normal relocations for all
objects->ifunc resolution in init order->initializers, where each step
does complete pass over all loaded objects before moving to the next
step.

Reported, tested and reviewed by:	emaste
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D18400
2018-12-03 20:03:43 +00:00
..
atf DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
atrun libexec: adoption of SPDX licensing ID tags. 2017-11-27 15:25:02 +00:00
blacklistd-helper DIRDEPS_BUILD: Connect new directories and update dependencies. 2016-06-03 19:25:30 +00:00
bootpd libexec: adoption of SPDX licensing ID tags. 2017-11-27 15:25:02 +00:00
comsat General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
dma Replace send-mail with the more standarized sendmail, we do not create 2017-12-27 06:23:50 +00:00
fingerd General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
ftpd Move ftpusers to libexec/ftpd/ 2018-08-21 17:07:52 +00:00
getty Move gettytab to libexec/getty/ 2018-09-05 15:25:23 +00:00
hyperv hyperv: Add VF bringup scripts and devd rules. 2017-07-31 07:18:15 +00:00
mail.local DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
makewhatis.local makewhatis: do not try to operate on read-only mounted directories 2018-10-27 17:15:58 +00:00
mknetid General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
pppoed libexec: adoption of SPDX licensing ID tags. 2017-11-27 15:25:02 +00:00
rbootd General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
rc Allow forced start of ipmon in special cases where testing is desired 2018-11-22 04:48:27 +00:00
revnetgroup General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
rpc.rquotad This exposes ZFS user and group quotas via the normal 2018-07-05 22:56:13 +00:00
rpc.rstatd General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
rpc.rusersd General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
rpc.rwalld libexec: adoption of SPDX licensing ID tags. 2017-11-27 15:25:02 +00:00
rpc.sprayd rpc.sprayd: raise WARNS to 6 2018-03-05 16:11:07 +00:00
rtld-aout libexec: adoption of SPDX licensing ID tags. 2017-11-27 15:25:02 +00:00
rtld-elf Some fixes for LD_BIND_NOW + ifuncs. 2018-12-03 20:03:43 +00:00
save-entropy libexec: adoption of SPDX licensing ID tags. 2017-11-27 15:25:02 +00:00
smrsh DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
talkd libexec: adoption of SPDX licensing ID tags. 2017-11-27 15:25:02 +00:00
tcpd DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
telnetd DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
tests Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
tftp-proxy DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
tftpd tftpd: Fix data corruption bug with netascii 2018-08-22 23:31:27 +00:00
ulog-helper libexec: adoption of SPDX licensing ID tags. 2017-11-27 15:25:02 +00:00
ypxfr spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
Makefile Move the rc framework out of sbin/init into libexec/rc. 2018-10-17 16:49:11 +00:00
Makefile.amd64 HYPERV isn't available on all architectures, but just on by default 2014-10-16 00:33:06 +00:00
Makefile.i386 HYPERV isn't available on all architectures, but just on by default 2014-10-16 00:33:06 +00:00
Makefile.inc