add_custom_target(cfi)
set(CFI_SOURCES cfi.cc)
include_directories(..)
set(CFI_CFLAGS
${SANITIZER_COMMON_CFLAGS}
)
set(CFI_DIAG_CFLAGS
-DCFI_ENABLE_DIAG=1
)
foreach(arch ${CFI_SUPPORTED_ARCH})
add_compiler_rt_runtime(clang_rt.cfi
STATIC
ARCHS ${arch}
SOURCES ${CFI_SOURCES}
OBJECT_LIBS RTInterception
RTSanitizerCommon
RTSanitizerCommonLibc
CFLAGS ${CFI_CFLAGS}
PARENT_TARGET cfi)
add_compiler_rt_runtime(clang_rt.cfi_diag
STATIC
ARCHS ${arch}
SOURCES ${CFI_SOURCES}
OBJECT_LIBS RTInterception
RTSanitizerCommon
RTSanitizerCommonLibc
RTUbsan
RTUbsan_cxx
CFLAGS ${CFI_CFLAGS} ${CFI_DIAG_CFLAGS}
PARENT_TARGET cfi)
endforeach()
add_compiler_rt_resource_file(cfi_blacklist cfi_blacklist.txt)
add_dependencies(cfi cfi_blacklist)
add_dependencies(compiler-rt cfi)