On 9/16/23 16:54, Matthew Maurer wrote:> Yes, thanks Bjorn - "gcc" is the linker flavor used for "Use the C
compiler as a linker". With regards to HOSTLD, I was trying to make the minimum possible change. Currently, it is using the command `cc` as a linker, so this would preserve existing behavior when HOSTCC is unset. If we would prefer `HOSTLD` instead we can do that, but we would need to additionally inspect `LLVM` to set the linker flavor accordingly (e.g. set ld vs ld.lld).
LLVM can use all of bfd, gold, lld and mold plus each and one of them support roughly the same set of flags, so we can kinda ignore the differences between them.
Do folks have strong opinions between these? My primary concern is to avoid calling programs by foo when their HOSTFOO variable is set. See https://doc.rust-lang.org/rustc/codegen-options/index.html#linker-flavor for details on linker flavor settings.
If I were to talk about my experiences with CMake then I'd say that build systems tend to kinda ignore your linker choice if you thought that it was going to be used standalone. I think KBuild does indeed honor it, so if we can go ahead with that then we could do so. Although I don't know what else would bring upon the table.