From ff240c66dba32bf278389de82f02aebcad508b64 Mon Sep 17 00:00:00 2001 From: Dominik Dabek Date: Mon, 4 Apr 2022 11:38:00 +0000 Subject: [PATCH] Update cmake for dynamic allocation tracking If cmake variable ENABLE_DYNAMIC_MEMORY_TRACKING is true: - add preprocessor definition to enable tacking - change linker options to export all symbols Related-To: NEO-6837 Signed-off-by: Dominik Dabek --- CMakeLists.txt | 9 ++++++++- level_zero/CMakeLists.txt | 9 +++++---- opencl/source/CMakeLists.txt | 8 +++++--- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7e19bd27ea..70addc1d74 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,6 +108,11 @@ if(RELEASE_WITH_REGKEYS) add_definitions(-D_RELEASE_BUILD_WITH_REGKEYS) endif() +if(ENABLE_DYNAMIC_MEMORY_TRACKING) + message(STATUS "Enabling dynamic memory tracking") + add_definitions(-DENABLE_DYNAMIC_MEMORY_TRACKING) +endif() + if(DEFINED NEO_EXTRA_DEFINES) string(REPLACE "," ";" NEO_EXTRA_DEFINES "${NEO_EXTRA_DEFINES}") foreach(_tmp ${NEO_EXTRA_DEFINES}) @@ -191,7 +196,9 @@ if(UNIX) else() message(STATUS "Using linker: default") endif() - + if(ENABLE_DYNAMIC_MEMORY_TRACKING) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--export-dynamic") + endif() if(NEO_BUILD_DEBUG_SYMBOLS_PACKAGE) set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -g") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -g") diff --git a/level_zero/CMakeLists.txt b/level_zero/CMakeLists.txt index b809fa379f..33fa34777d 100644 --- a/level_zero/CMakeLists.txt +++ b/level_zero/CMakeLists.txt @@ -477,10 +477,11 @@ if(BUILD_WITH_L0) if(UNIX) target_link_libraries(${TARGET_NAME_L0} ${GMM_LINK_NAME}) - - set_property(TARGET ${TARGET_NAME_L0} - APPEND_STRING PROPERTY LINK_FLAGS " -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/core/source/dll/linux/ze.exports" - ) + if(NOT ENABLE_DYNAMIC_MEMORY_TRACKING) + set_property(TARGET ${TARGET_NAME_L0} + APPEND_STRING PROPERTY LINK_FLAGS " -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/core/source/dll/linux/ze.exports" + ) + endif() endif() create_source_tree(${TARGET_NAME_L0} ${L0_ROOT_DIR}/..) diff --git a/opencl/source/CMakeLists.txt b/opencl/source/CMakeLists.txt index fec0843150..8ba93955da 100644 --- a/opencl/source/CMakeLists.txt +++ b/opencl/source/CMakeLists.txt @@ -175,9 +175,11 @@ if(${GENERATE_EXECUTABLE}) target_include_directories(${NEO_DYNAMIC_LIB_NAME} PRIVATE ${NEO_SHARED_DIRECTORY}/dll/devices${BRANCH_DIR_SUFFIX} ) - set_property(TARGET ${NEO_DYNAMIC_LIB_NAME} - APPEND_STRING PROPERTY LINK_FLAGS " -Wl,--version-script=${EXPORTS_FILENAME}" - ) + if(NOT ENABLE_DYNAMIC_MEMORY_TRACKING) + set_property(TARGET ${NEO_DYNAMIC_LIB_NAME} + APPEND_STRING PROPERTY LINK_FLAGS " -Wl,--version-script=${EXPORTS_FILENAME}" + ) + endif() set_property(TARGET ${NEO_DYNAMIC_LIB_NAME} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-Bsymbolic" )