[clang] [Driver] Restore compiler-rt arch suffix for PS and Windows (PR #89775)

Tobias Hieta via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 25 10:11:42 PDT 2024


tru wrote:

> > LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=on 
> 
> 
> 
> I'm unable to find what code this affects. I don't see it mentioned anywhere in clang/lib or clang/include.
> 
> 
> 
> It does seem like it should control the behavior of `ToolChain::getCompilerRT`; where I had added the Windows/PS check, seems like it should check the config variable instead. It's obvious that OS-based checks are not appropriate, as @tru reports using the new scheme but MSVC clearly uses the old scheme, both on Windows.
> 
> 
> 
> How do CMake variables turn into something that controls code behavior?

IIRC - the CMake variable doesn't change any driver code. It just changes the install path of compiler-rt, you can probably find references to it in compiler-rt CMake files.

The driver always probes both paths. Before this latest patch it probes the new layout first, then fell back to the old _arch suffix files and it lead to bad behaviour where it unexpectedly fell back (and the error message really didn't make any sense). This new patch was intended to change so the error message made more sense, but seems to have changed some specific behaviours as well.


https://github.com/llvm/llvm-project/pull/89775


More information about the cfe-commits mailing list