reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
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}
  )

  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_blacklist cfi_blacklist.txt cfi)