clang clang-headers FileCheck count not llvm-nm
${ASAN_RUNTIME_LIBRARIES}
)
+ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
+ list(APPEND ASAN_TEST_DEPS llvm-symbolizer)
+ endif()
set(ASAN_TEST_PARAMS
asan_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
)
config.substitutions.append( ("%clangxx_asan ", (" " + config.clang + " " +
clang_asan_cxxflags + " ")) )
+# Setup path to external LLVM symbolizer to run AddressSanitizer output tests.
+# Currently llvm-symbolizer is supported on Linux only.
+if config.host_os == 'Linux':
+ llvm_obj_root = getattr(config, 'llvm_obj_root', None)
+ if llvm_obj_root:
+ config.environment['LLVM_SYMBOLIZER_PATH'] = os.path.join(
+ config.llvm_obj_root, "projects", "compiler-rt", "utils",
+ "llvm-symbolizer", "llvm-symbolizer")
+
# Setup path to symbolizer script.
# FIXME: Instead we should copy this script to the build tree and point
# at it there.
config.target_triple = "@TARGET_TRIPLE@"
config.host_os = "@HOST_OS@"
config.llvm_src_root = "@LLVM_SOURCE_DIR@"
+config.llvm_obj_root = "@LLVM_BINARY_DIR@"
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
config.clang = "@LLVM_BINARY_DIR@/bin/clang"