Add symbol versioning
Add symbol versioning to the roctracer64 and roctx64 library, and only expose the OnLoad and OnUnload tracer_tool symbols. Change-Id: I7f160fc3e568567fd1146ff5b9c0aef3bdcccf53
Этот коммит содержится в:
@@ -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)
|
||||
|
||||
@@ -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: *;
|
||||
};
|
||||
@@ -0,0 +1,12 @@
|
||||
@CMAKE_PROJECT_NAME@_4.1 {
|
||||
global: RegisterApiCallback;
|
||||
RemoveApiCallback;
|
||||
roctxMarkA;
|
||||
roctxRangePop;
|
||||
roctxRangePushA;
|
||||
roctxRangeStartA;
|
||||
roctxRangeStop;
|
||||
roctx_version_major;
|
||||
roctx_version_minor;
|
||||
local: *;
|
||||
};
|
||||
Ссылка в новой задаче
Block a user