From 59e04c9c593a5ff569d89560c78676ec6b697235 Mon Sep 17 00:00:00 2001 From: Ilya Churaev Date: Mon, 12 Dec 2022 14:00:49 +0400 Subject: [PATCH] Fixed sanitizer for Apple clang (#14556) * Fixed sanitizer for Apple clang * Update cmake/developer_package/compile_flags/sanitizer.cmake Co-authored-by: Ilya Lavrenov Co-authored-by: Ilya Lavrenov --- CMakeLists.txt | 2 +- cmake/developer_package/compile_flags/sanitizer.cmake | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 37f336697f0..bee8333fdbb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,7 +50,7 @@ message (STATUS "CMAKE_C_COMPILER_ID ................... " ${CMAKE_C_COMPILER_ID message (STATUS "CMAKE_CXX_COMPILER_ID ................. " ${CMAKE_CXX_COMPILER_ID}) message (STATUS "CMAKE_BUILD_TYPE ...................... " ${CMAKE_BUILD_TYPE}) message (STATUS "CMAKE_TOOLCHAIN_FILE .................. " ${CMAKE_TOOLCHAIN_FILE}) -message (STATUS "GLIBC_VERSION....... .................. " ${OV_GLIBC_VERSION}) +message (STATUS "GLIBC_VERSION.......................... " ${OV_GLIBC_VERSION}) # remove file with exported developer targets to force its regeneration diff --git a/cmake/developer_package/compile_flags/sanitizer.cmake b/cmake/developer_package/compile_flags/sanitizer.cmake index e85494aa7e9..9ae207fe735 100644 --- a/cmake/developer_package/compile_flags/sanitizer.cmake +++ b/cmake/developer_package/compile_flags/sanitizer.cmake @@ -76,9 +76,11 @@ if (DEFINED SANITIZER_COMPILER_FLAGS) set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fno-var-tracking-assignments") endif() # prevent unloading libraries at runtime, so sanitizer can resolve their symbols - set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -Wl,-z,nodelete") + if (NOT CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") + set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -Wl,-z,nodelete") + endif() - if(OV_COMPILER_IS_CLANG AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0) + if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0 OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fuse-ld=lld") endif() else() @@ -90,4 +92,4 @@ if (DEFINED SANITIZER_COMPILER_FLAGS) set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${SANITIZER_LINKER_FLAGS}") set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${SANITIZER_LINKER_FLAGS}") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${SANITIZER_LINKER_FLAGS}") -endif() \ No newline at end of file +endif()