Build toolchain components as dynamically linked executables by default

Summary:
Historically, we have built toolchain components such as cc, ld, etc as
statically linked executables.  One of the reasons being that you could
sometimes save yourself from botched upgrades, by e.g. recompiling a
"known good" libc and reinstalling it.

In this day and age, we have boot environments, virtual machine
snapshots, cloud backups, and other much more reliable methods to
restore systems to working order.  So I think the time is ripe to flip
this default, and link the toolchain components dynamically, just like
almost all other executables on FreeBSD.

Maybe at some point they can even become PIE executables by default! :)

Reviewed by:	kib
MFC after:	2 weeks
Differential Revision: https://reviews.freebsd.org/D22061
This commit is contained in:
Dimitry Andric 2019-10-23 17:02:45 +00:00
parent 653fac7d1a
commit 6ab18ea64d
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=353937
2 changed files with 3 additions and 3 deletions

View file

@ -1710,8 +1710,8 @@ as a set-user-ID root program.
Set to not build the
.Bx 4.4
legacy docs.
.It Va WITH_SHARED_TOOLCHAIN
Set to build the toolchain binaries as dynamically linked executables.
.It Va WITHOUT_SHARED_TOOLCHAIN
Set to build the toolchain binaries as statically linked executables.
The set includes
.Xr cc 1 ,
.Xr make 1

View file

@ -166,6 +166,7 @@ __DEFAULT_YES_OPTIONS = \
SENDMAIL \
SERVICESDB \
SETUID_LOGIN \
SHARED_TOOLCHAIN \
SHAREDOCS \
SOURCELESS \
SOURCELESS_HOST \
@ -210,7 +211,6 @@ __DEFAULT_NO_OPTIONS = \
OPENLDAP \
REPRODUCIBLE_BUILD \
RPCBIND_WARMSTART_SUPPORT \
SHARED_TOOLCHAIN \
SORT_THREADS \
SVN \
ZONEINFO_LEAPSECONDS_SUPPORT \