brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 1f6e508 Raw
54 lines · plain
1# Build for the minimal undefined behavior sanitizer runtime support library.2 3set(UBSAN_MINIMAL_SOURCES4  ubsan_minimal_handlers.cpp5  )6 7include_directories(..)8 9set(UBSAN_CFLAGS10  ${SANITIZER_COMMON_CFLAGS}11  -DSANITIZER_COMMON_NO_REDEFINE_BUILTINS)12append_rtti_flag(OFF UBSAN_CFLAGS)13 14set(UBSAN_LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS})15 16set(UBSAN_DYNAMIC_LIBS ${SANITIZER_COMMON_LINK_LIBS})17 18add_compiler_rt_component(ubsan-minimal)19 20# Common parts of minimal UBSan runtime.21add_compiler_rt_object_libraries(RTUbsan_minimal22  OS ${SANITIZER_COMMON_SUPPORTED_OS}23  ARCHS ${UBSAN_COMMON_SUPPORTED_ARCH}24  SOURCES ${UBSAN_MINIMAL_SOURCES} CFLAGS ${UBSAN_CFLAGS})25 26 27# Standalone minimal UBSan runtimes.28add_compiler_rt_runtime(clang_rt.ubsan_minimal29  STATIC30  OS ${UBSAN_SUPPORTED_OS}31  ARCHS ${UBSAN_SUPPORTED_ARCH}32  OBJECT_LIBS RTUbsan_minimal33  CFLAGS ${UBSAN_CFLAGS}34  PARENT_TARGET ubsan-minimal)35 36add_compiler_rt_runtime(clang_rt.ubsan_minimal37  SHARED38  OS ${UBSAN_SUPPORTED_OS}39  ARCHS ${UBSAN_SUPPORTED_ARCH}40  OBJECT_LIBS RTUbsan_minimal41  CFLAGS ${UBSAN_CFLAGS}42  LINK_FLAGS ${UBSAN_LINK_FLAGS}43  LINK_LIBS ${UBSAN_DYNAMIC_LIBS}44  PARENT_TARGET ubsan-minimal)45 46if (SANITIZER_USE_SYMBOLS AND NOT APPLE)47  set(ARCHS_FOR_SYMBOLS ${UBSAN_SUPPORTED_ARCH})48  list(REMOVE_ITEM ARCHS_FOR_SYMBOLS i386 i686)49  add_sanitizer_rt_symbols(clang_rt.ubsan_minimal50    ARCHS ${ARCHS_FOR_SYMBOLS}51    PARENT_TARGET ubsan-minimal52    EXTRA ubsan.syms.extra)53endif()54