-
Notifications
You must be signed in to change notification settings - Fork 14.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
@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