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
..
2017-10-31 00:07:04 +00:00
2019-01-12 21:29:54 +00:00
2019-02-12 23:24:45 +00:00
2017-12-27 21:36:37 +00:00
2018-03-29 19:43:29 +00:00
2019-01-10 14:35:23 +00:00
2019-01-10 14:35:23 +00:00
2018-11-04 16:08:59 +00:00
2018-03-21 14:37:04 +00:00
2018-10-12 05:27:58 +00:00
2018-06-27 19:29:15 +00:00
2018-09-19 07:05:31 +00:00
2019-02-10 23:28:55 +00:00
2018-09-20 09:26:10 +00:00
2018-09-19 07:06:20 +00:00
2018-09-20 09:31:27 +00:00
2019-02-04 13:30:47 +00:00
2018-09-22 13:17:30 +00:00
2018-05-23 01:20:31 +00:00
2018-06-17 18:05:27 +00:00
2018-12-29 21:18:01 +00:00
2018-12-29 06:51:10 +00:00