WITH_LLD_IS_LD vs default WITHOUT_SYSTEM_COMPILER: What are the reasons?
Dimitry Andric
dimitry at andric.com
Fri Apr 14 21:35:08 UTC 2017
On 14 Apr 2017, at 22:40, Mark Millard <markmi at dsl-only.net> wrote:
>
> man src.conf (from -r315914 ) reports:
>
> WITH_LLD_IS_LD
> Set to use LLVM's LLD as the system linker, instead of GNU
> binutils ld.
>
> This is a default setting on arm64/aarch64. When set, these
> options are also in effect:
>
> WITHOUT_SYSTEM_COMPILER (unless WITH_SYSTEM_COMPILER is set
> explicitly)
>
> I'm curious about:
>
> A) Why there is a bias to avoid the system compiler?
These are just the defaults, detected by the script that generates
src.conf.5. The setting of MK_SYSTEM_COMPILER is actually dependent on
the host, so it's technically incorrect to have src.conf.5 mention that
it is off by default.
> and by contrast:
>
> B) What sort of context justifies explicitly setting
> WITH_SYSTEM_COMPILER when WITH_LLD_IS_LD is in use?
The settings are mostly orthogonal. MK_SYSTEM_COMPILER was created to
avoid building a bootstrap compiler, if the system (host) compiler is
new enough.
At some point you could also image a MK_SYSTEM_LINKER setting, which
would avoid building the bootstrap linker, if the system linker is new
enough.
-Dimitry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.freebsd.org/pipermail/freebsd-toolchain/attachments/20170414/edb62715/attachment.sig>
More information about the freebsd-toolchain
mailing list