freebsd-dev/tools
Ed Maste bf81eb3ca9 Add a WITH_BIND_NOW build knob
The linker's -z now flag sets the DF_BIND_NOW flag, which signals to the
runtime loader that all relocation processing should be performed at
process startup rather than on demand.  In combination with lld's
default of enabling relro this causes the GOT to be made read-only when
the process starts, preventing straightforward GOT overwrite attacks.

Shawn Webb discovered a failure on HardenedBSD with BIND_NOW and ifunc
use, which resulted in my rtld fix in r340137.  Add a BIND_NOW knob as
it is trivial to do so and is a useful ELF hardening feature.  This
change is equivalent to HardenedBSD's but not identical as there are
other diffs/conflicts nearby.

Note that our ELF Tool Chain readelf does not currently decode the
DF_BIND_NOW flag - see PR232983.

Reviewed by:	brooks
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D17846
2018-11-06 15:52:49 +00:00
..
boot Update lualoader test script a little bit 2018-10-25 02:04:01 +00:00
bsdbox Fix bsdbox build WITH_OFED 2018-08-27 19:34:50 +00:00
build Add a WITH_BIND_NOW build knob 2018-11-06 15:52:49 +00:00
bus_space Add an example program (in Python) for the AMD Am79c900 (ILACC) 2015-08-02 21:24:03 +00:00
debugscripts Assorted grammar, spelling and punctuation fixes. 2015-12-15 13:04:44 +00:00
diag Fix incorrect output when printing block lists for files small enough 2018-08-20 20:44:11 +00:00
ifnet * Handle ++x as well as x++ while converting. 2014-06-25 15:22:14 +00:00
kerneldoc Redo r339563: Remove joy(4) driver. 2018-10-26 16:03:30 +00:00
KSE NO_MAN= has been deprecated in favor of MAN= for some time, go ahead 2014-04-13 05:21:56 +00:00
LibraryReport
regression Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
sched Add a dtrace script for collecting schedgraph data 2016-11-18 02:29:09 +00:00
test Remove apparently unused 0-byte files that cause grief on Windows 2018-11-03 01:53:26 +00:00
tools Allow building world without inheriting $PATH 2018-11-05 19:51:10 +00:00
install.sh Fix handling -U. It does not take any arguments. 2017-11-27 02:28:40 +00:00
make_libdeps.sh Improve the library dependencies helper script in src/tools. 2017-11-16 15:26:39 +00:00
README
tinder.sh Remove the old depend (mkdep) code and make FAST_DEPEND the one true way. 2016-03-30 23:50:23 +00:00

$FreeBSD$

This directory tree contains tools used for the maintenance and
testing of FreeBSD.  There is no toplevel Makefile structure since
these tools are not meant to be built as part of the standard system,
though there may be individual Makefiles in some of the subdirs.

Please read the README files in the subdirs for further information.