- Notifications
You must be signed in to change notification settings - Fork 15.3k
Revert "[compiler-rt] Remove redundant COMPILER_RT_HAS_*SAN checks" #98380
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
vitalybuka merged 1 commit into main from revert-98240-users/vitalybuka/spr/compiler-rt-remove-redundant-compiler_rt_has_san-checks Jul 10, 2024
Merged
Revert "[compiler-rt] Remove redundant COMPILER_RT_HAS_*SAN checks" #98380
vitalybuka merged 1 commit into main from revert-98240-users/vitalybuka/spr/compiler-rt-remove-redundant-compiler_rt_has_san-checks Jul 10, 2024
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Member
| @llvm/pr-subscribers-compiler-rt-sanitizer @llvm/pr-subscribers-xray Author: Vitaly Buka (vitalybuka) ChangesReverts llvm/llvm-project#98240 https://lab.llvm.org/buildbot/#/builders/109/builds/816 Patch is 31.60 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/98380.diff 14 Files Affected:
diff --git a/compiler-rt/lib/CMakeLists.txt b/compiler-rt/lib/CMakeLists.txt index 73a2ee46291ee..f9e96563b8809 100644 --- a/compiler-rt/lib/CMakeLists.txt +++ b/compiler-rt/lib/CMakeLists.txt @@ -47,11 +47,11 @@ if(COMPILER_RT_BUILD_SANITIZERS) endforeach() endif() -if(COMPILER_RT_BUILD_PROFILE) +if(COMPILER_RT_BUILD_PROFILE AND COMPILER_RT_HAS_PROFILE) compiler_rt_build_runtime(profile) endif() -if(COMPILER_RT_BUILD_CTX_PROFILE) +if(COMPILER_RT_BUILD_CTX_PROFILE AND COMPILER_RT_HAS_CTX_PROFILE) compiler_rt_build_runtime(ctx_profile) endif() diff --git a/compiler-rt/lib/gwp_asan/CMakeLists.txt b/compiler-rt/lib/gwp_asan/CMakeLists.txt index fdb6a95fe1404..bb5b2902f99db 100644 --- a/compiler-rt/lib/gwp_asan/CMakeLists.txt +++ b/compiler-rt/lib/gwp_asan/CMakeLists.txt @@ -65,46 +65,48 @@ set(GWP_ASAN_SEGV_HANDLER_HEADERS set(GWP_ASAN_OPTIONS_PARSER_CFLAGS ${GWP_ASAN_CFLAGS}) -foreach(arch ${GWP_ASAN_SUPPORTED_ARCH}) - add_compiler_rt_runtime( - clang_rt.gwp_asan - STATIC - ARCHS ${arch} - SOURCES ${GWP_ASAN_SOURCES} - ADDITIONAL_HEADERS ${GWP_ASAN_HEADERS} - CFLAGS ${GWP_ASAN_CFLAGS} - PARENT_TARGET gwp_asan - ) -endforeach() +if (COMPILER_RT_HAS_GWP_ASAN) + foreach(arch ${GWP_ASAN_SUPPORTED_ARCH}) + add_compiler_rt_runtime( + clang_rt.gwp_asan + STATIC + ARCHS ${arch} + SOURCES ${GWP_ASAN_SOURCES} + ADDITIONAL_HEADERS ${GWP_ASAN_HEADERS} + CFLAGS ${GWP_ASAN_CFLAGS} + PARENT_TARGET gwp_asan + ) + endforeach() -add_compiler_rt_object_libraries(RTGwpAsan - ARCHS ${GWP_ASAN_SUPPORTED_ARCH} - SOURCES ${GWP_ASAN_SOURCES} - ADDITIONAL_HEADERS ${GWP_ASAN_HEADERS} - CFLAGS ${GWP_ASAN_CFLAGS}) + add_compiler_rt_object_libraries(RTGwpAsan + ARCHS ${GWP_ASAN_SUPPORTED_ARCH} + SOURCES ${GWP_ASAN_SOURCES} + ADDITIONAL_HEADERS ${GWP_ASAN_HEADERS} + CFLAGS ${GWP_ASAN_CFLAGS}) -add_compiler_rt_object_libraries(RTGwpAsanOptionsParser - ARCHS ${GWP_ASAN_SUPPORTED_ARCH} - SOURCES ${GWP_ASAN_OPTIONS_PARSER_SOURCES} - ADDITIONAL_HEADERS ${GWP_ASAN_OPTIONS_PARSER_HEADERS} - CFLAGS ${GWP_ASAN_OPTIONS_PARSER_CFLAGS}) + add_compiler_rt_object_libraries(RTGwpAsanOptionsParser + ARCHS ${GWP_ASAN_SUPPORTED_ARCH} + SOURCES ${GWP_ASAN_OPTIONS_PARSER_SOURCES} + ADDITIONAL_HEADERS ${GWP_ASAN_OPTIONS_PARSER_HEADERS} + CFLAGS ${GWP_ASAN_OPTIONS_PARSER_CFLAGS}) -# As above, build the pre-implemented optional backtrace support libraries. -add_compiler_rt_object_libraries(RTGwpAsanBacktraceLibc - ARCHS ${GWP_ASAN_SUPPORTED_ARCH} - SOURCES optional/backtrace_linux_libc.cpp - ADDITIONAL_HEADERS ${GWP_ASAN_BACKTRACE_HEADERS} - CFLAGS ${GWP_ASAN_CFLAGS}) -add_compiler_rt_object_libraries(RTGwpAsanSegvHandler - ARCHS ${GWP_ASAN_SUPPORTED_ARCH} - SOURCES optional/segv_handler_posix.cpp - ADDITIONAL_HEADERS ${GWP_ASAN_SEGV_HANDLER_HEADERS} - CFLAGS ${GWP_ASAN_CFLAGS}) -add_compiler_rt_object_libraries(RTGwpAsanBacktraceSanitizerCommon - ARCHS ${GWP_ASAN_SUPPORTED_ARCH} - SOURCES optional/backtrace_sanitizer_common.cpp - ADDITIONAL_HEADERS ${GWP_ASAN_BACKTRACE_HEADERS} - CFLAGS ${GWP_ASAN_CFLAGS} ${SANITIZER_COMMON_CFLAGS}) + # As above, build the pre-implemented optional backtrace support libraries. + add_compiler_rt_object_libraries(RTGwpAsanBacktraceLibc + ARCHS ${GWP_ASAN_SUPPORTED_ARCH} + SOURCES optional/backtrace_linux_libc.cpp + ADDITIONAL_HEADERS ${GWP_ASAN_BACKTRACE_HEADERS} + CFLAGS ${GWP_ASAN_CFLAGS}) + add_compiler_rt_object_libraries(RTGwpAsanSegvHandler + ARCHS ${GWP_ASAN_SUPPORTED_ARCH} + SOURCES optional/segv_handler_posix.cpp + ADDITIONAL_HEADERS ${GWP_ASAN_SEGV_HANDLER_HEADERS} + CFLAGS ${GWP_ASAN_CFLAGS}) + add_compiler_rt_object_libraries(RTGwpAsanBacktraceSanitizerCommon + ARCHS ${GWP_ASAN_SUPPORTED_ARCH} + SOURCES optional/backtrace_sanitizer_common.cpp + ADDITIONAL_HEADERS ${GWP_ASAN_BACKTRACE_HEADERS} + CFLAGS ${GWP_ASAN_CFLAGS} ${SANITIZER_COMMON_CFLAGS}) +endif() if(COMPILER_RT_INCLUDE_TESTS) add_subdirectory(tests) diff --git a/compiler-rt/lib/lsan/CMakeLists.txt b/compiler-rt/lib/lsan/CMakeLists.txt index c7bb6449982c2..8e9861cd6b7c0 100644 --- a/compiler-rt/lib/lsan/CMakeLists.txt +++ b/compiler-rt/lib/lsan/CMakeLists.txt @@ -43,44 +43,46 @@ add_compiler_rt_object_libraries(RTLSanCommon ADDITIONAL_HEADERS ${LSAN_HEADERS} CFLAGS ${LSAN_CFLAGS}) -add_compiler_rt_component(lsan) -if(APPLE) - set(LSAN_LINK_LIBS ${SANITIZER_COMMON_LINK_LIBS}) +if(COMPILER_RT_HAS_LSAN) + add_compiler_rt_component(lsan) + if(APPLE) + set(LSAN_LINK_LIBS ${SANITIZER_COMMON_LINK_LIBS}) - add_weak_symbols("lsan" WEAK_SYMBOL_LINK_FLAGS) - add_weak_symbols("sanitizer_common" WEAK_SYMBOL_LINK_FLAGS) + add_weak_symbols("lsan" WEAK_SYMBOL_LINK_FLAGS) + add_weak_symbols("sanitizer_common" WEAK_SYMBOL_LINK_FLAGS) - add_compiler_rt_runtime(clang_rt.lsan - SHARED - OS ${LSAN_SUPPORTED_OS} - ARCHS ${LSAN_SUPPORTED_ARCH} - SOURCES ${LSAN_SOURCES} - ADDITIONAL_HEADERS ${LSAN_HEADERS} - OBJECT_LIBS RTLSanCommon - RTInterception - RTSanitizerCommon - RTSanitizerCommonLibc - RTSanitizerCommonCoverage - RTSanitizerCommonSymbolizer - CFLAGS ${LSAN_CFLAGS} - LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS} ${WEAK_SYMBOL_LINK_FLAGS} - LINK_LIBS ${LSAN_LINK_LIBS} - PARENT_TARGET lsan) -else() - foreach(arch ${LSAN_SUPPORTED_ARCH}) add_compiler_rt_runtime(clang_rt.lsan - STATIC - ARCHS ${arch} + SHARED + OS ${LSAN_SUPPORTED_OS} + ARCHS ${LSAN_SUPPORTED_ARCH} SOURCES ${LSAN_SOURCES} - $<TARGET_OBJECTS:RTInterception.${arch}> - $<TARGET_OBJECTS:RTSanitizerCommon.${arch}> - $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}> - $<TARGET_OBJECTS:RTSanitizerCommonCoverage.${arch}> - $<TARGET_OBJECTS:RTSanitizerCommonSymbolizer.${arch}> - $<TARGET_OBJECTS:RTSanitizerCommonSymbolizerInternal.${arch}> - $<TARGET_OBJECTS:RTLSanCommon.${arch}> ADDITIONAL_HEADERS ${LSAN_HEADERS} + OBJECT_LIBS RTLSanCommon + RTInterception + RTSanitizerCommon + RTSanitizerCommonLibc + RTSanitizerCommonCoverage + RTSanitizerCommonSymbolizer CFLAGS ${LSAN_CFLAGS} + LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS} ${WEAK_SYMBOL_LINK_FLAGS} + LINK_LIBS ${LSAN_LINK_LIBS} PARENT_TARGET lsan) - endforeach() + else() + foreach(arch ${LSAN_SUPPORTED_ARCH}) + add_compiler_rt_runtime(clang_rt.lsan + STATIC + ARCHS ${arch} + SOURCES ${LSAN_SOURCES} + $<TARGET_OBJECTS:RTInterception.${arch}> + $<TARGET_OBJECTS:RTSanitizerCommon.${arch}> + $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}> + $<TARGET_OBJECTS:RTSanitizerCommonCoverage.${arch}> + $<TARGET_OBJECTS:RTSanitizerCommonSymbolizer.${arch}> + $<TARGET_OBJECTS:RTSanitizerCommonSymbolizerInternal.${arch}> + $<TARGET_OBJECTS:RTLSanCommon.${arch}> + ADDITIONAL_HEADERS ${LSAN_HEADERS} + CFLAGS ${LSAN_CFLAGS} + PARENT_TARGET lsan) + endforeach() + endif() endif() diff --git a/compiler-rt/lib/nsan/CMakeLists.txt b/compiler-rt/lib/nsan/CMakeLists.txt index aef9b651ab2ec..36c7b2b9dfada 100644 --- a/compiler-rt/lib/nsan/CMakeLists.txt +++ b/compiler-rt/lib/nsan/CMakeLists.txt @@ -25,29 +25,31 @@ set(NSAN_DYNAMIC_LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS}) set(NSAN_CFLAGS ${SANITIZER_COMMON_CFLAGS}) -foreach(arch ${NSAN_SUPPORTED_ARCH}) - add_compiler_rt_runtime( - clang_rt.nsan - STATIC - ARCHS ${arch} - SOURCES ${NSAN_SOURCES} - $<TARGET_OBJECTS:RTInterception.${arch}> - $<TARGET_OBJECTS:RTSanitizerCommon.${arch}> - $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}> - $<TARGET_OBJECTS:RTSanitizerCommonCoverage.${arch}> - $<TARGET_OBJECTS:RTSanitizerCommonSymbolizer.${arch}> - $<TARGET_OBJECTS:RTUbsan.${arch}> - ADDITIONAL_HEADERS ${NSAN_HEADERS} - CFLAGS ${NSAN_CFLAGS} - PARENT_TARGET nsan - ) -endforeach() - -add_compiler_rt_object_libraries(RTNsan - ARCHS ${NSAN_SUPPORTED_ARCH} - SOURCES ${NSAN_SOURCES} - ADDITIONAL_HEADERS ${NSAN_HEADERS} - CFLAGS ${NSAN_CFLAGS}) +if (COMPILER_RT_HAS_NSAN) + foreach(arch ${NSAN_SUPPORTED_ARCH}) + add_compiler_rt_runtime( + clang_rt.nsan + STATIC + ARCHS ${arch} + SOURCES ${NSAN_SOURCES} + $<TARGET_OBJECTS:RTInterception.${arch}> + $<TARGET_OBJECTS:RTSanitizerCommon.${arch}> + $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}> + $<TARGET_OBJECTS:RTSanitizerCommonCoverage.${arch}> + $<TARGET_OBJECTS:RTSanitizerCommonSymbolizer.${arch}> + $<TARGET_OBJECTS:RTUbsan.${arch}> + ADDITIONAL_HEADERS ${NSAN_HEADERS} + CFLAGS ${NSAN_CFLAGS} + PARENT_TARGET nsan + ) + endforeach() + + add_compiler_rt_object_libraries(RTNsan + ARCHS ${NSAN_SUPPORTED_ARCH} + SOURCES ${NSAN_SOURCES} + ADDITIONAL_HEADERS ${NSAN_HEADERS} + CFLAGS ${NSAN_CFLAGS}) +endif() if(COMPILER_RT_INCLUDE_TESTS) add_subdirectory(tests) diff --git a/compiler-rt/lib/scudo/standalone/CMakeLists.txt b/compiler-rt/lib/scudo/standalone/CMakeLists.txt index 8fc245eb2cf38..6fb4e88de3155 100644 --- a/compiler-rt/lib/scudo/standalone/CMakeLists.txt +++ b/compiler-rt/lib/scudo/standalone/CMakeLists.txt @@ -195,58 +195,60 @@ if(COMPILER_RT_DEFAULT_TARGET_ARCH MATCHES "mips|mips64|mipsel|mips64el") list(APPEND SCUDO_LINK_LIBS atomic) endif() -add_compiler_rt_object_libraries(RTScudoStandalone - ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH} - SOURCES ${SCUDO_SOURCES} - ADDITIONAL_HEADERS ${SCUDO_HEADERS} - CFLAGS ${SCUDO_CFLAGS} - DEPS ${SCUDO_DEPS}) -add_compiler_rt_object_libraries(RTScudoStandaloneCWrappers - ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH} - SOURCES ${SCUDO_SOURCES_C_WRAPPERS} - ADDITIONAL_HEADERS ${SCUDO_HEADERS} - CFLAGS ${SCUDO_CFLAGS} - DEPS ${SCUDO_DEPS}) -add_compiler_rt_object_libraries(RTScudoStandaloneCxxWrappers - ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH} - SOURCES ${SCUDO_SOURCES_CXX_WRAPPERS} - ADDITIONAL_HEADERS ${SCUDO_HEADERS} - CFLAGS ${SCUDO_CFLAGS} - DEPS ${SCUDO_DEPS}) - -add_compiler_rt_runtime(clang_rt.scudo_standalone - STATIC - ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH} - SOURCES ${SCUDO_SOURCES} ${SCUDO_SOURCES_C_WRAPPERS} - ADDITIONAL_HEADERS ${SCUDO_HEADERS} - CFLAGS ${SCUDO_CFLAGS} - DEPS ${SCUDO_DEPS} - OBJECT_LIBS ${SCUDO_OBJECT_LIBS} - PARENT_TARGET scudo_standalone) -add_compiler_rt_runtime(clang_rt.scudo_standalone_cxx - STATIC - ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH} - SOURCES ${SCUDO_SOURCES_CXX_WRAPPERS} - ADDITIONAL_HEADERS ${SCUDO_HEADERS} - CFLAGS ${SCUDO_CFLAGS} - DEPS ${SCUDO_DEPS} - PARENT_TARGET scudo_standalone) - -if(COMPILER_RT_SCUDO_STANDALONE_BUILD_SHARED) +if(COMPILER_RT_HAS_SCUDO_STANDALONE) + add_compiler_rt_object_libraries(RTScudoStandalone + ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH} + SOURCES ${SCUDO_SOURCES} + ADDITIONAL_HEADERS ${SCUDO_HEADERS} + CFLAGS ${SCUDO_CFLAGS} + DEPS ${SCUDO_DEPS}) + add_compiler_rt_object_libraries(RTScudoStandaloneCWrappers + ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH} + SOURCES ${SCUDO_SOURCES_C_WRAPPERS} + ADDITIONAL_HEADERS ${SCUDO_HEADERS} + CFLAGS ${SCUDO_CFLAGS} + DEPS ${SCUDO_DEPS}) + add_compiler_rt_object_libraries(RTScudoStandaloneCxxWrappers + ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH} + SOURCES ${SCUDO_SOURCES_CXX_WRAPPERS} + ADDITIONAL_HEADERS ${SCUDO_HEADERS} + CFLAGS ${SCUDO_CFLAGS} + DEPS ${SCUDO_DEPS}) + add_compiler_rt_runtime(clang_rt.scudo_standalone - SHARED + STATIC ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH} - SOURCES ${SCUDO_SOURCES} ${SCUDO_SOURCES_C_WRAPPERS} ${SCUDO_SOURCES_CXX_WRAPPERS} + SOURCES ${SCUDO_SOURCES} ${SCUDO_SOURCES_C_WRAPPERS} ADDITIONAL_HEADERS ${SCUDO_HEADERS} CFLAGS ${SCUDO_CFLAGS} DEPS ${SCUDO_DEPS} OBJECT_LIBS ${SCUDO_OBJECT_LIBS} - LINK_FLAGS ${SCUDO_LINK_FLAGS} - LINK_LIBS ${SCUDO_LINK_LIBS} PARENT_TARGET scudo_standalone) -endif() + add_compiler_rt_runtime(clang_rt.scudo_standalone_cxx + STATIC + ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH} + SOURCES ${SCUDO_SOURCES_CXX_WRAPPERS} + ADDITIONAL_HEADERS ${SCUDO_HEADERS} + CFLAGS ${SCUDO_CFLAGS} + DEPS ${SCUDO_DEPS} + PARENT_TARGET scudo_standalone) + + if(COMPILER_RT_SCUDO_STANDALONE_BUILD_SHARED) + add_compiler_rt_runtime(clang_rt.scudo_standalone + SHARED + ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH} + SOURCES ${SCUDO_SOURCES} ${SCUDO_SOURCES_C_WRAPPERS} ${SCUDO_SOURCES_CXX_WRAPPERS} + ADDITIONAL_HEADERS ${SCUDO_HEADERS} + CFLAGS ${SCUDO_CFLAGS} + DEPS ${SCUDO_DEPS} + OBJECT_LIBS ${SCUDO_OBJECT_LIBS} + LINK_FLAGS ${SCUDO_LINK_FLAGS} + LINK_LIBS ${SCUDO_LINK_LIBS} + PARENT_TARGET scudo_standalone) + endif() -add_subdirectory(benchmarks) -if(COMPILER_RT_INCLUDE_TESTS) - add_subdirectory(tests) + add_subdirectory(benchmarks) + if(COMPILER_RT_INCLUDE_TESTS) + add_subdirectory(tests) + endif() endif() diff --git a/compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt b/compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt index 672cdc0ba655e..1786756fa5ea6 100644 --- a/compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt +++ b/compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt @@ -66,25 +66,27 @@ macro(add_scudo_unittest testname) RTGwpAsan RTGwpAsanBacktraceLibc RTGwpAsanSegvHandler) endif() - foreach(arch ${SCUDO_TEST_ARCH}) - # Additional runtime objects get added along RTScudoStandalone - set(SCUDO_TEST_RTOBJECTS $<TARGET_OBJECTS:RTScudoStandalone.${arch}>) - foreach(rtobject ${TEST_ADDITIONAL_RTOBJECTS}) - list(APPEND SCUDO_TEST_RTOBJECTS $<TARGET_OBJECTS:${rtobject}.${arch}>) + if(COMPILER_RT_HAS_SCUDO_STANDALONE) + foreach(arch ${SCUDO_TEST_ARCH}) + # Additional runtime objects get added along RTScudoStandalone + set(SCUDO_TEST_RTOBJECTS $<TARGET_OBJECTS:RTScudoStandalone.${arch}>) + foreach(rtobject ${TEST_ADDITIONAL_RTOBJECTS}) + list(APPEND SCUDO_TEST_RTOBJECTS $<TARGET_OBJECTS:${rtobject}.${arch}>) + endforeach() + # Add the static runtime library made of all the runtime objects + set(RUNTIME RT${testname}.${arch}) + add_library(${RUNTIME} STATIC ${SCUDO_TEST_RTOBJECTS}) + set(ScudoUnitTestsObjects) + generate_compiler_rt_tests(ScudoUnitTestsObjects ScudoUnitTests + "${testname}-${arch}-Test" ${arch} + SOURCES ${TEST_SOURCES} ${COMPILER_RT_GTEST_SOURCE} + COMPILE_DEPS ${SCUDO_TEST_HEADERS} + DEPS scudo_standalone + RUNTIME ${RUNTIME} + CFLAGS ${SCUDO_UNITTEST_CFLAGS} + LINK_FLAGS ${SCUDO_UNITTEST_LINK_FLAGS}) endforeach() - # Add the static runtime library made of all the runtime objects - set(RUNTIME RT${testname}.${arch}) - add_library(${RUNTIME} STATIC ${SCUDO_TEST_RTOBJECTS}) - set(ScudoUnitTestsObjects) - generate_compiler_rt_tests(ScudoUnitTestsObjects ScudoUnitTests - "${testname}-${arch}-Test" ${arch} - SOURCES ${TEST_SOURCES} ${COMPILER_RT_GTEST_SOURCE} - COMPILE_DEPS ${SCUDO_TEST_HEADERS} - DEPS scudo_standalone - RUNTIME ${RUNTIME} - CFLAGS ${SCUDO_UNITTEST_CFLAGS} - LINK_FLAGS ${SCUDO_UNITTEST_LINK_FLAGS}) - endforeach() + endif() endmacro() set(SCUDO_UNIT_TEST_SOURCES diff --git a/compiler-rt/lib/ubsan/CMakeLists.txt b/compiler-rt/lib/ubsan/CMakeLists.txt index a1cfbe93b068d..db0b33f1276ef 100644 --- a/compiler-rt/lib/ubsan/CMakeLists.txt +++ b/compiler-rt/lib/ubsan/CMakeLists.txt @@ -92,45 +92,47 @@ if(APPLE) ADDITIONAL_HEADERS ${UBSAN_HEADERS} CFLAGS ${UBSAN_CXXFLAGS}) - # Initializer of standalone UBSan runtime. - add_compiler_rt_object_libraries(RTUbsan_standalone - OS ${UBSAN_SUPPORTED_OS} - ARCHS ${UBSAN_SUPPORTED_ARCH} - SOURCES ${UBSAN_STANDALONE_SOURCES} - ADDITIONAL_HEADERS ${UBSAN_HEADERS} - CFLAGS ${UBSAN_STANDALONE_CFLAGS}) - - add_weak_symbols("ubsan" WEAK_SYMBOL_LINK_FLAGS) - add_weak_symbols("sanitizer_common" WEAK_SYMBOL_LINK_FLAGS) + if(COMPILER_RT_HAS_UBSAN) + # Initializer of standalone UBSan runtime. + add_compiler_rt_object_libraries(RTUbsan_standalone + OS ${UBSAN_SUPPORTED_OS} + ARCHS ${UBSAN_SUPPORTED_ARCH} + SOURCES ${UBSAN_STANDALONE_SOURCES} + ADDITIONAL_HEADERS ${UBSAN_HEADERS} + CFLAGS ${UBSAN_STANDALONE_CFLAGS}) - add_compiler_rt_runtime(clang_rt.ubsan - SHARED - OS ${UBSAN_SUPPORTED_OS} - ARCHS ${UBSAN_SUPPORTED_ARCH} - OBJECT_LIBS RTUbsan - RTUbsan_standalone - RTSanitizerCommon - RTSanitizerCommonLibc - RTSanitizerCommonCoverage - RTSanitizerCommonSymbolizer - RTInterception - LINK_FLAGS ${WEAK_SYMBOL_LINK_FLAGS} - PARENT_TARGET ubsan) + add_weak_symbols("ubsan" WEAK_SYMBOL_LINK_FLAGS) + add_weak_symbols("sanitizer_common" WEAK_SYMBOL_LINK_FLAGS) - if (NOT APPLE) add_compiler_rt_runtime(clang_rt.ubsan - STATIC + SHARED OS ${UBSAN_SUPPORTED_OS} ARCHS ${UBSAN_SUPPORTED_ARCH} OBJECT_LIBS RTUbsan RTUbsan_standalone - RTSanitizerCommonNoHooks - RTSanitizerCommonLibcNoHooks + RTSanitizerCommon + RTSanitizerCommonLibc RTSanitizerCommonCoverage - RTSanitizerCommonSymbolizerNoHooks + RTSanitizerCommonSymbolizer RTInterception LINK_FLAGS ${WEAK_SYMBOL_LINK_FLAGS} PARENT_TARGET ubsan) + + if (NOT APPLE) + add_compiler_rt_runtime(clang_rt.ubsan + STATIC + OS ${UBSAN_SUPPORTED_OS} + ARCHS ${UBSAN_SUPPORTED_ARCH} + OBJECT_LIBS RTUbsan + RTUbsan_standalone + RTSanitizerCommonNoHooks + RTSanitizerCommonLibcNoHooks + RTSanitizerCommonCoverage + RTSanitizerCommonSymbolizerNoHooks + RTInterception + LINK_FLAGS ${WEAK_SYMBOL_LINK_FLAGS} + PARENT_TARGET ubsan) + endif() endif() else() @@ -188,89 +190,91 @@ else() DEFS ${UBSAN_COMMON_DEFINITIONS}) endif() - add_compiler_rt_object_libraries(RTUbsan_standalone - ARCHS ${UBSAN_SUPPORTED_ARCH} - SOURCES ${UBSAN_STANDALONE_SOURCES} - ADDITIONAL_HEADERS ${UBSAN_HEADERS} - CFLAGS ${UBSAN_STANDALONE_CFLAGS}) - - # Standalone UBSan runtimes. - add_compiler_rt_runtime(clang_rt.ubsan_standalone - STATIC - ARCHS ${UBSAN_SUPPORTED_ARCH} - SOURCES - ubsan_init_standalone_preinit.cpp - ADDITIONAL_HEADERS ${UBSAN_HEADERS} - OBJECT_LIBS RTSanitizerCommon - RTSanitizerCommonLibc - RTSanitizerCommonCoverage - RTSanitizerCommonSymbolizer - RTSanitizerCommonSymbolizerInternal - RTUbsan - RTUbsan_standalone - RTInterception - CFLAGS ${UBSAN_CFLAGS} - PARENT_TARGET ubsan) - - add_compiler_rt_runtime(clang_rt.ubsan_standalone_cxx - STATIC - ARCHS ${UBSAN_SUPPORTED_ARCH} - OBJECT_LIBS RTUbsan_cxx - CFLAGS ${UBSAN_CXXFLAGS} - PARENT_TARGET ubsan) - - if (COMPILER_RT_HAS_VERSION_SCRIPT) - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp "") - add_compiler_rt_object_libraries(RTUbsan_dynamic_version_script_dummy + if(COMPILER_RT_HAS_UBSAN) + add_compiler_rt_object_libraries(RTUbsan_standalone + ARCHS ${UBSAN_SUPPORTED_ARCH} + SOURCES ${UBSAN_STANDALONE_SOURCES} + ADDITIONAL_HEADERS ${UBSAN_HEADERS} + CFLAGS ${UBSAN_STANDALONE_CFLAGS}) + + # Standalone UBSan runtimes. + add_compiler_rt_runtime(clang_rt.ubsan_standalone + STATIC ARCHS ${UBSAN_SUPPORTED_ARCH} - SOURCES ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp - CFLAGS ${UBSAN_CFLAGS}) - - foreach(arch ${UBSAN_SUPPORTED_ARCH}) - add_sanitizer_rt_version_list(clang_rt.ubsan_standalone-dynamic-${arch}... [truncated] |
vitalybuka added a commit that referenced this pull request Jul 10, 2024
…hecks"" (#98395) Reverts #98380 Probably some incremental build issue, the build before revert was green: https://lab.llvm.org/buildbot/#/builders/109/builds/817
aaryanshukla pushed a commit to aaryanshukla/llvm-project that referenced this pull request Jul 14, 2024
aaryanshukla pushed a commit to aaryanshukla/llvm-project that referenced this pull request Jul 14, 2024
…hecks"" (llvm#98395) Reverts llvm#98380 Probably some incremental build issue, the build before revert was green: https://lab.llvm.org/buildbot/#/builders/109/builds/817
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler-rt:cfi Control Flow Integrity compiler-rt:lsan Leak sanitizer compiler-rt:sanitizer compiler-rt:scudo Scudo Hardened Allocator compiler-rt:ubsan Undefined behavior sanitizer compiler-rt xray
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Reverts #98240
https://lab.llvm.org/buildbot/#/builders/109/builds/816