From a88556733a4dced22416bd3f45255128b9eb4f49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 24 Mar 2021 23:58:54 +0200 Subject: [PATCH] [LLD] Fix probing a MSYS based 'tar' in a Windows Container Don't run the 'tar' tool in a cleared environment with only the LANG variable set, just set LANG on top of the existing environment. If the 'tar' tool is an MSYS based tool, running it in a Windows Container hangs if all environment variables are cleared - in particular, the USERPROFILE variable needs to be kept intact. This is the same issue fixed as was fixed in other places in 9de63b2e051cb3e79645cc20b83b4d33d132cba0, but contrary to running the actual tests, running with an as-cleared-as-possible environment here is less important. Differential Revision: https://reviews.llvm.org/D99304 --- lld/test/lit.cfg.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lld/test/lit.cfg.py b/lld/test/lit.cfg.py index 8e31fd3977f9..670f41f0b631 100644 --- a/lld/test/lit.cfg.py +++ b/lld/test/lit.cfg.py @@ -101,11 +101,13 @@ if config.sizeof_void_p == 8: tar_executable = lit.util.which('tar', config.environment['PATH']) if tar_executable: + env = os.environ + env['LANG'] = 'C' tar_version = subprocess.Popen( [tar_executable, '--version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, - env={'LANG': 'C'}) + env=env) sout, _ = tar_version.communicate() if 'GNU tar' in sout.decode(): config.available_features.add('gnutar')