summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sanitizer_common/CMakeLists.txt')
-rw-r--r--lib/sanitizer_common/CMakeLists.txt372
1 files changed, 0 insertions, 372 deletions
diff --git a/lib/sanitizer_common/CMakeLists.txt b/lib/sanitizer_common/CMakeLists.txt
deleted file mode 100644
index 1be99616e232a..0000000000000
--- a/lib/sanitizer_common/CMakeLists.txt
+++ /dev/null
@@ -1,372 +0,0 @@
-# Build system for the common Sanitizer runtime support library components.
-# These components are shared between AddressSanitizer and ThreadSanitizer.
-
-set(SANITIZER_SOURCES_NOTERMINATION
- sanitizer_allocator.cc
- sanitizer_common.cc
- sanitizer_deadlock_detector1.cc
- sanitizer_deadlock_detector2.cc
- sanitizer_errno.cc
- sanitizer_file.cc
- sanitizer_flags.cc
- sanitizer_flag_parser.cc
- sanitizer_fuchsia.cc
- sanitizer_libc.cc
- sanitizer_libignore.cc
- sanitizer_linux.cc
- sanitizer_linux_s390.cc
- sanitizer_mac.cc
- sanitizer_openbsd.cc
- sanitizer_persistent_allocator.cc
- sanitizer_platform_limits_linux.cc
- sanitizer_platform_limits_netbsd.cc
- sanitizer_platform_limits_openbsd.cc
- sanitizer_platform_limits_posix.cc
- sanitizer_platform_limits_solaris.cc
- sanitizer_posix.cc
- sanitizer_printf.cc
- sanitizer_procmaps_common.cc
- sanitizer_procmaps_bsd.cc
- sanitizer_procmaps_linux.cc
- sanitizer_procmaps_mac.cc
- sanitizer_procmaps_solaris.cc
- sanitizer_rtems.cc
- sanitizer_solaris.cc
- sanitizer_stoptheworld_mac.cc
- sanitizer_suppressions.cc
- sanitizer_tls_get_addr.cc
- sanitizer_thread_registry.cc
- sanitizer_win.cc)
-
-if(UNIX AND NOT APPLE AND NOT OS_NAME MATCHES "SunOS")
- list(APPEND SANITIZER_SOURCES_NOTERMINATION
- sanitizer_linux_x86_64.S)
- list(APPEND SANITIZER_SOURCES_NOTERMINATION
- sanitizer_linux_mips64.S)
-endif()
-
-set(SANITIZER_SOURCES
- ${SANITIZER_SOURCES_NOTERMINATION} sanitizer_termination.cc)
-
-# Libc functions stubs. These sources should be linked instead of
-# SANITIZER_LIBCDEP_SOURCES when sanitizer_common library must not depend on
-# libc.
-set(SANITIZER_NOLIBC_SOURCES
- sanitizer_common_nolibc.cc)
-
-set(SANITIZER_LIBCDEP_SOURCES
- sanitizer_common_libcdep.cc
- sanitizer_allocator_checks.cc
- sanitizer_linux_libcdep.cc
- sanitizer_mac_libcdep.cc
- sanitizer_posix_libcdep.cc
- sanitizer_stoptheworld_linux_libcdep.cc)
-
-set(SANITIZER_COVERAGE_SOURCES
- sancov_flags.cc
- sanitizer_coverage_fuchsia.cc
- sanitizer_coverage_libcdep_new.cc
- sanitizer_coverage_win_sections.cc)
-
-set(SANITIZER_SYMBOLIZER_SOURCES
- sanitizer_allocator_report.cc
- sanitizer_stackdepot.cc
- sanitizer_stacktrace.cc
- sanitizer_stacktrace_libcdep.cc
- sanitizer_stacktrace_printer.cc
- sanitizer_stacktrace_sparc.cc
- sanitizer_symbolizer.cc
- sanitizer_symbolizer_libbacktrace.cc
- sanitizer_symbolizer_libcdep.cc
- sanitizer_symbolizer_mac.cc
- sanitizer_symbolizer_markup.cc
- sanitizer_symbolizer_posix_libcdep.cc
- sanitizer_symbolizer_report.cc
- sanitizer_symbolizer_win.cc
- sanitizer_unwind_linux_libcdep.cc
- sanitizer_unwind_win.cc)
-
-# Explicitly list all sanitizer_common headers. Not all of these are
-# included in sanitizer_common source files, but we need to depend on
-# headers when building our custom unit tests.
-set(SANITIZER_IMPL_HEADERS
- sancov_flags.h
- sancov_flags.inc
- sanitizer_addrhashmap.h
- sanitizer_allocator.h
- sanitizer_allocator_bytemap.h
- sanitizer_allocator_checks.h
- sanitizer_allocator_combined.h
- sanitizer_allocator_interface.h
- sanitizer_allocator_internal.h
- sanitizer_allocator_local_cache.h
- sanitizer_allocator_primary32.h
- sanitizer_allocator_primary64.h
- sanitizer_allocator_report.h
- sanitizer_allocator_secondary.h
- sanitizer_allocator_size_class_map.h
- sanitizer_allocator_stats.h
- sanitizer_asm.h
- sanitizer_atomic.h
- sanitizer_atomic_clang.h
- sanitizer_atomic_clang_mips.h
- sanitizer_atomic_clang_other.h
- sanitizer_atomic_clang_x86.h
- sanitizer_atomic_msvc.h
- sanitizer_bitvector.h
- sanitizer_bvgraph.h
- sanitizer_common.h
- sanitizer_common_interceptors.inc
- sanitizer_common_interceptors_format.inc
- sanitizer_common_interceptors_ioctl.inc
- sanitizer_common_interface.inc
- sanitizer_common_interface_posix.inc
- sanitizer_common_syscalls.inc
- sanitizer_coverage_interface.inc
- sanitizer_dbghelp.h
- sanitizer_deadlock_detector.h
- sanitizer_deadlock_detector_interface.h
- sanitizer_errno.h
- sanitizer_errno_codes.h
- sanitizer_file.h
- sanitizer_flag_parser.h
- sanitizer_flags.h
- sanitizer_flags.inc
- sanitizer_freebsd.h
- sanitizer_fuchsia.h
- sanitizer_getauxval.h
- sanitizer_interceptors_ioctl_netbsd.inc
- sanitizer_interface_internal.h
- sanitizer_internal_defs.h
- sanitizer_lfstack.h
- sanitizer_libc.h
- sanitizer_libignore.h
- sanitizer_linux.h
- sanitizer_list.h
- sanitizer_mac.h
- sanitizer_malloc_mac.inc
- sanitizer_mutex.h
- sanitizer_persistent_allocator.h
- sanitizer_placement_new.h
- sanitizer_platform.h
- sanitizer_platform_interceptors.h
- sanitizer_platform_limits_netbsd.h
- sanitizer_platform_limits_openbsd.h
- sanitizer_platform_limits_posix.h
- sanitizer_platform_limits_solaris.h
- sanitizer_posix.h
- sanitizer_procmaps.h
- sanitizer_quarantine.h
- sanitizer_report_decorator.h
- sanitizer_rtems.h
- sanitizer_signal_interceptors.inc
- sanitizer_stackdepot.h
- sanitizer_stackdepotbase.h
- sanitizer_stacktrace.h
- sanitizer_stacktrace_printer.h
- sanitizer_stoptheworld.h
- sanitizer_suppressions.h
- sanitizer_symbolizer.h
- sanitizer_symbolizer_fuchsia.h
- sanitizer_symbolizer_internal.h
- sanitizer_symbolizer_libbacktrace.h
- sanitizer_symbolizer_mac.h
- sanitizer_symbolizer_rtems.h
- sanitizer_syscall_generic.inc
- sanitizer_syscall_linux_aarch64.inc
- sanitizer_syscall_linux_arm.inc
- sanitizer_syscall_linux_x86_64.inc
- sanitizer_syscalls_netbsd.inc
- sanitizer_thread_registry.h
- sanitizer_tls_get_addr.h
- sanitizer_vector.h
- sanitizer_win.h
- sanitizer_win_defs.h
- sanitizer_win_dll_thunk.h
- sanitizer_win_weak_interception.h)
-
-include_directories(..)
-
-set(SANITIZER_COMMON_DEFINITIONS)
-
-include(CheckIncludeFile)
-append_have_file_definition(rpc/xdr.h HAVE_RPC_XDR_H SANITIZER_COMMON_DEFINITIONS)
-append_have_file_definition(tirpc/rpc/xdr.h HAVE_TIRPC_RPC_XDR_H SANITIZER_COMMON_DEFINITIONS)
-
-set(SANITIZER_CFLAGS ${SANITIZER_COMMON_CFLAGS})
-append_rtti_flag(OFF SANITIZER_CFLAGS)
-
-append_list_if(SANITIZER_LIMIT_FRAME_SIZE -Wframe-larger-than=570
- SANITIZER_CFLAGS)
-append_list_if(COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG -Wglobal-constructors
- SANITIZER_CFLAGS)
-
-if (LLVM_ENABLE_PEDANTIC AND UNIX AND NOT APPLE)
- # With -pedantic, our .S files raise warnings about empty macro arguments
- # from __USER_LABEL_PREFIX__ being an empty arg to GLUE(). Unfortunately,
- # there is no simple way to test for an empty define, nor to disable just
- # that warning or to disable -pedantic. There is also no simple way to
- # remove -pedantic from just this file (we'd have to remove from
- # CMAKE_C*_FLAGS and re-add as a source property to all the non-.S files).
- set_source_files_properties(sanitizer_linux_x86_64.S
- PROPERTIES COMPILE_FLAGS "-w")
- set_source_files_properties(sanitizer_linux_mips64.S
- PROPERTIES COMPILE_FLAGS "-w")
-endif ()
-
-if(APPLE)
- set(OS_OPTION OS ${SANITIZER_COMMON_SUPPORTED_OS})
-endif()
-
-add_compiler_rt_object_libraries(RTSanitizerCommon
- ${OS_OPTION}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES ${SANITIZER_SOURCES}
- ADDITIONAL_HEADERS ${SANITIZER_IMPL_HEADERS}
- CFLAGS ${SANITIZER_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-add_compiler_rt_object_libraries(RTSanitizerCommonNoTermination
- ${OS_OPTION}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES ${SANITIZER_SOURCES_NOTERMINATION}
- ADDITIONAL_HEADERS ${SANITIZER_IMPL_HEADERS}
- CFLAGS ${SANITIZER_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-add_compiler_rt_object_libraries(RTSanitizerCommonNoLibc
- ${OS_OPTION}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES ${SANITIZER_NOLIBC_SOURCES}
- ADDITIONAL_HEADERS ${SANITIZER_IMPL_HEADERS}
- CFLAGS ${SANITIZER_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-add_compiler_rt_object_libraries(RTSanitizerCommonLibc
- ${OS_OPTION}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES ${SANITIZER_LIBCDEP_SOURCES}
- ADDITIONAL_HEADERS ${SANITIZER_IMPL_HEADERS}
- CFLAGS ${SANITIZER_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-add_compiler_rt_object_libraries(RTSanitizerCommonCoverage
- ${OS_OPTION}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES ${SANITIZER_COVERAGE_SOURCES}
- ADDITIONAL_HEADERS ${SANITIZER_IMPL_HEADERS}
- CFLAGS ${SANITIZER_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-add_compiler_rt_object_libraries(RTSanitizerCommonSymbolizer
- ${OS_OPTION}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES ${SANITIZER_SYMBOLIZER_SOURCES}
- ADDITIONAL_HEADERS ${SANITIZER_IMPL_HEADERS}
- CFLAGS ${SANITIZER_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-
-set(SANITIZER_NO_WEAK_HOOKS_CFLAGS ${SANITIZER_CFLAGS})
-list(APPEND SANITIZER_NO_WEAK_HOOKS_CFLAGS "-DSANITIZER_SUPPORTS_WEAK_HOOKS=0")
-add_compiler_rt_object_libraries(RTSanitizerCommonNoHooks
- ${OS_OPTION}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES ${SANITIZER_SOURCES}
- ADDITIONAL_HEADERS ${SANITIZER_IMPL_HEADERS}
- CFLAGS ${SANITIZER_NO_WEAK_HOOKS_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-add_compiler_rt_object_libraries(RTSanitizerCommonLibcNoHooks
- ${OS_OPTION}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES ${SANITIZER_LIBCDEP_SOURCES}
- ADDITIONAL_HEADERS ${SANITIZER_IMPL_HEADERS}
- CFLAGS ${SANITIZER_NO_WEAK_HOOKS_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-add_compiler_rt_object_libraries(RTSanitizerCommonSymbolizerNoHooks
- ${OS_OPTION}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES ${SANITIZER_SYMBOLIZER_SOURCES}
- ADDITIONAL_HEADERS ${SANITIZER_IMPL_HEADERS}
- CFLAGS ${SANITIZER_NO_WEAK_HOOKS_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-
-if(OS_NAME MATCHES "SunOS")
- # Solaris ld doesn't support the non-standard GNU ld extension of adding
- # __start_SECNAME and __stop_SECNAME labels to sections whose names are
- # valid C identifiers. Instead we add our own definitions for the
- # __sancov_guards section.
- add_compiler_rt_object_libraries(SancovBegin
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES sancov_begin.S
- CFLAGS ${SANITIZER_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-
- add_compiler_rt_runtime(clang_rt.sancov_begin
- STATIC
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- OBJECT_LIBS SancovBegin
- CFLAGS ${SANITIZER_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-
- add_compiler_rt_object_libraries(SancovEnd
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES sancov_end.S
- CFLAGS ${SANITIZER_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-
- add_compiler_rt_runtime(clang_rt.sancov_end
- STATIC
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- OBJECT_LIBS SancovEnd
- CFLAGS ${SANITIZER_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-endif()
-
-if(WIN32)
- add_compiler_rt_object_libraries(SanitizerCommonWeakInterception
- ${SANITIZER_COMMON_SUPPORTED_OS}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES sanitizer_win_weak_interception.cc
- CFLAGS ${SANITIZER_CFLAGS} -DSANITIZER_DYNAMIC
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
- add_compiler_rt_object_libraries(SancovWeakInterception
- ${SANITIZER_COMMON_SUPPORTED_OS}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES sanitizer_coverage_win_weak_interception.cc
- CFLAGS ${SANITIZER_CFLAGS} -DSANITIZER_DYNAMIC
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-
- add_compiler_rt_object_libraries(SanitizerCommonDllThunk
- ${SANITIZER_COMMON_SUPPORTED_OS}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES sanitizer_win_dll_thunk.cc
- CFLAGS ${SANITIZER_CFLAGS} -DSANITIZER_DLL_THUNK
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
- add_compiler_rt_object_libraries(SancovDllThunk
- ${SANITIZER_COMMON_SUPPORTED_OS}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES sanitizer_coverage_win_dll_thunk.cc
- sanitizer_coverage_win_sections.cc
- CFLAGS ${SANITIZER_CFLAGS} -DSANITIZER_DLL_THUNK
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-
- set(DYNAMIC_RUNTIME_THUNK_CFLAGS "-DSANITIZER_DYNAMIC_RUNTIME_THUNK")
- if(MSVC)
- list(APPEND DYNAMIC_RUNTIME_THUNK_CFLAGS "-Zl")
- elseif(CMAKE_C_COMPILER_ID MATCHES Clang)
- list(APPEND DYNAMIC_RUNTIME_THUNK_CFLAGS "-nodefaultlibs")
- endif()
- add_compiler_rt_object_libraries(SanitizerCommonDynamicRuntimeThunk
- ${SANITIZER_COMMON_SUPPORTED_OS}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES sanitizer_win_dynamic_runtime_thunk.cc
- CFLAGS ${SANITIZER_CFLAGS} ${DYNAMIC_RUNTIME_THUNK_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
- add_compiler_rt_object_libraries(SancovDynamicRuntimeThunk
- ${SANITIZER_COMMON_SUPPORTED_OS}
- ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
- SOURCES sanitizer_coverage_win_dynamic_runtime_thunk.cc
- sanitizer_coverage_win_sections.cc
- CFLAGS ${SANITIZER_CFLAGS} ${DYNAMIC_RUNTIME_THUNK_CFLAGS}
- DEFS ${SANITIZER_COMMON_DEFINITIONS})
-endif()
-
-# Unit tests for common sanitizer runtime.
-if(COMPILER_RT_INCLUDE_TESTS)
- add_subdirectory(tests)
-endif()