llvm-project/compiler-rt/lib/ubsan
Chris Bieneman 21395f9839 [CMake] Connect Compiler-RT targets to LLVM Runtimes directory
This patch builds on LLVM r279776.

In this patch I've done some cleanup and abstracted three common steps runtime components have in their CMakeLists files, and added a fourth.

The three steps I abstract are:

(1) Add a top-level target (i.e asan, msan, ...)
(2) Set the target properties for sorting files in IDE generators
(3) Make the compiler-rt target depend on the top-level target

The new step is to check if a command named "runtime_register_component" is defined, and to call it with the component name.

The runtime_register_component command is defined in llvm/runtimes/CMakeLists.txt, and presently just adds the component to a list of sub-components, which later gets used to generate target mappings.

With this patch a new workflow for runtimes builds is supported. The new workflow when building runtimes from the LLVM runtimes directory is:

> cmake [...]
> ninja runtimes-configure
> ninja asan

The "runtimes-configure" target builds all the dependencies for configuring the runtimes projects, and runs CMake on the runtimes projects. Running the runtimes CMake generates a list of targets to bind into the top-level CMake so subsequent build invocations will have access to some of Compiler-RT's targets through the top-level build.

Note: This patch does exclude some top-level targets from compiler-rt libraries because they either don't install files (sanitizer_common), or don't have a cooresponding `check` target (stats).
llvm-svn: 279863
2016-08-26 20:52:22 +00:00
..
CMakeLists.txt [CMake] Connect Compiler-RT targets to LLVM Runtimes directory 2016-08-26 20:52:22 +00:00
ubsan.syms.extra Properly generate lists of exported symbols for sanitizer runtimes 2013-08-27 15:08:02 +00:00
ubsan_checks.inc [UBSan] Remove "-fsanitize=" prefix from ubsan_checks.inc. NFC. 2015-12-08 23:29:36 +00:00
ubsan_diag.cc [UBSan] Improve bufferization of UBSan error reports. 2016-03-11 00:37:02 +00:00
ubsan_diag.h [UBSan] Implement runtime suppressions (PR25066). 2015-12-18 19:56:42 +00:00
ubsan_flags.cc [sancov] common flags initialization. 2016-03-18 19:28:07 +00:00
ubsan_flags.h [UBSan] Embed UBSan into ASan runtime (compiler-rt part). 2015-04-01 22:42:36 +00:00
ubsan_flags.inc [UBSan] Add the ability to print more precise error kind in summary line. 2015-08-24 23:18:49 +00:00
ubsan_handlers.cc [cfi] Safe handling of unaddressable vtable pointers (compiler-rt). 2016-02-03 22:19:04 +00:00
ubsan_handlers.h [cfi] Safe handling of unaddressable vtable pointers (compiler-rt). 2016-02-03 22:19:04 +00:00
ubsan_handlers_cxx.cc UBSan: crash less often on corrupted Vtables. 2016-06-02 18:36:12 +00:00
ubsan_handlers_cxx.h [cfi] Cross-DSO CFI diagnostic mode (compiler-rt part) 2016-01-25 23:34:38 +00:00
ubsan_init.cc [ubsan] Initialize Android logging. 2016-08-15 18:35:40 +00:00
ubsan_init.h [UBSan] Embed UBSan into ASan runtime (compiler-rt part). 2015-04-01 22:42:36 +00:00
ubsan_init_standalone.cc [UBSan] Add missing header that defines SANITIZER_CAN_USE_PREINIT_ARRAY 2015-05-11 21:06:49 +00:00
ubsan_platform.h [sanitizer] [SystemZ] Enable UBSan. 2016-04-15 22:25:04 +00:00
ubsan_type_hash.cc CFI: Get check-cfi passing on Windows. 2015-07-08 22:10:34 +00:00
ubsan_type_hash.h UBSan: crash less often on corrupted Vtables. 2016-06-02 18:36:12 +00:00
ubsan_type_hash_itanium.cc Revert " [compiler-rt] Allow c++ abi to be explictly disabled in cmake configuration" 2016-08-26 12:31:02 +00:00
ubsan_type_hash_win.cc UBSan: Simplify logic for locating the RTTI object. 2015-07-08 23:22:39 +00:00
ubsan_value.cc Fix bad regression from r263077 when building with MSVC. 2016-03-12 01:57:31 +00:00
ubsan_value.h [UBSan] Explicitly list all supported OS/arch pairs supported by UBSan. 2015-03-26 17:26:04 +00:00