Fixed sanitizer for Apple clang (#14556)

* Fixed sanitizer for Apple clang

* Update cmake/developer_package/compile_flags/sanitizer.cmake

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
This commit is contained in:
Ilya Churaev 2022-12-12 14:00:49 +04:00 committed by GitHub
parent d96ea6273e
commit 59e04c9c59
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 4 deletions

View File

@ -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

View File

@ -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
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()