[LLVMdev] compiler-rt libclang_rt.tsan circular dependency?
Ed Maste
emaste at freebsd.org
Fri Nov 21 10:28:48 PST 2014
After r220676 COMPILER_RT_HAS_TSAN is enabled on FreeBSD, and the TSan
tests should be run.
This seems to introduce a circular dependency though. I ran cmake like so:
% cmake -GNinja ..
-DCMAKE_C_COMPILER=/tank/emaste/src/llvm/build-nodebug/bin/clang
-DLLVM_CONFIG_PATH=/tank/emaste/src/llvm/build-nodebug/bin/llvm-config
Then the ninja build failed with:
CMake Error at /tank/emaste/src/compiler-rt/build/lib/tsan/libcxx_tsan/src/libcxx_tsan-stamp/libcxx_tsan-configure.cmake:17
(message):
Command failed: 1
/usr/bin/ld:
/tank/emaste/src/llvm/build-nodebug/bin/../lib/clang/3.6.0/lib/freebsd/libclang_rt.tsan-x86_64.a:
No such file: No such file or directory
This comes from lib/tsan/CMakeLists.txt, which wants to build a
TSan-instrumented libcxx:
# Build libcxx instrumented with TSan.
if(TSAN_SUPPORTED_ARCH AND
COMPILER_RT_HAS_LIBCXX_SOURCES AND
COMPILER_RT_TEST_COMPILER_ID STREQUAL "Clang")
set(LIBCXX_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/libcxx_tsan)
add_custom_libcxx(libcxx_tsan ${LIBCXX_PREFIX}
DEPS ${TSAN_RUNTIME_LIBRARIES}
CFLAGS -fsanitize=thread)
endif()
Does this need an additional test that libclang_rt.tsan is already
available to Clang?
More information about the llvm-dev
mailing list