[PATCH] D101194: [Driver] Push multiarch path setup to individual drivers
Fangrui Song via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Apr 25 00:07:07 PDT 2021
MaskRay accepted this revision.
MaskRay added a comment.
This revision is now accepted and ready to land.
In D101194#2714991 <https://reviews.llvm.org/D101194#2714991>, @phosek wrote:
> In D101194#2714206 <https://reviews.llvm.org/D101194#2714206>, @MaskRay wrote:
>
>>> Different platforms use different rules for multiarch triples so it's difficult to provide a single method for all platforms.
>>
>> Guess this is a Linux/Hurd/Fuchsia specific thing. I don't know much about the runtime build but I hope the Linux hierarchy is not set in stone.
>>
>> Can you dump a diff how `addPathIfExists(D, getStdlibPath(), Paths);` and a similar call will change `-L` paths in the linking stage?
>> You can use `clang ... '-###' |& sed -E 's/ "?-L/\n&/g; s/ "?-[iI]/\n&/g'` to break -L into multiple lines.
>
> There's no difference, current behavior is already covered by tests and those are still passing. The difference is that `ToolChain::getRuntimePath()` and `ToolChain::getStdlibPath()` currently try various possible spellings of triples whereas with this patch that's no longer needed because each platform controls its own spelling so we save a few syscalls.
>
> I checked and the multiarch runtimes layout is currently only used by Fuchsia, Linux and WebAssembly, other platforms use their own custom logic. If other platforms decide to pickup this layout as well, they can follow the same pattern.
Hope you can dump the current behavior.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D101194/new/
https://reviews.llvm.org/D101194
More information about the cfe-commits
mailing list