blob: 24e51814cdab5ad308b363f6f3dfb9287dc35ac3 [file] [log] [blame]
Pirama Arumuga Nainar799172d2016-03-03 15:50:30 -08001add_custom_target(cfi)
2
3set(CFI_SOURCES cfi.cc)
4
5include_directories(..)
6
7set(CFI_CFLAGS
8 ${SANITIZER_COMMON_CFLAGS}
9)
10
11set(CFI_DIAG_CFLAGS
12 -DCFI_ENABLE_DIAG=1
13)
14
15foreach(arch ${CFI_SUPPORTED_ARCH})
16 add_compiler_rt_runtime(clang_rt.cfi
17 STATIC
18 ARCHS ${arch}
19 SOURCES ${CFI_SOURCES}
20 OBJECT_LIBS RTInterception
21 RTSanitizerCommon
22 RTSanitizerCommonLibc
23 CFLAGS ${CFI_CFLAGS}
24 PARENT_TARGET cfi)
25 add_compiler_rt_runtime(clang_rt.cfi_diag
26 STATIC
27 ARCHS ${arch}
28 SOURCES ${CFI_SOURCES}
29 OBJECT_LIBS RTInterception
30 RTSanitizerCommon
31 RTSanitizerCommonLibc
32 RTUbsan
33 RTUbsan_cxx
34 CFLAGS ${CFI_CFLAGS} ${CFI_DIAG_CFLAGS}
35 PARENT_TARGET cfi)
36endforeach()
37
38add_compiler_rt_resource_file(cfi_blacklist cfi_blacklist.txt)
39add_dependencies(cfi cfi_blacklist)
40add_dependencies(compiler-rt cfi)