emaste 33a9dab77f 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
..
2015-06-22 20:21:57 +00:00
2018-11-06 15:52:49 +00:00
2016-02-11 00:30:51 +00:00
2016-05-20 19:23:07 +00:00
2018-10-21 06:33:35 +00:00
2018-10-21 06:33:35 +00:00
2018-10-21 06:33:35 +00:00
2017-04-20 03:36:09 +00:00
2016-12-19 15:09:30 +00:00
2015-06-22 20:21:57 +00:00
2015-06-22 20:21:57 +00:00
2014-08-19 15:40:26 +00:00
2014-10-16 18:28:11 +00:00
2017-02-03 19:21:28 +00:00
2018-05-13 22:58:40 +00:00
2015-10-14 00:23:31 +00:00
2017-11-11 16:09:20 +00:00
2018-10-21 06:33:35 +00:00
2018-10-21 06:33:35 +00:00
2017-04-20 03:36:09 +00:00
2018-07-04 17:18:35 +00:00
2015-01-02 18:57:58 +00:00