abidh wrote:

> Thanks for the pointer. However, the description doesn't appear to have 
> sufficient information to justify the `--gcc-toolchain=` dependent decision. 
> A toolchain should be selected completely from the target triple. I think 
> `RISCVToolChain` should be adjusted to either select a different target 
> triple, or (I am sorry to say this) be removed, since some choices (`crt0.o` 
> `-lgloss`) are strange. It can be added back when we sort out the use cases 
> we want to support and ensure that it doesn't get in the way for users who 
> don't provide `crt0.o` `-lgloss`. More likely, we really don't need this 
> RISCVToolChain and can satisfy the user need with a configuration file.
> 
> If there is a multilib selection need, participate in the discussion of 
> Clang-based multilib https://discourse.llvm.org/t/rfc-multilib/67494
> 
> > So in the toolchain selection code, I have made this dependency of 
> > RISCVToolChain on gcc toolchain explicit. It is created if gcc-toolchain 
> > option is present. Otherwise Baremetal toolchain is created. I will be 
> > happy to hear if there is a better way to choose between these two 
> > toolchains.
> 
> @abidh

IIRC the RISCVToolChain was handling the case where clang is used with a gcc 
sysroot. My aim was to not break the workflow of existing users of 
RISCVToolChain. But I agree that handling same triple in 2 places is not right. 
We may be able to do what RISCVToolChain is doing with some modification in 
BareMetal.cpp and using configuration files. 


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

Reply via email to