Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.Prune svn:mergeinfo from the new branch, as nothing has been mergedhere.Additional commits post-branch will follow.Approved by: re (implicit)Sponsored by: The FreeBSD Foundation
Fix LDADD/DPADD that should be LIBADD.Sponsored by: EMC / Isilon Storage Division
Revert r267233 for now. PIE support needs to be reworked.1. 50+% of NO_PIE use is fixed by adding -fPIC to INTERNALLIB and other build-only utility libraries.2. Another 40% is fixed by generating _pic.a variants of various libraries.3. Some of the NO_PIE use is a bit absurd as it is disabling PIE (and ASLR) where it never would work anyhow, such as csu or loader. This suggests there may be better ways of adding support to the tree. Many of these cases can be fixed such that -fPIE will work but there is really no reason to have it in those cases.4. Some of the uses are working around hacks done to some Makefiles that are really building libraries but have been using bsd.prog.mk because the code is cleaner. Had they been using bsd.lib.mk then NO_PIE would not have been needed.We likely do want to enable PIE by default (opt-out) for non-tree consumers(such as ports). For in-tree though we probably want to only enable PIE(opt-in) for common attack targets such as remote service daemons and setuidutilities. This is also a great performance compromise since ASLR is expectedto reduce performance. As such it does not make sense to enable it in allutilities such as ls(1) that have little benefit to having it enabled.Reported by: kib
In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE.This is currently an opt-in build flag. Once ASLR support is ready and stableit should changed to opt-out and be enabled by default along with ASLR.Each application Makefile uses opt-out to ensure that ASLR will be enabled bydefault in new directories when the system is compiled with PIE/ASLR. [2]Mark known build failures as NO_PIE for now.The only known runtime failure was rtld.[1] http://www.bsdcan.org/2014/schedule/events/452.en.htmlSubmitted by: Shawn Webb <lattera@gmail.com>Discussed between: des@ and Shawn Webb [2]
NO_MAN= has been deprecated in favor of MAN= for some time, go aheadand finish the job. ncurses is now the only Makefile in the tree thatuses it since it wasn't a simple mechanical change, and will beaddressed in a future commit.
Start the dreaded NOFOO -> NO_FOO conversion.OK'ed by: core
For variables that are only checked with defined(), don't provideany fake value.
Upgrade to Groff 1.19.
Upgrade to Groff 1.18.1.
Revert the last change and mark the program as PROG_CXX.
Add -lstdc++ to the link args for these C++ tools so that they can becompiled with gcc-3.1. Somebody thought it was a good idea to movethe implementation of new and delete from libgcc to libstdc++. Thischange doesn't harm the current compiler in the tree.
Upgrade to Groff 1.17.