[Lldb-commits] [PATCH] D109832: [lldb/win] Fix TestIRMemoryMapWindows.test when running tests in git bash

Nico Weber via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Sep 15 08:43:19 PDT 2021


thakis created this revision.
thakis added a reviewer: amccarth.
Herald added a subscriber: pengfei.
thakis requested review of this revision.

lit.util.which('link') picks up the wrong link.exe in git bash, leading
to this error:

1. command stderr: /usr/bin/link: extra operand '/LIBPATH:C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.17763.0\\ucrt\\x64' Try '/usr/bin/link --help' for more information.

Instead, assume that link.exe is next to cl.exe.


https://reviews.llvm.org/D109832

Files:
  lldb/test/Shell/helper/toolchain.py


Index: lldb/test/Shell/helper/toolchain.py
===================================================================
--- lldb/test/Shell/helper/toolchain.py
+++ lldb/test/Shell/helper/toolchain.py
@@ -90,11 +90,14 @@
     # detect the include and lib paths, and find cl.exe and link.exe and create
     # substitutions for each of them that explicitly specify /I and /L paths
     cl = lit.util.which('cl')
-    link = lit.util.which('link')
 
-    if not cl or not link:
+    if not cl:
         return
 
+    # Don't use lit.util.which() for link.exe: In `git bash`, it will pick
+    # up /usr/bin/link (another name for ln).
+    link = os.path.join(os.path.dirname(cl), 'link.exe')
+
     cl = '"' + cl + '"'
     link = '"' + link + '"'
     includes = os.getenv('INCLUDE', '').split(';')


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D109832.372715.patch
Type: text/x-patch
Size: 789 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210915/3f71cc64/attachment-0001.bin>


More information about the lldb-commits mailing list