forked from OSchip/llvm-project
[lit] Fix setup of sanitizer environment
Not all options were propageted into tests. Reviewed By: ychen Differential Revision: https://reviews.llvm.org/D122869
This commit is contained in:
parent
0e02bf6358
commit
d33c36235d
|
@ -30,10 +30,19 @@ if 'TMP' in os.environ:
|
|||
if 'TEMP' in os.environ:
|
||||
config.environment['TEMP'] = os.environ['TEMP']
|
||||
|
||||
# Propagate path to symbolizer for ASan/MSan.
|
||||
for symbolizer in ['ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH']:
|
||||
if symbolizer in os.environ:
|
||||
config.environment[symbolizer] = os.environ[symbolizer]
|
||||
# Propagate sanitizer options.
|
||||
for var in [
|
||||
'ASAN_SYMBOLIZER_PATH',
|
||||
'MSAN_SYMBOLIZER_PATH',
|
||||
'TSAN_SYMBOLIZER_PATH',
|
||||
'UBSAN_SYMBOLIZER_PATH',
|
||||
'ASAN_OPTIONS',
|
||||
'MSAN_OPTIONS',
|
||||
'TSAN_OPTIONS',
|
||||
'UBSAN_OPTIONS',
|
||||
]:
|
||||
if var in os.environ:
|
||||
config.environment[var] = os.environ[var]
|
||||
|
||||
def find_shlibpath_var():
|
||||
if platform.system() in ['Linux', 'FreeBSD', 'NetBSD', 'SunOS']:
|
||||
|
|
|
@ -49,10 +49,6 @@ config.substitutions.append(
|
|||
config.substitutions.append(
|
||||
('%target_triple', config.target_triple))
|
||||
|
||||
# Propagate path to symbolizer for ASan/MSan.
|
||||
llvm_config.with_system_environment(
|
||||
['ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH'])
|
||||
|
||||
config.substitutions.append(('%PATH%', config.environment['PATH']))
|
||||
|
||||
|
||||
|
|
|
@ -83,11 +83,6 @@ llvm_config.use_lld(required=('lld' in config.llvm_enabled_projects))
|
|||
if 'compiler-rt' in config.llvm_enabled_projects:
|
||||
config.available_features.add('compiler-rt')
|
||||
|
||||
if config.llvm_use_sanitizer:
|
||||
# Propagate path to symbolizer for ASan/MSan.
|
||||
llvm_config.with_system_environment(
|
||||
['ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH'])
|
||||
|
||||
# Check which debuggers are available:
|
||||
lldb_path = llvm_config.use_llvm_tool('lldb', search_env='LLDB')
|
||||
|
||||
|
|
|
@ -33,10 +33,19 @@ if 'TEMP' in os.environ:
|
|||
if 'HOME' in os.environ:
|
||||
config.environment['HOME'] = os.environ['HOME']
|
||||
|
||||
# Propagate path to symbolizer for ASan/MSan.
|
||||
for symbolizer in ['ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH']:
|
||||
if symbolizer in os.environ:
|
||||
config.environment[symbolizer] = os.environ[symbolizer]
|
||||
# Propagate sanitizer options.
|
||||
for var in [
|
||||
'ASAN_SYMBOLIZER_PATH',
|
||||
'MSAN_SYMBOLIZER_PATH',
|
||||
'TSAN_SYMBOLIZER_PATH',
|
||||
'UBSAN_SYMBOLIZER_PATH',
|
||||
'ASAN_OPTIONS',
|
||||
'MSAN_OPTIONS',
|
||||
'TSAN_OPTIONS',
|
||||
'UBSAN_OPTIONS',
|
||||
]:
|
||||
if var in os.environ:
|
||||
config.environment[var] = os.environ[var]
|
||||
|
||||
# Win32 seeks DLLs along %PATH%.
|
||||
if sys.platform in ['win32', 'cygwin'] and os.path.isdir(config.shlibdir):
|
||||
|
|
|
@ -40,7 +40,7 @@ llvm_config.with_environment('PATH', config.llvm_tools_dir, append_path=True)
|
|||
|
||||
# Propagate some variables from the host environment.
|
||||
llvm_config.with_system_environment(
|
||||
['HOME', 'INCLUDE', 'LIB', 'TMP', 'TEMP', 'ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH'])
|
||||
['HOME', 'INCLUDE', 'LIB', 'TMP', 'TEMP'])
|
||||
|
||||
|
||||
# Set up OCAMLPATH to include newly built OCaml libraries.
|
||||
|
|
|
@ -56,6 +56,17 @@ class LLVMConfig(object):
|
|||
if not self.use_lit_shell:
|
||||
features.add('shell')
|
||||
|
||||
self.with_system_environment([
|
||||
'ASAN_SYMBOLIZER_PATH',
|
||||
'MSAN_SYMBOLIZER_PATH',
|
||||
'TSAN_SYMBOLIZER_PATH',
|
||||
'UBSAN_SYMBOLIZER_PATH'
|
||||
'ASAN_OPTIONS',
|
||||
'MSAN_OPTIONS',
|
||||
'TSAN_OPTIONS',
|
||||
'UBSAN_OPTIONS',
|
||||
])
|
||||
|
||||
# Running on Darwin OS
|
||||
if platform.system() == 'Darwin':
|
||||
# FIXME: lld uses the first, other projects use the second.
|
||||
|
|
|
@ -33,7 +33,16 @@ if 'TEMP' in os.environ:
|
|||
if 'HOME' in os.environ:
|
||||
config.environment['HOME'] = os.environ['HOME']
|
||||
|
||||
# Propagate path to symbolizer for ASan/MSan.
|
||||
for symbolizer in ['ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH']:
|
||||
if symbolizer in os.environ:
|
||||
config.environment[symbolizer] = os.environ[symbolizer]
|
||||
# Propagate sanitizer options.
|
||||
for var in [
|
||||
'ASAN_SYMBOLIZER_PATH',
|
||||
'MSAN_SYMBOLIZER_PATH',
|
||||
'TSAN_SYMBOLIZER_PATH',
|
||||
'UBSAN_SYMBOLIZER_PATH',
|
||||
'ASAN_OPTIONS',
|
||||
'MSAN_OPTIONS',
|
||||
'TSAN_OPTIONS',
|
||||
'UBSAN_OPTIONS',
|
||||
]:
|
||||
if var in os.environ:
|
||||
config.environment[var] = os.environ[var]
|
||||
|
|
|
@ -32,10 +32,19 @@ if 'TMP' in os.environ:
|
|||
if 'TEMP' in os.environ:
|
||||
config.environment['TEMP'] = os.environ['TEMP']
|
||||
|
||||
# Propagate path to symbolizer for ASan/MSan.
|
||||
for symbolizer in ['ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH']:
|
||||
if symbolizer in os.environ:
|
||||
config.environment[symbolizer] = os.environ[symbolizer]
|
||||
# Propagate sanitizer options.
|
||||
for var in [
|
||||
'ASAN_SYMBOLIZER_PATH',
|
||||
'MSAN_SYMBOLIZER_PATH',
|
||||
'TSAN_SYMBOLIZER_PATH',
|
||||
'UBSAN_SYMBOLIZER_PATH',
|
||||
'ASAN_OPTIONS',
|
||||
'MSAN_OPTIONS',
|
||||
'TSAN_OPTIONS',
|
||||
'UBSAN_OPTIONS',
|
||||
]:
|
||||
if var in os.environ:
|
||||
config.environment[var] = os.environ[var]
|
||||
|
||||
if platform.system() == 'Darwin':
|
||||
shlibpath_var = 'DYLD_LIBRARY_PATH'
|
||||
|
|
Loading…
Reference in New Issue