summaryrefslogtreecommitdiff
path: root/dev-util/hip
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/hip')
-rw-r--r--dev-util/hip/Manifest3
-rw-r--r--dev-util/hip/files/hip-5.7.1-fix-mmap-oom-check.patch41
-rw-r--r--dev-util/hip/hip-5.7.1-r2.ebuild (renamed from dev-util/hip/hip-5.7.1-r1.ebuild)26
3 files changed, 64 insertions, 6 deletions
diff --git a/dev-util/hip/Manifest b/dev-util/hip/Manifest
index f379da190436..53cdc7903a28 100644
--- a/dev-util/hip/Manifest
+++ b/dev-util/hip/Manifest
@@ -28,6 +28,7 @@ AUX hip-5.7.0-install.patch 576 BLAKE2B b3c5437a81bcc901327ba4ee9419ad77ea94aab3
AUX hip-5.7.1-disable-stack-protector.patch 771 BLAKE2B 46ea4b48ae32c7e120418fec467fedc7c496fec2c0589c04e4b62a0afe9b7e6b6e9aae8a4502d5772eefc07c5f71d39b37e4a47d1796d7688b1804814a0274da SHA512 30b82c3b8e7403e8098d1d564c94a85cd29fbf0d6fb4d4af26874bbc5ed03477933fb61064d57c2e2c724182b4816598752b38b1bb9f9384685be72a774d81af
AUX hip-5.7.1-exec-stack.patch 1136 BLAKE2B b45560c1cd3410ba9340d5dea7fc2ab7167126a3dbcee6fdaa5ccdab6140db8a6ce9c9f588451f77a1cd27154551a4cb00743d7b2ac3dcb6c36e87f2bc182fe1 SHA512 66a6a9518975a9702f365ae6e9b09835ff93cde49209714b4cbb19c375052859ac26f3d4d2b61052280eee93e237f930a4b7b2d837245a7d477e30893ca6a0b4
AUX hip-5.7.1-extend-isa-compatibility-check.patch 9043 BLAKE2B 8effc992b0d3478939fed4b003b4cbc1ef09ca1f59792f46d4c5c9253ac1a4d9a32357294b15c50e9c0dc867ebf284fe1823f3c7d829097c69d6633ff2027adc SHA512 ccab928a25089e6f9260dcdda665258fb71b6aefaae444ea25274475b3d668785b5bf4396ca4fbefb1471c06115b139b13f0af4d9b1f76e66821d585e7c8b781
+AUX hip-5.7.1-fix-mmap-oom-check.patch 1317 BLAKE2B d1e9db74bb815cd9194b47688bb125630a8baf8c3df14e454b2f8c59303c136c6c69b7ca89fddabb2533bfa034c984d88ec276851daf2241d9abeda7f5a50f87 SHA512 b6a5d7b861fe4138c72f91b765df822cce00fda94d3b8b85c0a40c3697455b018256f37317adf714280aa387ebe5da14a092ab69e375e8a804f01243837f7b60
AUX hip-5.7.1-fix-unaligned-access.patch 3011 BLAKE2B d8a6a130edcf51c40e88250508ff3db13f134fb3833d1eadfac32dfdee09c7635091b1f32ed640bcba0c5ca2b745c401183ee8adaa392977ecece12a03450f9e SHA512 f9b85117927d18921d939daa73d2d97477bb49eb6ff7e496f9b110b8e70e00734b698517ae4235a03c560bdfc3618367d7eb2970c9d90dc2bcf07e2ab803d994
AUX hip-5.7.1-no_asan_doc.patch 817 BLAKE2B 4bc80470f9cb476289086ae561560bb54fcdd9d1e66ef420dc60f129f29b0de02025be0ed2a7bfd2143b9bc0b456a354abc574dcbff509872a35e2e0c06f7760 SHA512 10a97524acce0c45c8edeccd11b64445f6edeb380e8262e1fc63163c4758efd731af36701dae1c9988264e8ce10971c9b3959ea881e81646994c779a96d10bb9
AUX hip-test-5.7.0-rocm_agent_enumerator-location.patch 651 BLAKE2B 237ae5e71c9a6c565680c4fb07ece160f6bc635d25c77a20f3da54b92fcead95c0f6871f53a58a1e9b26b1d5fef3372ebc547638ba2fba43621c2867d276e75a SHA512 79d3cb277c41a84e6db70b28ad465067403f27d1f54adcbcd3e3501fc08c29f2aafc60fa2e6e78794eed95987352aa7ae844fbd55abc1abe0be8ff1879ed7d8f
@@ -63,6 +64,6 @@ EBUILD hip-5.1.3-r4.ebuild 6638 BLAKE2B 4ccc536736e737f0066ab4f200a5ea76a9f16ede
EBUILD hip-5.3.3-r3.ebuild 5346 BLAKE2B 4f5c0570e8a4ff65ac0b11bc555e2f81f7c6e56cc3ff86de894536b3b0597c049216a9d4184e25471999c4cf73b8f774daf1bb46d613c830bcc0d8c445f85b74 SHA512 9a54281155f14f467286d132ec405b90703b94760b8f4e268aed77b4a47d8a195febef3200068d0e5905cf7078fb92e2252b6ab7a3b86e40d330449315c0cf4d
EBUILD hip-5.4.3.ebuild 5239 BLAKE2B 74d5423c5f7c01f15c5583b2c53420b1780fa7fdb11581fef2f0570be11a2047a43881a13b41b333905faaafab7dee15e1fb4af96703829cdab7d547e2cb5796 SHA512 7b2f5abfbc2ded1751b3d32349eb81715468125e9a9cc64522b725ed9a92f0dbf6e575fd1b84ab5234532badbf3a6b0c4d3a5b375384665ab413b22c54a5ee3e
EBUILD hip-5.5.1.ebuild 5244 BLAKE2B aa1f937c5f2651ad3e79898ffc427696253c619583cd1450f1a3e7b9a7448e0d750f5df72a87458dfe6107f2f8846bc2b9b064d54b0b849fc3812a4f268c4af1 SHA512 94cad30f1f0e3e376a5902c83a151d3fe2a7b72b45747672e96b9d13dedadc7184c8f714789ff3e436133ffb8a7d58e8194471c843c694d3d39c348fd7d5a3ab
-EBUILD hip-5.7.1-r1.ebuild 4404 BLAKE2B 2ef6d7970468cf4414f96e04ca593ce1cb8eb2f2e33935da7d749822830e7d522a0fdd8c1ef3b19dab44be32652f71dc91ed02b6c7bd5c9639fc8baeadbd4140 SHA512 ea8b90b0d6dd65b493d19b0fedd6be09ec9c5404b44d168777731abec99de4dbcb3e7b8fa007a60acddde36a3a972cac9d107b4a88811142a882671affeee3ba
+EBUILD hip-5.7.1-r2.ebuild 5163 BLAKE2B 1a7c8addd6d1ef76dc164542893b7415f8a983c7c3372a1cb946028d685e769a6fdc3be7bd30bd307e48a5839d3e626b3f79712b4be1df717a8f06a6f037de9c SHA512 1ead757bb188f8159053b39bfe99c091945ad4171863cab00073f6e8487d6f4c7307b3dfd2dd32e8a39b103b012d09b199549f651c2e099778fe048d6fe70442
EBUILD hip-6.0.0.ebuild 4631 BLAKE2B 08c1e1c5d32c731bc0aff4b01ccdc304eaab8b071e48401fe241ee28673793e07f4949301628d5e86ce15f96bb0635fc87ee84383fad5819b50da81736396795 SHA512 3c8bfa4d7ed62d215edb16bad0fa83ab42414505163b593a780971ed73a982ceb39ef7ed347c7ed2360ac6b865d1b30138180fe0120fba08580a1f409c973463
MISC metadata.xml 729 BLAKE2B 92e36c42f6d8335e5a8e3a86b591ff9e6306e0d187644620fab7f8f7ddd00156ee91ff49184ffbe379e509f2096c51c421575a69de7abea3c0b372fdcec52ccb SHA512 84fc8234a5fdf54bf43228c2144d809a461862fb45fea24bf366ee5937df3882c3332429938792981e37dbb4cda6e5d7e05ac5deaded34d8bcce1eb53df8d0fd
diff --git a/dev-util/hip/files/hip-5.7.1-fix-mmap-oom-check.patch b/dev-util/hip/files/hip-5.7.1-fix-mmap-oom-check.patch
new file mode 100644
index 000000000000..dbafe4e11a74
--- /dev/null
+++ b/dev-util/hip/files/hip-5.7.1-fix-mmap-oom-check.patch
@@ -0,0 +1,41 @@
+Backport of SWDEV-417691 - Error handling for MemoryMap OS calls.
+The issue was fixed in rocclr 6.0.0.
+https://github.com/ROCm/clr/commit/7a10423a44b8b353f67539dc1ae14c0b99c209b8
+--- a/rocclr/os/os_posix.cpp
++++ b/rocclr/os/os_posix.cpp
+@@ -214,7 +214,7 @@ address Os::reserveMemory(address start, size_t size, size_t alignment, MemProt
+ MAP_PRIVATE | MAP_NORESERVE | MAP_ANONYMOUS, 0, 0);
+
+ // check for out of memory
+- if (mem == NULL) return NULL;
++ if (mem == MAP_FAILED) return NULL;
+
+ address aligned = alignUp(mem, alignment);
+
+@@ -842,7 +842,7 @@ bool Os::MemoryMapFileDesc(FileDesc fdesc, size_t fsize, size_t foffset, const v
+ }
+
+ *mmap_ptr = mmap(NULL, fsize, PROT_READ, MAP_SHARED, fdesc, foffset);
+- return true;
++ return (*mmap_ptr == MAP_FAILED) ? false : true;
+ }
+
+ bool Os::MemoryUnmapFile(const void* mmap_ptr, size_t mmap_size) {
+@@ -874,7 +874,7 @@ bool Os::MemoryMapFile(const char* fname, const void** mmap_ptr, size_t* mmap_si
+
+ close(fd);
+
+- if (*mmap_ptr == nullptr) {
++ if (*mmap_ptr == MAP_FAILED) {
+ return false;
+ }
+
+@@ -899,7 +899,7 @@ bool Os::MemoryMapFileTruncated(const char* fname, const void** mmap_ptr, size_t
+
+ close(fd);
+
+- if (*mmap_ptr == nullptr) {
++ if (*mmap_ptr == MAP_FAILED) {
+ return false;
+ }
+ \ No newline at end of file
diff --git a/dev-util/hip/hip-5.7.1-r1.ebuild b/dev-util/hip/hip-5.7.1-r2.ebuild
index 7b1a593f23e5..35d67cf0be55 100644
--- a/dev-util/hip/hip-5.7.1-r1.ebuild
+++ b/dev-util/hip/hip-5.7.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ DOCS_BUILDER="doxygen"
DOCS_DEPEND="media-gfx/graphviz"
ROCM_SKIP_GLOBALS=1
-inherit cmake docs llvm rocm
+inherit cmake docs llvm rocm flag-o-matic
LLVM_MAX_SLOT=17
@@ -47,6 +47,7 @@ PATCHES=(
"${FILESDIR}/${PN}-5.7.1-disable-stack-protector.patch"
"${FILESDIR}/${PN}-5.7.1-no_asan_doc.patch"
"${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch"
+ "${FILESDIR}/${PN}-5.7.1-fix-mmap-oom-check.patch"
)
S="${WORKDIR}/clr-rocm-${PV}/"
@@ -60,9 +61,10 @@ hip_test_wrapper() {
}
src_prepare() {
- # hipamd is itself built by cmake, and should never provide a
- # FindHIP.cmake module.
- rm -r "${WORKDIR}"/HIP-rocm-${PV}/cmake/FindHIP* || die
+ # Set HIP and HIP Clang paths directly, don't search using heuristics
+ sed -e "s:# Search for HIP installation:set(HIP_ROOT_DIR \"${EPREFIX}/usr\"):" \
+ -e "s:#Set HIP_CLANG_PATH:set(HIP_CLANG_PATH \"$(get_llvm_prefix -d ${LLVM_MAX_SLOT})/bin\"):" \
+ -i "${WORKDIR}"/HIP-rocm-${PV}/cmake/FindHIP.cmake || die
# https://github.com/ROCm-Developer-Tools/HIP/commit/405d029422ba8bb6be5a233d5eebedd2ad2e8bd3
# https://github.com/ROCm-Developer-Tools/clr/commit/ab6d34ae773f4d151e04170c0f4e46c1135ddf3e
@@ -79,6 +81,9 @@ src_prepare() {
}
src_configure() {
+ # Workaround for bug #923986
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
use debug && CMAKE_BUILD_TYPE="Debug"
local mycmakeargs=(
@@ -141,6 +146,17 @@ src_test() {
src_install() {
cmake_src_install
+ # add version file that is required by some libraries
+ mkdir "${ED}"/usr/include/rocm-core || die
+ cat <<EOF > "${ED}"/usr/include/rocm-core/rocm_version.h || die
+#pragma once
+#define ROCM_VERSION_MAJOR $(ver_cut 1)
+#define ROCM_VERSION_MINOR $(ver_cut 2)
+#define ROCM_VERSION_PATCH $(ver_cut 3)
+#define ROCM_BUILD_INFO "$(ver_cut 1-3).0-9999-unknown"
+EOF
+ dosym -r /usr/include/rocm-core/rocm_version.h /usr/include/rocm_version.h
+
rm "${ED}/usr/include/hip/hcc_detail" || die
# files already installed by hipcc, which is a build dep