Search for rocprofiler_set_api_table(...) via RTLD_DEFAULT (#56)

* Search for rocprofiler_set_api_table(...) via RTLD_DEFAULT

- check if rocprofiler_set_api_table function has already been loaded via dlsym(RTLD_DEFAULT, ...)
- fix warning about conflicting ROCM_DEP_ROCMCORE and ROCPROFILER_REGISTER_DEP_ROCMCORE

* Bump version to 0.4.0
这个提交包含在:
Jonathan R. Madsen 编写, GitHub 于 2024-02-25 21:14:27 -06:00 提交
1 父节点 1f0d06b6cb
当前提交 e2db37ca8d
3 个文件已更改
+15 -2

没有与搜索条件相匹配的文件

@@ -273,6 +273,18 @@ rocp_load_rocprofiler_lib(std::string _rocp_reg_lib)
if(rocprofiler_set_api_table) rocprofiler_lib_config_fn = &rocprofiler_set_api_table;
// return if found via LD_PRELOAD
if(rocprofiler_lib_config_fn)
return std::make_tuple(rocprofiler_lib_handle, rocprofiler_lib_config_fn);
// look to see if entrypoint function is already a symbol
*(void**) (&rocprofiler_lib_config_fn) =
dlsym(RTLD_DEFAULT, rocprofiler_lib_register_entrypoint);
// return if found via RTLD_DEFAULT
if(rocprofiler_lib_config_fn)
return std::make_tuple(rocprofiler_lib_handle, rocprofiler_lib_config_fn);
if(_rocp_reg_lib.empty()) _rocp_reg_lib = rocprofiler_lib_name;
auto _rocp_reg_lib_path = fs::path{ _rocp_reg_lib };