freebsd-skq/tools
Ed Maste bcf99d2d99 Add WITH_PIE knob to build Position Independent Executables
Building binaries as PIE allows the executable itself to be loaded at a
random address when ASLR is enabled (not just its shared libraries).

With this change PIE objects have a .pieo extension and INTERNALLIB
libraries libXXX_pie.a.

MK_PIE is disabled for some kerberos5 tools, Clang, and Subversion, as
they explicitly reference .a libraries in their Makefiles.  These can
be addressed on an individual basis later.  MK_PIE is also disabled for
rtld-elf because it is already position-independent using bespoke
Makefile rules.

Currently only dynamically linked binaries will be built as PIE.

Discussed with:	dim
Reviewed by:	kib
MFC after:	1 month
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D18423
2019-02-15 22:22:38 +00:00
..
boot Rework UEFI ESP generation 2018-12-20 19:39:37 +00:00
bsdbox Fix bsdbox build WITH_OFED 2018-08-27 19:34:50 +00:00
build Add WITH_PIE knob to build Position Independent Executables 2019-02-15 22:22:38 +00:00
bus_space
debugscripts
diag In preparation for adding inode check-hashes, clean up and 2018-11-13 21:40:56 +00:00
ifnet
kerneldoc Catch up with some years of driver development. 2019-01-26 18:23:19 +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 Add AES-CCM encryption, and plumb into OCF. 2019-02-15 03:53:03 +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

$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.