diff options
author | Yiyang Wu <xgreenlandforwyy@gmail.com> | 2023-10-22 20:56:19 +0800 |
---|---|---|
committer | Benda Xu <heroxbd@gentoo.org> | 2023-11-19 10:18:21 +0800 |
commit | 81bb39c7edf4c0b137a980a8b3ec8f817491013d (patch) | |
tree | 256c5c1343bc9f675ded9f764d14a47566ed24da /dev-util/hipcc | |
parent | dev-util/hipcc-5.7.1: fix compilation issues (diff) | |
download | gentoo-81bb39c7edf4c0b137a980a8b3ec8f817491013d.tar.gz gentoo-81bb39c7edf4c0b137a980a8b3ec8f817491013d.tar.bz2 gentoo-81bb39c7edf4c0b137a980a8b3ec8f817491013d.zip |
dev-util/hipcc: passing --hip-version to clang for proper include
Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
Signed-off-by: Benda Xu <heroxbd@gentoo.org>
Diffstat (limited to 'dev-util/hipcc')
-rw-r--r-- | dev-util/hipcc/files/hipcc-5.7.1-hipcc-hip-version.patch | 42 | ||||
-rw-r--r-- | dev-util/hipcc/hipcc-5.7.1-r2.ebuild | 1 |
2 files changed, 43 insertions, 0 deletions
diff --git a/dev-util/hipcc/files/hipcc-5.7.1-hipcc-hip-version.patch b/dev-util/hipcc/files/hipcc-5.7.1-hipcc-hip-version.patch new file mode 100644 index 000000000000..fa00d44d912e --- /dev/null +++ b/dev-util/hipcc/files/hipcc-5.7.1-hipcc-hip-version.patch @@ -0,0 +1,42 @@ +Edit from: +https://salsa.debian.org/rocm-team/rocm-hipamd/-/blob/759b0773bd848ff9471fa8cdecd9ee21010bc29c/debian/patches/0013-hipcc-hip-version.patch +`--hip-version` is required for correclty including __clang_hip_runtime_wrapper.h +================================================================================= +Description: enforce --hip-version option within hipcc call. + This change is needed since the normal mechanism in ROCm relies on + reading a .hipVersion hidden configuration file which has no proper + equivalent in a FHS compliant tree, as of ROCm 5.0. +Author: Cordell Bloor <cgmb-deb@slerp.xyz> +Bug: https://github.com/ROCm-Developer-Tools/HIP/pull/2937 +Forwarded: not-needed +Reviewed-by: Étienne Mollier <emollier@debian.org> +Last-Update: 2022-07-04 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: HIP/bin/hipcc.pl +=================================================================== +--- HIP.orig/bin/hipcc.pl ++++ HIP/bin/hipcc.pl +@@ -121,6 +121,9 @@ $HIP_PATH = $hipvars::HIP_PATH; + $ROCM_PATH = $hipvars::ROCM_PATH; + $HIP_VERSION = $hipvars::HIP_VERSION; + $HIP_ROCCLR_HOME = $hipvars::HIP_ROCCLR_HOME; ++$HIP_VERSION_MAJOR = $hipvars::HIP_VERSION_MAJOR; ++$HIP_VERSION_MINOR = $hipvars::HIP_VERSION_MINOR; ++$HIP_VERSION_PATCH = $hipvars::HIP_VERSION_PATCH; + + if ($HIP_PLATFORM eq "amd") { + $HIP_INCLUDE_PATH = "$HIP_ROCCLR_HOME/include"; +@@ -188,6 +191,12 @@ if ($HIP_PLATFORM eq "amd") { + ## Allow __fp16 as function parameter and return type. + $HIPCXXFLAGS .= " -Xclang -fallow-half-arguments-and-returns -D__HIP_HCC_COMPAT_MODE__=1"; + } ++ ++ # Gentoo: there is no FHS compliant location for .hipVersion where clang will still be ++ # able to find it, so .hipVersion has been omitted and the hip version is passed explicitly ++ $HIPCXXFLAGS .= " --hip-version=$HIP_VERSION_MAJOR.$HIP_VERSION_MINOR.$HIP_VERSION_PATCH"; ++ $HIPCFLAGS .= " --hip-version=$HIP_VERSION_MAJOR.$HIP_VERSION_MINOR.$HIP_VERSION_PATCH"; ++ $HIPLDFLAGS .= " --hip-version=$HIP_VERSION_MAJOR.$HIP_VERSION_MINOR.$HIP_VERSION_PATCH"; + } elsif ($HIP_PLATFORM eq "nvidia") { + $CUDA_PATH=$ENV{'CUDA_PATH'} // '/usr/local/cuda'; + $HIP_INCLUDE_PATH = "$HIP_PATH/include"; diff --git a/dev-util/hipcc/hipcc-5.7.1-r2.ebuild b/dev-util/hipcc/hipcc-5.7.1-r2.ebuild index d711d8956ac0..180354c8673c 100644 --- a/dev-util/hipcc/hipcc-5.7.1-r2.ebuild +++ b/dev-util/hipcc/hipcc-5.7.1-r2.ebuild @@ -24,6 +24,7 @@ RDEPEND="!<dev-util/hip-5.7" PATCHES=( "${FILESDIR}/${PN}-5.7.1-fno-stack-protector.patch" + "${FILESDIR}/${PN}-5.7.1-hipcc-hip-version.patch" ) src_prepare() { |