Add symbol versioning to the roctracer64 and roctx64 library, and only
expose the OnLoad and OnUnload tracer_tool symbols.

Change-Id: I7f160fc3e568567fd1146ff5b9c0aef3bdcccf53


[ROCm/roctracer commit: 0377c5a191]
Этот коммит содержится в:
Laurent Morichetti
2022-05-17 17:53:26 -07:00
родитель 8b439bd2fa
Коммит 4cecd8b69d
6 изменённых файлов: 70 добавлений и 2 удалений
+2 -1
Просмотреть файл
@@ -26,7 +26,8 @@ cmake_minimum_required(VERSION 3.16.0)
set(ROCTRACER_NAME "roctracer")
set(ROCTRACER_TARGET "${ROCTRACER_NAME}")
project(ROCTRACER VERSION 4.0.0)
string(TOUPPER "${ROCTRACER_NAME}" ROCTRACER_NAME_upper)
project(${ROCTRACER_NAME_upper} VERSION 4.1.0)
## Build is not supported on Windows plaform
if(WIN32)
+9
Просмотреть файл
@@ -125,6 +125,7 @@ add_library(roctracer ${LIBRARY_TYPE}
set_target_properties(roctracer PROPERTIES
CXX_VISIBILITY_PRESET hidden
OUTPUT_NAME "roctracer64"
LINK_DEPENDS core.exportmap
VERSION ${ROCTRACER_VERSION}
SOVERSION ${ROCTRACER_VERSION_MAJOR}
)
@@ -145,6 +146,10 @@ target_include_directories(roctracer
${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/inc ${PROJECT_SOURCE_DIR}/src
${PROJECT_BINARY_DIR}/inc
)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/core/exportmap.in core.exportmap @ONLY)
target_link_options(roctracer PRIVATE -Wl,--version-script=core.exportmap -Wl,--no-undefined)
target_link_libraries(roctracer PRIVATE hsa-runtime64::hsa-runtime64 Threads::Threads dl)
install(TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION lib)
@@ -167,6 +172,7 @@ add_library(roctx ${LIBRARY_TYPE} ${ROCTX_SOURCES})
set_target_properties(roctx PROPERTIES
CXX_VISIBILITY_PRESET hidden
OUTPUT_NAME "roctx64"
LINK_DEPENDS roctx.exportmap
VERSION ${ROCTRACER_VERSION}
SOVERSION ${ROCTRACER_VERSION_MAJOR}
)
@@ -176,4 +182,7 @@ target_include_directories(roctx PRIVATE
${PROJECT_SOURCE_DIR}/src
)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/roctx/exportmap.in roctx.exportmap @ONLY)
target_link_options(roctx PRIVATE -Wl,--version-script=roctx.exportmap -Wl,--no-undefined)
install(TARGETS roctx LIBRARY DESTINATION lib)
+44
Просмотреть файл
@@ -0,0 +1,44 @@
@CMAKE_PROJECT_NAME@_4.1 {
global: OnLoad;
OnUnload;
roctracer_activity_pop_external_correlation_id;
roctracer_activity_push_external_correlation_id;
roctracer_close_pool;
roctracer_close_pool_expl;
roctracer_default_pool;
roctracer_default_pool_expl;
roctracer_disable_activity;
roctracer_disable_callback;
roctracer_disable_domain_activity;
roctracer_disable_domain_callback;
roctracer_disable_op_activity;
roctracer_disable_op_callback;
roctracer_enable_activity;
roctracer_enable_activity_expl;
roctracer_enable_callback;
roctracer_enable_domain_activity;
roctracer_enable_domain_activity_expl;
roctracer_enable_domain_callback;
roctracer_enable_op_activity;
roctracer_enable_op_activity_expl;
roctracer_enable_op_callback;
roctracer_error_string;
roctracer_flush_activity;
roctracer_flush_activity_expl;
roctracer_flush_buf;
roctracer_get_timestamp;
roctracer_load;
roctracer_mark;
roctracer_next_record;
roctracer_op_code;
roctracer_open_pool;
roctracer_open_pool_expl;
roctracer_op_string;
roctracer_set_properties;
roctracer_start;
roctracer_stop;
roctracer_unload;
roctracer_version_major;
roctracer_version_minor;
local: *;
};
+12
Просмотреть файл
@@ -0,0 +1,12 @@
@CMAKE_PROJECT_NAME@_4.1 {
global: RegisterApiCallback;
RemoveApiCallback;
roctxMarkA;
roctxRangePop;
roctxRangePushA;
roctxRangeStartA;
roctxRangeStop;
roctx_version_major;
roctx_version_minor;
local: *;
};
+2 -1
Просмотреть файл
@@ -78,7 +78,8 @@ if(DEFINED ROCTRACER_TARGET)
target_compile_definitions(roctracer_tool PRIVATE HIP_PROF_HIP_API_STRING=1 __HIP_PLATFORM_HCC__)
target_include_directories(roctracer_tool PRIVATE hsa/test ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/inc ${HIP_INCLUDE_DIRECTORIES} ${GEN_INC_DIR})
target_link_libraries(roctracer_tool ${ROCTRACER_TARGET} hsa-runtime64::hsa-runtime64 Threads::Threads atomic dl)
set_target_properties(roctracer_tool PROPERTIES CXX_VISIBILITY_PRESET hidden)
set_target_properties(roctracer_tool PROPERTIES CXX_VISIBILITY_PRESET hidden LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/tool/exportmap)
target_link_options(roctracer_tool PRIVATE -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/tool/exportmap -Wl,--no-undefined)
install(TARGETS roctracer_tool LIBRARY DESTINATION lib/${ROCTRACER_NAME})
endif ()
+1
Просмотреть файл
@@ -0,0 +1 @@
{ global: OnLoad; OnUnload; local: *; };