MaskRay wrote:

My recollection of the past discussions is that we want users to switch to the 
new hierarchy.
*BSD, Linux, and z/OS have migrated but I am not familiar with the Windows 
ecosystems.

`ToolChain::getCompilerRT` detects both the old and new compiler-rt directory.
Does it not work for PlayStation?

> The old status quo has been that you can build the runtimes with either 
> layout, and clang will use whichever it finds, when invoking the linker.

Yes. We try avoiding a CMake variable that customizes this detection.
We need detection for both old and new file hierarchies for now.

> The recent changes, #81037 and #87866, were (as far as I know) only intended 
> to change what is printed as error messages, when neither is found, to help 
> users correct their setup for the new style layout. But those changes also 
> seem to have unexpected effects in changing e.g. what gets emitted as 
> embedded directive, when the compiler doesn't see either of them at compile 
> time (with e.g. distributed build systems), while they might be available at 
> link time.

This matches my understanding. I am not aware of the embedded directive? Do you 
embed a path to a compiler-rt library to the generated object files?

I think while technically a new clang can use an old compiler-rt file hierarchy,
technically it is unsupported: kinda like that a very old libc++ may not be 
built with a new Clang.
I know that changing anything here is tricky as there may be users doing it and 
we perhaps need to wait a few releases to drop support for the old hierarchy.
The intention is that eventually everyone will use the new file hierarchy.

If we avoid hard-coded library names in compiler-generated relocatable files 
(just called "object files" on Windows?).
there should be no distributed build system concern.

I am fine if more path probing is added to help users migrate, but the end 
result (in a few years) should be everyone using a new file hierarchy.

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

Reply via email to