include_directories(..) # Runtime library sources and build flags. set(DFSAN_RTL_SOURCES dfsan.cc dfsan_custom.cc dfsan_interceptors.cc) set(DFSAN_RTL_CFLAGS ${SANITIZER_COMMON_CFLAGS} # Prevent clang from generating libc calls. -ffreestanding) # Static runtime library. set(DFSAN_RUNTIME_LIBRARIES) set(arch "x86_64") if(CAN_TARGET_${arch}) add_compiler_rt_static_runtime(clang_rt.dfsan-${arch} ${arch} SOURCES ${DFSAN_RTL_SOURCES} $ $ $ CFLAGS ${DFSAN_RTL_CFLAGS} -fPIE) add_compiler_rt_static_runtime(clang_rt.dfsan-libc-${arch} ${arch} SOURCES ${DFSAN_RTL_SOURCES} $ CFLAGS ${DFSAN_RTL_CFLAGS} -fPIC -DDFSAN_NOLIBC) add_sanitizer_rt_symbols(clang_rt.dfsan-${arch} dfsan.syms.extra) list(APPEND DFSAN_RUNTIME_LIBRARIES clang_rt.dfsan-${arch} clang_rt.dfsan-${arch}-symbols) endif() add_custom_target(dfsan_abilist ALL SOURCES ${CLANG_RESOURCE_DIR}/dfsan_abilist.txt) add_custom_command(OUTPUT ${CLANG_RESOURCE_DIR}/dfsan_abilist.txt VERBATIM COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/done_abilist.txt ${CMAKE_CURRENT_SOURCE_DIR}/libc_ubuntu1204_abilist.txt > ${CLANG_RESOURCE_DIR}/dfsan_abilist.txt DEPENDS done_abilist.txt libc_ubuntu1204_abilist.txt) install(FILES ${CLANG_RESOURCE_DIR}/dfsan_abilist.txt DESTINATION ${LIBCLANG_INSTALL_PATH}) add_subdirectory(lit_tests)