Clang has custom code to inject the -platform_version flag when invoking lld. This takes effect when we pass -fuse-ld=lld, which we currently don't do for lld because want to point at the hermetic one. Switch to using --ld-path instead, which is supported since Clang12.
The current structure relies on sanitize_option generating 1 option per input, so I had to add the extra option check in the loop around it.
Clang has custom code to inject the
-platform_version
flag when invokinglld
. This takes effect when we pass-fuse-ld=lld
, which we currently don't do forlld
because want to point at the hermetic one. Switch to using--ld-path
instead, which is supported since Clang12.The current structure relies on
sanitize_option
generating 1 option per input, so I had to add the extra option check in the loop around it.This is why LLD didn't work for me when we first added this support.
Kudos to @keith for the analysis above :)
I think we should follow-up soon and make LLD the default; that should allow a lot of simplification