From c1be6ffca31f01aeb4b48fe1508994d984fa2b4e Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Mon, 26 Sep 2022 17:17:33 -0700 Subject: [PATCH] SWDEV-351540 - ASAN packaging for hip Package ASAN libraries and license file Suffix "asan" added to package name Change-Id: Ia02bb55be0bd415dbd372b39ce884c38d8c3dcbf [ROCm/clr commit: 267b34252396ad564f60743451b53be0db10e52e] --- projects/clr/hipamd/CMakeLists.txt | 5 ++++- projects/clr/hipamd/packaging/CMakeLists.txt | 21 ++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/projects/clr/hipamd/CMakeLists.txt b/projects/clr/hipamd/CMakeLists.txt index 38948ecf48..c2c82aa08a 100755 --- a/projects/clr/hipamd/CMakeLists.txt +++ b/projects/clr/hipamd/CMakeLists.txt @@ -50,7 +50,10 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) option(BUILD_HIPIFY_CLANG "Enable building the CUDA->HIP converter" OFF) option(__HIP_ENABLE_PCH "Enable/Disable pre-compiled hip headers" ON) option(HIP_OFFICIAL_BUILD "Enable/Disable for mainline/staging builds" OFF) -option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" ON) +# Disable file reorg backward compatibility for ASAN packaging +if(NOT ENABLE_ASAN_PACKAGING) + option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" ON) +endif() set(HIPCC_BIN_DIR "" CACHE STRING "HIPCC and HIPCONFIG binary directories") if(__HIP_ENABLE_PCH) diff --git a/projects/clr/hipamd/packaging/CMakeLists.txt b/projects/clr/hipamd/packaging/CMakeLists.txt index 9763881808..618f691d4d 100644 --- a/projects/clr/hipamd/packaging/CMakeLists.txt +++ b/projects/clr/hipamd/packaging/CMakeLists.txt @@ -23,6 +23,10 @@ cmake_minimum_required(VERSION 3.16.8) #set components for HIP set(CPACK_COMPONENTS_ALL binary dev doc runtime-nvidia) +# ASAN Package requires only libraries and license file +if(ENABLE_ASAN_PACKAGING) + set(CPACK_COMPONENTS_ALL asan) +endif() ###############Install Required files for all compnents######## #Enable Component Install @@ -32,6 +36,8 @@ set(CPACK_DEB_COMPONENT_INSTALL ON) ###Set License#### set(CPACK_RESOURCE_FILE_LICENSE ${hip_SOURCE_DIR}/LICENSE.txt) install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary) +# install license file in share/doc/hip-asan folder +install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${CMAKE_INSTALL_DOCDIR}-asan COMPONENT asan) set(CPACK_RPM_PACKAGE_LICENSE "MIT") #Begin binary files install @@ -46,6 +52,9 @@ if(HIP_PLATFORM STREQUAL "amd" ) install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc-builtins.so DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc-builtins.so.${HIP_LIB_VERSION_MAJOR} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc-builtins.so.${HIP_LIB_VERSION_STRING} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) + # Add libraries to asan package + install(DIRECTORY ${CMAKE_BINARY_DIR}/lib/ DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT asan + PATTERN ".hipInfo" EXCLUDE) else() install(FILES ${CMAKE_BINARY_DIR}/lib/libamdhip64.a DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) endif()#End BUILD_SHARED_LIBS @@ -217,6 +226,16 @@ set(CPACK_RPM_RUNTIME-NVIDIA_PACKAGE_PROVIDES "hip-nvcc") set(CPACK_RPM_RUNTIME-NVIDIA_PACKAGE_OBSOLETES "hip-nvcc") set(CPACK_RPM_RUNTIME-NVIDIA_PACKAGE_REQUIRES "cuda >= 7.5, rocm-core") +# Begin asan Packaging setting +set(CPACK_ASAN_DEB "ON") +set(CPACK_ASAN_RPM "ON") +set(CPACK_DEBIAN_ASAN_PACKAGE_NAME "hip-runtime-amd-asan") +set(CPACK_RPM_ASAN_PACKAGE_NAME "hip-runtime-amd-asan") +set(CPACK_COMPONENT_ASAN_DESCRIPTION "HIP:Heterogenous-computing Interface for Portability [AddressSanitizer libraries]") +set(CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS "hsa-rocr-dev (>= 1.3), rocminfo, comgr-asan (>= 2.0), rocm-llvm, libc6, rocm-core-asan") +set(CPACK_RPM_ASAN_PACKAGE_REQUIRES "hsa-rocr-dev >= 1.3, rocminfo, comgr-asan >= 2.0, rocm-llvm, rocm-core-asan") +#End asan Packaging setting + # Remove dependency on rocm-core if -DROCM_DEP_ROCMCORE=ON not given to cmake if(NOT ROCM_DEP_ROCMCORE) @@ -228,6 +247,8 @@ if(NOT ROCM_DEP_ROCMCORE) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_DOC_PACKAGE_DEPENDS ${CPACK_DEBIAN_DOC_PACKAGE_DEPENDS}) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_RUNTIME-NVIDIA_PACKAGE_REQUIRES ${CPACK_RPM_RUNTIME-NVIDIA_PACKAGE_REQUIRES}) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_RUNTIME-NVIDIA_PACKAGE_DEPENDS ${CPACK_DEBIAN_RUNTIME-NVIDIA_PACKAGE_DEPENDS}) + string(REGEX REPLACE ",? ?rocm-core-asan" "" CPACK_RPM_ASAN_PACKAGE_REQUIRES ${CPACK_RPM_ASAN_PACKAGE_REQUIRES}) + string(REGEX REPLACE ",? ?rocm-core-asan" "" CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS}) endif() include(CPack)