diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-7.2.0-fix-libcxx.patch b/dev-libs/rocr-runtime/files/rocr-runtime-7.2.0-fix-libcxx.patch new file mode 100644 index 0000000000000..e79e6fc7012a9 --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-7.2.0-fix-libcxx.patch @@ -0,0 +1,21 @@ +Fix libc++ error: no matching function for call to object of type 'const std::less'. +libstdc++ compiles due too loose standard following, allowing to compare some structs without a comparator. +Upstream bug: https://github.com/ROCm/rocm-systems/issues/3307 +--- a/runtime/hsa-runtime/core/inc/amd_gpu_agent.h ++++ b/runtime/hsa-runtime/core/inc/amd_gpu_agent.h +@@ -575,8 +575,14 @@ class GpuAgent : public GpuAgentInt { + // @brief Current short duration scratch memory size. + size_t scratch_used_large_; + ++ struct HsaSignalLess { ++ bool operator()(const hsa_signal_t& lhs, const hsa_signal_t& rhs) const { ++ return lhs.handle < rhs.handle; ++ } ++ }; ++ + // @brief Notifications for scratch release. +- std::map scratch_notifiers_; ++ std::map scratch_notifiers_; + + // @brief Default scratch size per queue. + size_t queue_scratch_len_; diff --git a/dev-libs/rocr-runtime/rocr-runtime-7.2.0.ebuild b/dev-libs/rocr-runtime/rocr-runtime-7.2.0.ebuild index 7e4d4ee8de042..3e419728fcef4 100644 --- a/dev-libs/rocr-runtime/rocr-runtime-7.2.0.ebuild +++ b/dev-libs/rocr-runtime/rocr-runtime-7.2.0.ebuild @@ -40,6 +40,7 @@ BDEPEND="app-editors/vim-core" PATCHES=( "${FILESDIR}/${PN}-7.2.0-use-system-hsakmt.patch" + "${FILESDIR}/${PN}-7.2.0-fix-libcxx.patch" ) # skip false positive detection in samples, bug #958188