[PATCH] D158221: [llvm-lit] copy CRT/STL DLLs into the output directory

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 22 16:15:03 PDT 2023


rnk added a comment.

I'm not that familiar with the typical compatibility requirements for DLLs in the Windows system folder, but it seems pretty disruptive to ship a DLL in the system folder, and then ship ABI incompatible changes without increasing the version number. Wouldn't this all work if the STL increased the version number of `msvcp140.dll` instead?



================
Comment at: llvm/utils/lit/lit/run.py:73
+                    return parent / 'Output'
+                outputDirectories = {outputPath(test.getExecPath()) for test in self.tests}
+                toolsetDirectory = pathlib.Path(lit.util.which("cl.exe")).parent
----------------
This is typically quite a lot of directories, so this doesn't seem like a great solution. I looked at the [DLL search path](https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order) docs, and it looks like the system directory (C:\Windows\System32) precedes PATH, which is unfortunate. Is there no other way to inject a DLL search path *before* the system directory? SxS manifests seem like the most promising option, but that doesn't sound like fun either.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D158221/new/

https://reviews.llvm.org/D158221



More information about the llvm-commits mailing list