add_compiler_rt_component(cfi) if(OS_NAME MATCHES "Linux" OR OS_NAME MATCHES "FreeBSD" OR OS_NAME MATCHES "NetBSD") set(CFI_SOURCES cfi.cpp ) include_directories(..) set(CFI_CFLAGS ${SANITIZER_COMMON_CFLAGS} ) # Too many existing bugs, needs cleanup. append_list_if(COMPILER_RT_HAS_WNO_FORMAT -Wno-format CFI_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 RTSanitizerCommonCoverage RTSanitizerCommonSymbolizer RTUbsan CFLAGS ${CFI_CFLAGS} ${CFI_DIAG_CFLAGS} PARENT_TARGET cfi) endforeach() endif() add_compiler_rt_resource_file(cfi_ignorelist cfi_ignorelist.txt cfi)