[Lldb-commits] [PATCH] D58001: [lldb] [lit] Fix finding lld-link when it is not in 'compiler dir'

Michał Górny via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Sat Feb 9 06:33:44 PST 2019

mgorny created this revision.
mgorny added reviewers: zturner, labath.
mgorny added a project: LLDB.
Herald added a reviewer: serge-sans-paille.

Fix the build helper to find lld-link via PATH lookup, rather than
making a fragile assumption that it will be present in the 'compiler
directory'.  This fixes tests on Gentoo where clang and lld
are installed in different directories.




Index: lldb/lit/helper/build.py
--- lldb/lit/helper/build.py
+++ lldb/lit/helper/build.py
@@ -283,17 +283,19 @@
                     print('Using alternate compiler "{0}" to match selected target.'.format(self.compiler))
         if self.mode == 'link' or self.mode == 'compile-and-link':
-            self.linker = self._find_linker('link') if toolchain_type == 'msvc' else self._find_linker('lld-link')
+            self.linker = self._find_linker('link') if toolchain_type == 'msvc' else self._find_linker('lld-link', args.tools_dir)
             if not self.linker:
                 raise ValueError('Unable to find an appropriate linker.')
         self.compile_env, self.link_env = self._get_visual_studio_environment()
-    def _find_linker(self, name):
+    def _find_linker(self, name, search_paths=[]):
         if sys.platform == 'win32':
             name = name + '.exe'
         compiler_dir = os.path.dirname(self.compiler)
         linker_path = os.path.join(compiler_dir, name)
+        if not os.path.exists(linker_path):
+            linker_path = find_executable(name, search_paths)
         if not os.path.exists(linker_path):
             raise ValueError('Could not find \'{}\''.format(linker_path))
         return linker_path

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58001.186113.patch
Type: text/x-patch
Size: 1325 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190209/9e86ece2/attachment.bin>

More information about the lldb-commits mailing list