On 2017-Apr-14, at 2:35 PM, Dimitry Andric <dimitry at andric.com> wrote:

> 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.

Ahh. I took the mention of WITH_LLD_IS_LD and WITHOUT_SYSTEM_COMPILER
as it was written as something that was being specially enforced, implying
some form of lack of full independence. I wondered about what contexts
trying WITH_SYSTEM_COMPILER might be broken when WITH_LLD_IS_LD was also
in use.

>> 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.

I'm familiar with the WITH_SYSTEM_COMPILER vintage material have
have been using it and other such things right along.

My worry for my knowledge-base would be the "mostly" part of
"mostly orthogonal": When is there a lack of independence?
(Presuming system-clang 4.0 instead of system-gcc 4.2.1.)

> 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.

Yep.

So it sounds like I can freely mix WITH_LLD_IS_LD and WITH_SYSTEM_COMPILER
in any system-clang 4.0 based system build context, no actual problem
cases, even if the existing system build used a binutils ld (for example).

Thanks for the information.

===
Mark Millard
markmi at dsl-only.net

_______________________________________________
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"

Reply via email to