diff --git a/projects/roctracer/cmake_modules/env.cmake b/projects/roctracer/cmake_modules/env.cmake index 83a3f1e9b3..280914ed61 100644 --- a/projects/roctracer/cmake_modules/env.cmake +++ b/projects/roctracer/cmake_modules/env.cmake @@ -25,30 +25,15 @@ if ( WIN32 ) message ( FATAL_ERROR "Windows build is not supported." ) endif () +set ( CMAKE_CXX_STANDARD 17 ) +set ( CMAKE_CXX_STANDARD_REQUIRED ON ) + ## Compiler Preprocessor definitions. -add_definitions ( -D__linux__ ) -add_definitions ( -DUNIX_OS ) -add_definitions ( -DLINUX ) -add_definitions ( -D__AMD64__ ) -add_definitions ( -D__x86_64__ ) add_definitions ( -DAMD_INTERNAL_BUILD ) -add_definitions ( -DLITTLEENDIAN_CPU=1 ) -add_definitions ( -DHSA_LARGE_MODEL= ) -add_definitions ( -DHSA_DEPRECATED= ) add_definitions ( -D__HIP_PLATFORM_HCC__=1 ) ## Linux Compiler options -set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") -set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" ) -set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" ) -set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=return-type" ) -set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions" ) -set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden" ) -set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-math-errno" ) -set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-threadsafe-statics" ) -set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmerge-all-constants" ) -set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fms-extensions" ) -set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmerge-all-constants" ) +add_compile_options ( -Wall -Werror ) add_link_options("-Bdynamic -z,noexecstck") diff --git a/projects/roctracer/src/CMakeLists.txt b/projects/roctracer/src/CMakeLists.txt index 7dee1380bf..3fb7ee15d1 100644 --- a/projects/roctracer/src/CMakeLists.txt +++ b/projects/roctracer/src/CMakeLists.txt @@ -44,6 +44,7 @@ set ( LIB_SRC add_library ( ${TARGET_LIB} ${LIBRARY_TYPE} ${LIB_SRC} ) target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${ROCM_INC_PATH} ${HIP_INC_DIR} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) +set_target_properties( ${TARGET_LIB} PROPERTIES CXX_VISIBILITY_PRESET hidden ) # Build ROCTX tracing library set ( ROCTX_LIB "roctx64" ) @@ -53,3 +54,4 @@ set ( ROCTX_LIB_SRC add_library ( ${ROCTX_LIB} SHARED ${ROCTX_LIB_SRC} ) target_include_directories ( ${ROCTX_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries( ${ROCTX_LIB} PRIVATE c stdc++ ) +set_target_properties( ${ROCTX_LIB} PROPERTIES CXX_VISIBILITY_PRESET hidden ) diff --git a/projects/roctracer/test/CMakeLists.txt b/projects/roctracer/test/CMakeLists.txt index 003a81b838..dd8656ae62 100644 --- a/projects/roctracer/test/CMakeLists.txt +++ b/projects/roctracer/test/CMakeLists.txt @@ -84,6 +84,7 @@ if ( DEFINED ROCTRACER_TARGET ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${ROCM_INC_PATH} ${HIP_INC_DIR} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ atomic dl pthread rt numa ) + set_target_properties( ${TEST_LIB} PROPERTIES CXX_VISIBILITY_PRESET hidden ) install ( TARGETS ${TEST_LIB} LIBRARY DESTINATION lib/${DEST_NAME}) endif () diff --git a/projects/roctracer/test/hsa/src/hsa_rsrc_factory.h b/projects/roctracer/test/hsa/src/hsa_rsrc_factory.h index 1142abd943..22da8527d8 100644 --- a/projects/roctracer/test/hsa/src/hsa_rsrc_factory.h +++ b/projects/roctracer/test/hsa/src/hsa_rsrc_factory.h @@ -69,45 +69,45 @@ static const size_t MEM_PAGE_MASK = MEM_PAGE_BYTES - 1; typedef decltype(hsa_agent_t::handle) hsa_agent_handle_t; struct hsa_pfn_t { - decltype(hsa_init)* hsa_init; - decltype(hsa_shut_down)* hsa_shut_down; - decltype(hsa_agent_get_info)* hsa_agent_get_info; - decltype(hsa_iterate_agents)* hsa_iterate_agents; + decltype(::hsa_init)* hsa_init; + decltype(::hsa_shut_down)* hsa_shut_down; + decltype(::hsa_agent_get_info)* hsa_agent_get_info; + decltype(::hsa_iterate_agents)* hsa_iterate_agents; - decltype(hsa_queue_create)* hsa_queue_create; - decltype(hsa_queue_destroy)* hsa_queue_destroy; - decltype(hsa_queue_load_write_index_relaxed)* hsa_queue_load_write_index_relaxed; - decltype(hsa_queue_store_write_index_relaxed)* hsa_queue_store_write_index_relaxed; - decltype(hsa_queue_load_read_index_relaxed)* hsa_queue_load_read_index_relaxed; + decltype(::hsa_queue_create)* hsa_queue_create; + decltype(::hsa_queue_destroy)* hsa_queue_destroy; + decltype(::hsa_queue_load_write_index_relaxed)* hsa_queue_load_write_index_relaxed; + decltype(::hsa_queue_store_write_index_relaxed)* hsa_queue_store_write_index_relaxed; + decltype(::hsa_queue_load_read_index_relaxed)* hsa_queue_load_read_index_relaxed; - decltype(hsa_signal_create)* hsa_signal_create; - decltype(hsa_signal_destroy)* hsa_signal_destroy; - decltype(hsa_signal_load_relaxed)* hsa_signal_load_relaxed; - decltype(hsa_signal_store_relaxed)* hsa_signal_store_relaxed; - decltype(hsa_signal_wait_scacquire)* hsa_signal_wait_scacquire; - decltype(hsa_signal_store_screlease)* hsa_signal_store_screlease; + decltype(::hsa_signal_create)* hsa_signal_create; + decltype(::hsa_signal_destroy)* hsa_signal_destroy; + decltype(::hsa_signal_load_relaxed)* hsa_signal_load_relaxed; + decltype(::hsa_signal_store_relaxed)* hsa_signal_store_relaxed; + decltype(::hsa_signal_wait_scacquire)* hsa_signal_wait_scacquire; + decltype(::hsa_signal_store_screlease)* hsa_signal_store_screlease; - decltype(hsa_code_object_reader_create_from_file)* hsa_code_object_reader_create_from_file; - decltype(hsa_executable_create_alt)* hsa_executable_create_alt; - decltype(hsa_executable_load_agent_code_object)* hsa_executable_load_agent_code_object; - decltype(hsa_executable_freeze)* hsa_executable_freeze; - decltype(hsa_executable_get_symbol)* hsa_executable_get_symbol; - decltype(hsa_executable_symbol_get_info)* hsa_executable_symbol_get_info; - decltype(hsa_executable_iterate_symbols)* hsa_executable_iterate_symbols; + decltype(::hsa_code_object_reader_create_from_file)* hsa_code_object_reader_create_from_file; + decltype(::hsa_executable_create_alt)* hsa_executable_create_alt; + decltype(::hsa_executable_load_agent_code_object)* hsa_executable_load_agent_code_object; + decltype(::hsa_executable_freeze)* hsa_executable_freeze; + decltype(::hsa_executable_get_symbol)* hsa_executable_get_symbol; + decltype(::hsa_executable_symbol_get_info)* hsa_executable_symbol_get_info; + decltype(::hsa_executable_iterate_symbols)* hsa_executable_iterate_symbols; - decltype(hsa_system_get_info)* hsa_system_get_info; - decltype(hsa_system_get_major_extension_table)* hsa_system_get_major_extension_table; + decltype(::hsa_system_get_info)* hsa_system_get_info; + decltype(::hsa_system_get_major_extension_table)* hsa_system_get_major_extension_table; - decltype(hsa_amd_agent_iterate_memory_pools)* hsa_amd_agent_iterate_memory_pools; - decltype(hsa_amd_memory_pool_get_info)* hsa_amd_memory_pool_get_info; - decltype(hsa_amd_memory_pool_allocate)* hsa_amd_memory_pool_allocate; - decltype(hsa_amd_agents_allow_access)* hsa_amd_agents_allow_access; - decltype(hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy; + decltype(::hsa_amd_agent_iterate_memory_pools)* hsa_amd_agent_iterate_memory_pools; + decltype(::hsa_amd_memory_pool_get_info)* hsa_amd_memory_pool_get_info; + decltype(::hsa_amd_memory_pool_allocate)* hsa_amd_memory_pool_allocate; + decltype(::hsa_amd_agents_allow_access)* hsa_amd_agents_allow_access; + decltype(::hsa_amd_memory_async_copy)* hsa_amd_memory_async_copy; - decltype(hsa_amd_signal_async_handler)* hsa_amd_signal_async_handler; - decltype(hsa_amd_profiling_set_profiler_enabled)* hsa_amd_profiling_set_profiler_enabled; - decltype(hsa_amd_profiling_get_async_copy_time)* hsa_amd_profiling_get_async_copy_time; - decltype(hsa_amd_profiling_get_dispatch_time)* hsa_amd_profiling_get_dispatch_time; + decltype(::hsa_amd_signal_async_handler)* hsa_amd_signal_async_handler; + decltype(::hsa_amd_profiling_set_profiler_enabled)* hsa_amd_profiling_set_profiler_enabled; + decltype(::hsa_amd_profiling_get_async_copy_time)* hsa_amd_profiling_get_async_copy_time; + decltype(::hsa_amd_profiling_get_dispatch_time)* hsa_amd_profiling_get_dispatch_time; }; // Encapsulates information about a Hsa Agent such as its