quic-garvgupt wrote:

> > Moreover, this patch makes gnuld the default linker for baremetal
> > toolchain object. User need to pass -fuse-ld=lld explicitly to driver to 
> > select
> > lld
> 
> This seems like an unrelated change, it was not mentioned in the RFC, and it 
> breaks things: baremetal toolchains generally should not be presumed to be 
> for the same architecture as host. On an x86_64 host, this results in 
> `/usr/bin/ld` being used for `clang --target=riscv64`, but `/usr/bin/ld` is 
> (generally) a linker that does not understand RISC-V targets or object files. 
> This seems like a bad idea, can this please be reverted?

This patch does not make assumption that it is for the same architecture as 
host. Rather, it is inline with other toolchain objects that supports 
GCCInstallation which have ld as the default linker. And this change is done 
only after reaching a consensus with lld and clang driver maintainer which can 
be found [here](https://github.com/llvm/llvm-project/pull/121830). The 
conclusion of that discussion was that if a user wants to use a different 
linker, they should do by specifying it explicitly via `-fuse-ld` or 
`CLANG_DEFAULT_LINKER`.

https://github.com/llvm/llvm-project/pull/144649
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to