From: Nico Weber Date: Sat, 9 Jan 2021 19:03:52 +0000 (-0500) Subject: [gn build] Make an explicit `use_lld = true` on mac use lld.darwinnew X-Git-Tag: llvmorg-13-init~1619 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=87d4ea2433663b4aabe9c979a4dd47ef6adedc8b;p=platform%2Fupstream%2Fllvm.git [gn build] Make an explicit `use_lld = true` on mac use lld.darwinnew use_lld defaults to true on non-mac if clang_base_path is set (i.e. the host compiler is a locally-built clang). On mac, the lld Mach-O port used to be unusable, but ld64.lld.darwinnew is close to usable. When explicitly setting `use_lld = true` in a GN build on a mac host, check-lld passes, two check-clang tests fail, and a handful check-llvm tests fail (the latter all due to -flat_namespace not yet being implemented). --- diff --git a/llvm/utils/gn/build/BUILD.gn b/llvm/utils/gn/build/BUILD.gn index 92d667c..813f39d 100644 --- a/llvm/utils/gn/build/BUILD.gn +++ b/llvm/utils/gn/build/BUILD.gn @@ -236,7 +236,11 @@ config("compiler_defaults") { # On Windows, the linker is not invoked through the compiler driver. if (use_lld && host_os != "win") { - ldflags += [ "-fuse-ld=lld" ] + if (host_os == "mac") { + ldflags += [ "-fuse-ld=lld.darwinnew" ] + } else { + ldflags += [ "-fuse-ld=lld" ] + } } if (llvm_build_instrumented_coverage) {