47 lines · plain
1add_compiler_rt_component(cfi)2 3if(OS_NAME MATCHES "Linux" OR OS_NAME MATCHES "FreeBSD" OR OS_NAME MATCHES "NetBSD")4 set(CFI_SOURCES5 cfi.cpp6 )7 8 include_directories(..)9 10 set(CFI_CFLAGS11 ${SANITIZER_COMMON_CFLAGS}12 )13 14 # Too many existing bugs, needs cleanup.15 append_list_if(COMPILER_RT_HAS_WNO_FORMAT -Wno-format CFI_CFLAGS)16 17 set(CFI_DIAG_CFLAGS18 -DCFI_ENABLE_DIAG=119 )20 21 foreach(arch ${CFI_SUPPORTED_ARCH})22 add_compiler_rt_runtime(clang_rt.cfi23 STATIC24 ARCHS ${arch}25 SOURCES ${CFI_SOURCES}26 OBJECT_LIBS RTInterception27 RTSanitizerCommon28 RTSanitizerCommonLibc29 CFLAGS ${CFI_CFLAGS}30 PARENT_TARGET cfi)31 add_compiler_rt_runtime(clang_rt.cfi_diag32 STATIC33 ARCHS ${arch}34 SOURCES ${CFI_SOURCES}35 OBJECT_LIBS RTInterception36 RTSanitizerCommon37 RTSanitizerCommonLibc38 RTSanitizerCommonCoverage39 RTSanitizerCommonSymbolizer40 RTUbsan41 CFLAGS ${CFI_CFLAGS} ${CFI_DIAG_CFLAGS}42 PARENT_TARGET cfi)43 endforeach()44endif()45 46add_compiler_rt_resource_file(cfi_ignorelist cfi_ignorelist.txt cfi)47