From d69399c7befdd98cda62d6a1788ae2aa7f104c5e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 7 Jan 2025 06:41:06 +0000 Subject: gentoo auto-resync : 07:01:2025 - 06:41:06 --- dev-libs/rocr-runtime/Manifest | 11 ++- .../files/rocr-runtime-6.2.0-ld-lld.patch | 17 ++++ .../files/rocr-runtime-6.2.0-no-aqlprofiler.patch | 27 ++++++ .../files/rocr-runtime-6.2.2-gcc15-stdint.patch | 11 +++ .../files/rocr-runtime-6.3.0-musl.patch | 107 +++++++++++++++++++++ .../rocr-runtime-6.3.0-use-system-hsakmt.patch | 20 ++++ dev-libs/rocr-runtime/rocr-runtime-6.1.2.ebuild | 4 +- dev-libs/rocr-runtime/rocr-runtime-6.2.4.ebuild | 60 ------------ dev-libs/rocr-runtime/rocr-runtime-6.3.0.ebuild | 68 +++++++++++++ 9 files changed, 260 insertions(+), 65 deletions(-) create mode 100644 dev-libs/rocr-runtime/files/rocr-runtime-6.2.0-ld-lld.patch create mode 100644 dev-libs/rocr-runtime/files/rocr-runtime-6.2.0-no-aqlprofiler.patch create mode 100644 dev-libs/rocr-runtime/files/rocr-runtime-6.2.2-gcc15-stdint.patch create mode 100644 dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-musl.patch create mode 100644 dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-use-system-hsakmt.patch delete mode 100644 dev-libs/rocr-runtime/rocr-runtime-6.2.4.ebuild create mode 100644 dev-libs/rocr-runtime/rocr-runtime-6.3.0.ebuild (limited to 'dev-libs/rocr-runtime') diff --git a/dev-libs/rocr-runtime/Manifest b/dev-libs/rocr-runtime/Manifest index c65ac123ce61..a3571ecf9386 100644 --- a/dev-libs/rocr-runtime/Manifest +++ b/dev-libs/rocr-runtime/Manifest @@ -4,6 +4,11 @@ AUX rocr-runtime-5.7.1-extend-isa-compatibility-check.patch 3003 BLAKE2B 203b65a AUX rocr-runtime-5.7.1-musl.patch 3923 BLAKE2B 9cc1abc84be25fe6432c50c227ce65f11526b0c53ee3f08aea79f4d14679943a6a68b55e56c1f14a75ed9c43d3e2dac21b3cfdfe8dc44bc0e21bd6e09b79fa1c SHA512 b44d292bc6dd1178bbc7885812db22cc96fc9e05509f175b59bc7d453dee5d58bfe45073f86f2496322a24cbd2986972f80b6495947dfcaa6838641a36690df8 AUX rocr-runtime-6.1.0-ld-lld.patch 561 BLAKE2B 93ec03a4d758791ab0a88f9d80cf1f522681cf3d0cf4f020aa1014848dc607045b628d275a25bf9830c3f1a19342ae96b9bb026ae7a9513d5ba193774526c29a SHA512 83ebcac0ada1b8406a2f7277be5f3db0c71777009cfc8996c6f9317deb1f3846a25387a956f45c6aedcb8ef04cda0814ec7c6dcf1b369cb98f9ba8f3e774022d AUX rocr-runtime-6.1.0-musl.patch 3589 BLAKE2B b690a5c63ccd7056e8fc6699d0905933b55fac3d1015fa486cacf5713d43386d57131efdf8ab6b04625b11548e0e2d831a2ee83a3c65f71cc6353e456e98d223 SHA512 bb947984e747a9b772700934be3047e906f19469459f250986a36bf0fd7f0e3acbaaa9961fc18ceef13655070affb8dc4642b4957556b9941084348d9c62e0df +AUX rocr-runtime-6.2.0-ld-lld.patch 644 BLAKE2B b622f2ad36f657633281aefca162984cd3637f8f99d2b3ae3e531596dc900d440435f28062999fba893196eba96997fbcfb2a4baf4808898aa48d17f42c13fd8 SHA512 6f7aceb9bf04e54a7d39057cdd52b2b0869a4afd1f4be948edc65cfb213cae77dc02ce9914181a3c741c328e6e546856ecbd4a27460ac3c55752169d5c6dfb43 +AUX rocr-runtime-6.2.0-no-aqlprofiler.patch 1002 BLAKE2B 6d575e9fdfd2ea568fab8f54c1b4690532caecffea1219294e99f2fc1060e4952e2fc23a11a68a15808b4509624c262c4f130aaea75161784b9a631f28c796c8 SHA512 c6a5bda629540ab8a3ef50f12e467588d833af7b4e2ffe95897a2bfb099265c05057d03a23a78906fc6760ba1b93b5b972efc54f62aa30034b02e54796774783 +AUX rocr-runtime-6.2.2-gcc15-stdint.patch 247 BLAKE2B e58abc680f93c5333c91343c6510a73b067047d202387a61675cdd6b66f6ebfb65695ff31a90eb5c55bce0d877c34b2c66c5410d9466b49873a6d081c2a9af2b SHA512 bd4eb98ebc35077827def53351ac22a5a71e0c5b8757addffc04334cc7720dcf59a356cbaf4a2cbe102bed24f463b10b0db924a5bc2e8eb08e1822d6ee519025 +AUX rocr-runtime-6.3.0-musl.patch 3961 BLAKE2B af9d2b7360d306081de19c8ebae7372627437ad71f1bfc354d36e5cd84ed2238d405819b427dab2267c66239a087c6574445c2187de920644f9a8971ed37d66d SHA512 03f62a64df00d58a2166ba97fc429864e9f5a2bb9e86ce7df0dfc9b487ea88f1b2cf5a2ccfb92fa468ee4273388a5e2d0accbe83ded8ddb109626f8b7d63b738 +AUX rocr-runtime-6.3.0-use-system-hsakmt.patch 837 BLAKE2B 0c913ffa28d0e8a5fc802d386a864e7486ae7291e13d0364d071856a55391756f8df2cf4efae0f2b1d2725235b655b7e975f3887e3582167c880a75659bbf3b3 SHA512 c28e43790b414c33a61568a1dba009ccd65de2a89bdd4d49eb262f07709e0099f8d8e85913cacb8ded839ac5fc6129d00cd74e337039c8488a6451f233b5fb58 DIST rocr-runtime-5.1.3.tar.gz 720567 BLAKE2B bdf2d258ec607ffc69264d48ce82c36787757b7809397d643a24abaa852f3cc217a57210fba760d4d11ef8ce2922dc1ef275d3b47a4bebc5c7b204bbbb5b7c66 SHA512 d47523ea2fe32fee832ca19b56a091f52e16b366db1c571f87e5599514b826376d49281e79ff0936dcaf7349f9becbc8ae9b3e9472a9c3e14b62a3f98d541b35 DIST rocr-runtime-5.3.3.tar.gz 809871 BLAKE2B 1a44e88c34fcebcea3351de812f2ac64a7b151303c5bfc4066920755c185731388afff89c705afee6010d262f68358a20b1c0197e8f23c22ab24409eb55fde0a SHA512 27efe57954575549703b31c4a632548bf3d82df0f01d5f15485d0bda7efa6ec2ad0a4a8710b8f240ff57296eb62d3796926e32d16dfe448b188d8264fde0ef8b DIST rocr-runtime-5.4.3.tar.gz 811062 BLAKE2B 4ee8ef49cdac7f6918db3aa96089852847d093aacc11ed7e7157a6eb512cf36a3d37396670c14ea24b16b1127c4547977390694d05bc6006ac48b40e707d6dae SHA512 29f13a1b16ef457071cc050227d57cda92992f416ebc074f8cd5a856d9bd76fd34ab2ccb53c21c3d798165282d44bba287ef44a9d1da327ee198e1facc77a4db @@ -11,13 +16,13 @@ DIST rocr-runtime-5.5.1.tar.gz 816175 BLAKE2B e588d98cbd0d9a753b950ba676d6cddeed DIST rocr-runtime-5.7.1.tar.gz 832009 BLAKE2B 67e4a64ee03b1f6edc43923c7ac44113ab58f78b032dc0a01952b2dd5b2ca37404044811effb9c8d83002ac4ea344a5d95ac62f3c66012bff2884ef55285cdb5 SHA512 a6547a104303032244d17b662a3eda48039732c215debb6178c0af8842c01c60f80989793420c101bd554e58332d215205da0c228dfc25538c56499f47dc6832 DIST rocr-runtime-6.1.1.tar.gz 903611 BLAKE2B 175e7267bfd9d70fb805135e765004cf2b43b2d66354f0cef857d417c8dac4ce7638ec1b90a1088324aa5f90ed8354c66b56846115368d68d622a215350d84dd SHA512 5e6e28dee29ef9df9d617f56038b2e52022738d5510833cd8e1738defe1049d0a957db4d9f63bbf55d8efca3a4ea349b95919dd1b6b35b9814ebba575a67af57 DIST rocr-runtime-6.1.2.tar.gz 903633 BLAKE2B 058492c6c37bb80e8cdb29752f3f1404ac88108dcfd5137042e4fdaff521db01d64bd14bdcbed9e53b8984f8bbb22b126f1a798bd064c393b5bcf76c1d3311ca SHA512 2893aff72a5fbf03bfde67ab64fcf00f4e10b5e5b11ff4617e94ae0c019a24a9b80601d8629d4e119e6a4957dc0aaf03d645111063979af60090fe3b232a477e -DIST rocr-runtime-6.2.4.tar.gz 959982 BLAKE2B a4cc3960c7e559c7c1837e009c998784832c861ca59c0cbf9388c8ae081670b4e45c4e5b032dbd17a4c2efe8708a1330c9ff66c814196e29df5c7a6735a6d3e9 SHA512 cdd84ddf2120f494eec282b78d0858970e0603ea096213f25731af5a97f652d058ff93122bb3a0813c45cb87f625af6f33c2c108d8fb5db63d62674b13e40c71 +DIST rocr-runtime-6.3.0.tar.gz 2258605 BLAKE2B 53b43a8bc4a327c2138e39db20f5217b2def6866d1b52e48017c41e6c3c8541e6bdce76f5a7669cdffccfb34a4cfa863e56e0ce4058d23c5f38d9d0900903751 SHA512 451e74d88875b8d0a1f21d95c543fd93610d966e69258b50fe4b8796381c58f5ea381384e199e5bcf01a80369a59e5a093d8f318fbe2ed1ca6a97dc915060f7a EBUILD rocr-runtime-5.1.3-r1.ebuild 1522 BLAKE2B ae7ad025e281985f4748df112fc1bb63a2ec7eb400a32693a1bb81c8eb35bb03fef2d245eed0b32f441d60121115e7a8c2ea595000dae5e8a1a3b392371a2858 SHA512 ad94236736a5dbaebc286d0a1c92187fb7f45c14c6a0ccc968c30cfd585c8599cc9047405e18179da09a37d88e8fbdb485b1e5304914cfef415eeefe737f1ee2 EBUILD rocr-runtime-5.3.3-r1.ebuild 1338 BLAKE2B c9737cc797fc73b7f2b0068dae1a3d7d3b89a02f3b166033df765cd164bd2d4f0e07e3cab0ebb8aca27b2e7ff39e68af6e9749a5a30a401a7da2c6ade95c4afb SHA512 39bd8f222401c0af6c6990e3d513854aaa28ad12e390c86398c795fc4df2e5da092c883b9cc559f211f3752792746c3181a7c7da7bcc4b726c9fff805df8d5ed EBUILD rocr-runtime-5.4.3-r1.ebuild 1549 BLAKE2B b077ccd7be78ebc71d4c34ceb9ed44dbbf09bf8e2699929ef8794d020b12ba610079770fdb6d4fe4ed27683ab6248851336aea7f1a0416afd14437747e03b4d5 SHA512 a20f0564335d51e6332ca3b4d2d45a6d38aeda25ce98d040f9ba93975b350601d7af9dca2fcb7332eb97d761898b179ea6effd29fbffe18156b2136d3321e661 EBUILD rocr-runtime-5.5.1.ebuild 1338 BLAKE2B 0557b175c46dfd0324bba29ba596a9241872220c8dc5e0862cc82adcfa09a17ac14c13ec84f7e0ea149c722b1f09abaab4f071a8639324b91705e5667f1bc19f SHA512 5a793bd7f9cf9f56ceb7bbbbf746b3a544bdefa093be5173505d8ded66429b41b2e14e42460ddae7a2546c6b2c10ff6d8a87c28d9dd938a53bb95d804459f192 EBUILD rocr-runtime-5.7.1-r3.ebuild 1599 BLAKE2B b9f9ac349b71da10b6334eb398cf7c0455f8abcfe20c101db7e62ca9b81853d8e1619c0b024942764f6a1b93e8ab7ab32180327b324f2ac8875d9b93e567bcea SHA512 5816d09d2308fb010ed00e306026ac4e0a410db9fab5e1954fc51210f1a172075d9f9a1b0749c2703ce397644426eca9c099ae334da23238a3048409fcc55640 EBUILD rocr-runtime-6.1.1.ebuild 1533 BLAKE2B 4b786de79180ce430ea31afa574fe011edb1b992bab530675958d98b41638cc658fc8a59f7aa3749c5484afce908ac730f80c61302c43b0b3dcf52422f87cf11 SHA512 77a2c887637477f5e49b70d0ca04adca864997170864b1b94752eb1da081fa587cffec95b6aeab3890f0cc332cd795236e140796dfaa83dfb8e2cf5e2b801851 -EBUILD rocr-runtime-6.1.2.ebuild 1533 BLAKE2B 4b786de79180ce430ea31afa574fe011edb1b992bab530675958d98b41638cc658fc8a59f7aa3749c5484afce908ac730f80c61302c43b0b3dcf52422f87cf11 SHA512 77a2c887637477f5e49b70d0ca04adca864997170864b1b94752eb1da081fa587cffec95b6aeab3890f0cc332cd795236e140796dfaa83dfb8e2cf5e2b801851 -EBUILD rocr-runtime-6.2.4.ebuild 1455 BLAKE2B 789d71474ac4258886ecf39ffb294edc4444f595e3c82b4fdc72192c3dea9805d6ba3dbdf2e6d6ff0ab36287978ef1874d0e37e1d187d4f785bd665f5d64bd3c SHA512 d563aa796951748b714a0a47d04f6cfd6dd9dbbe29a33ddf77b3d3837eb9ba1cd3ca1559e5fae47e1bae11bf5daf18db77b18c6437eadc00d1bccf87a7df3490 +EBUILD rocr-runtime-6.1.2.ebuild 1533 BLAKE2B 58d1a8ee310eac791ae55a6b31847e50df3756df4749944052564b489a2a3d3e76a52a74d91214657ce1effa42b6160d3bd07fafa07d29cc53c527d89573da72 SHA512 67c4ac3f84620e76cfb656c8c9c8d99423aad4f4bf57f8f56b46a891d7930c0538dee80d617a1181877c2ce32be5bb302f2cf54ef8e893adc1bc574ad6c35feb +EBUILD rocr-runtime-6.3.0.ebuild 1662 BLAKE2B b9cd5429ff79346b0cd618b57562affc05d97e8fc2758a70962a648a9ff28386495cdecb09807d5e3af1a2eaac1b7fb96f213c477ecc6768e969b53fa5e4a809 SHA512 53f298f0d8eb1ae5a8aa51ce3ed0c90a646e56429c81601c6dc4ee4e07a02c3ff73d852eaac27095aa7c6444b9775c8066fb9664a3ef706c23dd92d38a607ebd MISC metadata.xml 623 BLAKE2B bc808d06e4dd8c715a0abde57dba1fa02d563bed034e9cd4a8f50d78ed478ec1545aa0b42f6521ffa5c1ea57d456984c51af0cab39055201c4c04a4b46acc100 SHA512 d83b1e22d012536236067ac241b4b94f479e0adcd14a9e5647571f0550352e8d348965103183d51576e11414bb85714ded4222bfbb2a6464841b45e7644e8c2b diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-6.2.0-ld-lld.patch b/dev-libs/rocr-runtime/files/rocr-runtime-6.2.0-ld-lld.patch new file mode 100644 index 000000000000..e35ee8c0e46b --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-6.2.0-ld-lld.patch @@ -0,0 +1,17 @@ +Fix "symbol not defined" when linking with ld.lld >= 17 +https://github.com/ROCm/ROCR-Runtime/issues/204 +--- a/hsacore.so.def ++++ b/hsacore.so.def +@@ -247,12 +247,6 @@ global: + hsa_amd_vmem_retain_alloc_handle; + hsa_amd_vmem_get_alloc_properties_from_handle; + hsa_amd_agent_set_async_scratch_limit; +- hsa_tools_scratch_event_alloc_start; +- hsa_tools_scratch_event_alloc_end; +- hsa_tools_scratch_event_free_start; +- hsa_tools_scratch_event_free_end; +- hsa_tools_scratch_event_async_reclaim_start; +- hsa_tools_scratch_event_async_reclaim_end; + hsa_ven_amd_pcs_iterate_configuration; + hsa_ven_amd_pcs_create; + hsa_ven_amd_pcs_create_from_id; diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-6.2.0-no-aqlprofiler.patch b/dev-libs/rocr-runtime/files/rocr-runtime-6.2.0-no-aqlprofiler.patch new file mode 100644 index 000000000000..018c3298ed8d --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-6.2.0-no-aqlprofiler.patch @@ -0,0 +1,27 @@ +libhsa-amd-aqlprofile64 library is not packaged +Bug: https://github.com/ROCm/ROCm/issues/1781 +--- a/core/runtime/amd_gpu_agent.cpp ++++ b/core/runtime/amd_gpu_agent.cpp +@@ -1333,11 +1333,6 @@ hsa_status_t GpuAgent::GetInfo(hsa_agent_info_t attribute, void* value) const { + setFlag(HSA_EXTENSION_AMD_PC_SAMPLING); + } + +- if (os::LibHandle lib = os::LoadLib(kAqlProfileLib)) { +- os::CloseLib(lib); +- setFlag(HSA_EXTENSION_AMD_AQLPROFILE); +- } +- + setFlag(HSA_EXTENSION_AMD_PROFILER); + + break; +--- a/core/runtime/hsa.cpp ++++ b/core/runtime/hsa.cpp +@@ -490,7 +490,7 @@ hsa_status_t hsa_system_get_major_extension_table(uint16_t extension, uint16_t v + return HSA_STATUS_SUCCESS; + } + +- if (extension == HSA_EXTENSION_AMD_AQLPROFILE) { ++ if (0) { + if (version_major != hsa_ven_amd_aqlprofile_VERSION_MAJOR) { + debug_print("aqlprofile API incompatible ver %d, current ver %d\n", + version_major, hsa_ven_amd_aqlprofile_VERSION_MAJOR); diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-6.2.2-gcc15-stdint.patch b/dev-libs/rocr-runtime/files/rocr-runtime-6.2.2-gcc15-stdint.patch new file mode 100644 index 000000000000..21691ae0c1c0 --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-6.2.2-gcc15-stdint.patch @@ -0,0 +1,11 @@ +https://github.com/ROCm/ROCR-Runtime/issues/227 +--- a/core/inc/amd_elf_image.hpp ++++ b/core/inc/amd_elf_image.hpp +@@ -47,6 +47,7 @@ + #include + #include + #include ++#include + + namespace rocr { + namespace amd { diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-musl.patch b/dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-musl.patch new file mode 100644 index 000000000000..75cd032ce373 --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-musl.patch @@ -0,0 +1,107 @@ +--- a/runtime/hsa-ext-finalize/CMakeLists.txt ++++ b/runtime/hsa-ext-finalize/CMakeLists.txt +@@ -101,6 +101,18 @@ if( NOT DEFINED OPEN_SOURCE_DIR ) + set ( OPEN_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/.." ) + endif() + ++## Check for _GNU_SOURCE pthread extensions ++set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE) ++CHECK_SYMBOL_EXISTS ( "pthread_attr_setaffinity_np" "pthread.h" HAVE_PTHREAD_ATTR_SETAFFINITY_NP ) ++CHECK_SYMBOL_EXISTS ( "pthread_rwlockattr_setkind_np" "pthread.h" HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP ) ++unset(CMAKE_REQUIRED_DEFINITIONS) ++if ( HAVE_PTHREAD_ATTR_SETAFFINITY_NP ) ++ target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_PTHREAD_ATTR_SETAFFINITY_NP ) ++endif() ++if ( HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP ) ++ target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP ) ++endif() ++ + ## ------------------------- Linux Compiler and Linker options ------------------------- + set ( CMAKE_CXX_FLAGS "-std=c++11 " ) + +--- a/runtime/hsa-runtime/CMakeLists.txt ++++ b/runtime/hsa-runtime/CMakeLists.txt +@@ -47,7 +47,7 @@ cmake_minimum_required ( VERSION 3.7 ) + ## Need an update to CMake 3.12 to remove this hack. See CMake policy change CMP0073. + unset ( hsa-runtime64_LIB_DEPENDS CACHE ) + +-set(CMAKE_VERBOSE_MAKEFILE ON) ++#_cmake_modify_IGNORE set(CMAKE_VERBOSE_MAKEFILE ON) + + ## Set core runtime module name and project name. + set ( CORE_RUNTIME_NAME "hsa-runtime64" ) +@@ -109,6 +109,18 @@ if ( HAVE_MEMFD_CREATE ) + target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_MEMFD_CREATE ) + endif() + ++## Check for _GNU_SOURCE pthread extensions ++set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE) ++CHECK_SYMBOL_EXISTS ( "pthread_attr_setaffinity_np" "pthread.h" HAVE_PTHREAD_ATTR_SETAFFINITY_NP ) ++CHECK_SYMBOL_EXISTS ( "pthread_rwlockattr_setkind_np" "pthread.h" HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP ) ++unset(CMAKE_REQUIRED_DEFINITIONS) ++if ( HAVE_PTHREAD_ATTR_SETAFFINITY_NP ) ++ target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_PTHREAD_ATTR_SETAFFINITY_NP ) ++endif() ++if ( HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP ) ++ target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP ) ++endif() ++ + ## Set include directories for ROCr runtime + target_include_directories( ${CORE_RUNTIME_TARGET} + PUBLIC +--- a/runtime/hsa-runtime/core/util/lnx/os_linux.cpp ++++ b/runtime/hsa-runtime/core/util/lnx/os_linux.cpp +@@ -137,12 +137,14 @@ class os_thread { + for (int i = 0; i < cores; i++) { + CPU_SET_S(i, CPU_ALLOC_SIZE(cores), cpuset); + } ++#ifdef HAVE_PTHREAD_ATTR_SETAFFINITY_NP + err = pthread_attr_setaffinity_np(&attrib, CPU_ALLOC_SIZE(cores), cpuset); + CPU_FREE(cpuset); + if (err != 0) { + fprintf(stderr, "pthread_setaffinity_np failed: %s\n", strerror(err)); + return; + } ++#endif + } + + do { +@@ -165,6 +167,18 @@ class os_thread { + } + } while (stackSize < 20 * 1024 * 1024); + ++#ifndef HAVE_PTHREAD_ATTR_SETAFFINITY_NP ++ if (cores && cpuset) { ++ err = pthread_setaffinity_np(thread, CPU_ALLOC_SIZE(cores), cpuset); ++ CPU_FREE(cpuset); ++ if (err != 0) { ++ fprintf(stderr, "pthread_setaffinity_np failed: %s\n", strerror(err)); ++ thread = 0; ++ return; ++ } ++ } ++#endif ++ + args.release(); + } + +@@ -655,18 +669,12 @@ SharedMutex CreateSharedMutex() { + return nullptr; + } + +-#ifdef __GLIBC__ ++#ifdef HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP + err = pthread_rwlockattr_setkind_np(&attrib, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP); + if (err != 0) { + fprintf(stderr, "Set rw lock attribute failure: %s\n", strerror(err)); + return nullptr; + } +-#else +- err = pthread_rwlockattr_setkind(&attrib, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP); +- if (err != 0) { +- fprintf(stderr, "Set rw lock attribute failure: %s\n", strerror(err)); +- return nullptr; +- } + #endif + + pthread_rwlock_t* lock = new pthread_rwlock_t; diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-use-system-hsakmt.patch b/dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-use-system-hsakmt.patch new file mode 100644 index 000000000000..06f6610a71f4 --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-use-system-hsakmt.patch @@ -0,0 +1,20 @@ +libhsakmt is a part of dev-libs/roct-thunk-interface +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -96,11 +96,16 @@ if (HSA_DEP_ROCPROFILER_REGISTER) + string(APPEND CPACK_RPM_BINARY_PACKAGE_REQUIRES " rocprofiler-register") + endif() + ++if (BUILD_HSAKMT) + add_rocm_subdir(libhsakmt "${THUNK_DEFINITIONS}") + set_target_properties(hsakmt PROPERTIES + ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/libhsakmt/archive" + LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/libhsakmt/lib" + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/libhsakmt/runtime") ++else() ++ find_package(hsakmt REQUIRED) ++ add_library(hsakmt ALIAS hsakmt::hsakmt) ++endif() + + if (BUILD_ROCR) + add_rocm_subdir(runtime/hsa-runtime "${ROCR_DEFINITIONS}") diff --git a/dev-libs/rocr-runtime/rocr-runtime-6.1.2.ebuild b/dev-libs/rocr-runtime/rocr-runtime-6.1.2.ebuild index d7000ea9ca92..4caff8c750f2 100644 --- a/dev-libs/rocr-runtime/rocr-runtime-6.1.2.ebuild +++ b/dev-libs/rocr-runtime/rocr-runtime-6.1.2.ebuild @@ -33,8 +33,8 @@ IUSE="debug" COMMON_DEPEND="dev-libs/elfutils x11-libs/libdrm" DEPEND="${COMMON_DEPEND} - >=dev-libs/roct-thunk-interface-${PV} - >=dev-libs/rocm-device-libs-${PV} + dev-libs/roct-thunk-interface:${SLOT} + dev-libs/rocm-device-libs:${SLOT} $(llvm_gen_dep ' llvm-core/clang:${LLVM_SLOT}= llvm-core/lld:${LLVM_SLOT}= diff --git a/dev-libs/rocr-runtime/rocr-runtime-6.2.4.ebuild b/dev-libs/rocr-runtime/rocr-runtime-6.2.4.ebuild deleted file mode 100644 index dfbf8f00ebdd..000000000000 --- a/dev-libs/rocr-runtime/rocr-runtime-6.2.4.ebuild +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( 18 ) - -inherit cmake flag-o-matic llvm-r1 - -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/" - inherit git-r3 - S="${WORKDIR}/${P}/src" -else - SRC_URI="https://github.com/ROCm/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src" - KEYWORDS="~amd64" -fi - -DESCRIPTION="Radeon Open Compute Runtime" -HOMEPAGE="https://github.com/ROCm/ROCR-Runtime" -PATCHES=( - "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch" - "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch" -) - -LICENSE="MIT" -SLOT="0/$(ver_cut 1-2)" -IUSE="debug" - -COMMON_DEPEND="dev-libs/elfutils - x11-libs/libdrm" -DEPEND="${COMMON_DEPEND} - >=dev-libs/roct-thunk-interface-${PV} - >=dev-libs/rocm-device-libs-${PV} - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT}= - llvm-core/lld:${LLVM_SLOT}= - ') -" -RDEPEND="${DEPEND}" -BDEPEND="app-editors/vim-core" - # vim-core is needed for "xxd" - -src_prepare() { - # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ... - sed -e "s:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die - - cmake_src_prepare -} - -src_configure() { - # -Werror=odr - # https://bugs.gentoo.org/856091 - # https://github.com/ROCm/ROCR-Runtime/issues/182 - filter-lto - - use debug || append-cxxflags "-DNDEBUG" - cmake_src_configure -} diff --git a/dev-libs/rocr-runtime/rocr-runtime-6.3.0.ebuild b/dev-libs/rocr-runtime/rocr-runtime-6.3.0.ebuild new file mode 100644 index 000000000000..0fe1225bfb40 --- /dev/null +++ b/dev-libs/rocr-runtime/rocr-runtime-6.3.0.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 19 ) + +inherit cmake flag-o-matic llvm-r1 + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/" + inherit git-r3 + S="${WORKDIR}/${P}" +else + SRC_URI="https://github.com/ROCm/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/ROCR-Runtime-rocm-${PV}" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Radeon Open Compute Runtime" +HOMEPAGE="https://github.com/ROCm/ROCR-Runtime" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="debug" + +COMMON_DEPEND="dev-libs/elfutils + x11-libs/libdrm" +DEPEND="${COMMON_DEPEND} + dev-libs/roct-thunk-interface:${SLOT} + dev-libs/rocm-device-libs:${SLOT} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/lld:${LLVM_SLOT}= + ') +" +RDEPEND="${DEPEND}" +BDEPEND="app-editors/vim-core" + # vim-core is needed for "xxd" + +PATCHES=( + "${FILESDIR}/${PN}-6.3.0-use-system-hsakmt.patch" + "${FILESDIR}/${PN}-6.3.0-musl.patch" +) + +src_prepare() { + cd "${S}/runtime/hsa-runtime" || die + eapply "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch" + eapply "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch" + eapply "${FILESDIR}/${PN}-6.2.2-gcc15-stdint.patch" + + # Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ... + sed -e "s:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die + + cd "${S}" || die + cmake_src_prepare +} + +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/856091 + # https://github.com/ROCm/ROCR-Runtime/issues/182 + filter-lto + + use debug || append-cxxflags "-DNDEBUG" + + cmake_src_configure +} -- cgit v1.2.3