diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 16:24:49 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 16:24:49 -0500 |
| commit | a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (patch) | |
| tree | 0c52bbae1c242fbc296bd650fcd1167685f81492 /dev-libs/rocm-comgr | |
| parent | bfd9c39e4712ebdb442d4ca0673061faed1e70e1 (diff) | |
| download | baldeagleos-repo-a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7.tar.gz baldeagleos-repo-a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7.tar.xz baldeagleos-repo-a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7.zip | |
Adding metadata
Diffstat (limited to 'dev-libs/rocm-comgr')
21 files changed, 0 insertions, 1345 deletions
diff --git a/dev-libs/rocm-comgr/Manifest b/dev-libs/rocm-comgr/Manifest deleted file mode 100644 index f32976c60822..000000000000 --- a/dev-libs/rocm-comgr/Manifest +++ /dev/null @@ -1,5 +0,0 @@ -DIST llvm-project-rocm-6.3.3.tar.gz 206663912 BLAKE2B 939527dbbcd0c4b4785e5cdbd7144149f169120506c2b5b00e84e8208e3877109e24cf58501a1317d1f9dcce0614cf47a0290cb2e0e10aa7b164bcb064c2ffbc SHA512 380d6ca72dd215b1996b14fe9b54f4981bd1d275aae22ed89f4f3efc46ec2988054cc98dcc45e1c678812c2bd3488ed6cf375ca193af4ad272a6cff7f2388872 -DIST llvm-project-rocm-6.4.3.tar.gz 218920681 BLAKE2B 85c29c1f66f9d23fa7fb6d98baf60cb08a8507a7b3a4c0a5054d9d4d3bc1fb7de56ddae583e37a36c7a3f17f9e57bd49777deca7560ca8b4882c1eea1db5b421 SHA512 b6b4149c6426793f4497dfd1200079b0caef4d5a6f49c1f3a301d70f5f7b322b850085ff2f89d55df1dfab6d6a97948fe4084d4ec14654ee97cdab26e71a45c0 -DIST llvm-project-rocm-7.0.2.tar.gz 228207703 BLAKE2B 0a46338e43eeb9ee484cf9b79488f38b96983ba0a5736d606b1b1d450b9c7aa214047200c3d6712b8053d742e2f014333b2db28feca7d0c8b6928282604e1f4e SHA512 b7916941711ec062aad518d752d213d2e6c846875956ade650da01fa02df94b2a8501c656c1333bb2febb1d46cc8266dd98fd509c72ac0c9c29321276a919450 -DIST llvm-project-rocm-7.1.0.tar.gz 228282149 BLAKE2B c4bbaf1842d91747a3f7a9ae8a8db0a4b2485394770f9be5782346de1c2c66c496629a820f4bc9418803c4abe2e629b44083b9d9a8b0ffe79431d04f71a7b191 SHA512 01fa89fcee6910d53407be6cfe3a83bec98260a48beca6393ca7e5991d283897da42a918c6e9888a9cee46adc9c4086dd4b4221e7e25d64108296b755669a7e7 -DIST llvm-project-rocm-7.2.0.tar.gz 249851021 BLAKE2B f17a1c753ed4325ed15f5a007e770d5004bf53493af98619830105f1a6b0edc52ada1f2eaa8d5cf912158d36dd9f1aaedd42846947ab6ce065ca72aa21873452 SHA512 cc68b61605e89291d8417e438e4134a6cb7c5112145fe0ac72e358ddbf300dc86bbed18a9bc143e86d5f4085b327e1c5f81e14b6d17001605d63c1171c29841e diff --git a/dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch b/dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch deleted file mode 100644 index a61d92794d51..000000000000 --- a/dev-libs/rocm-comgr/files/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 4c210fdf6943c0c40b5fe0f66800c7b9c7ca84d3 Mon Sep 17 00:00:00 2001 -From: Yiyang Wu <xgreenlandforwyy@gmail.com> -Date: Tue, 14 Jun 2022 20:21:22 +0800 -Subject: [PATCH] Find CLANG_RESOURCE_DIR using clang -print-resource-dir - -Suggested-By: https://reviews.llvm.org/D49486 -Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com> ---- - lib/comgr/cmake/opencl_pch.cmake | 24 +++--------------------- - 1 file changed, 3 insertions(+), 21 deletions(-) - -diff --git a/lib/comgr/cmake/opencl_pch.cmake b/lib/comgr/cmake/opencl_pch.cmake -index 95311fc..71050c8 100644 ---- a/cmake/opencl_pch.cmake -+++ b/cmake/opencl_pch.cmake -@@ -1,26 +1,8 @@ - if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - find_package(Clang REQUIRED CONFIG) -- -- # FIXME: CLANG_CMAKE_DIR seems like the most stable way to find this, but -- # really there is no way to reliably discover this header. -- # -- # We effectively back up to the Clang output directory (for the case of a build -- # tree) or install prefix (for the case of an installed copy), and then search -- # for a file named opencl-c.h anywhere below that. We take the first result in -- # the case where there are multiple (e.g. if there is an installed copy nested -- # in a build directory). This is a bit imprecise, but it covers cases like MSVC -- # adding some additional configuration-specific subdirectories to the build -- # tree but not to an installed copy. -- file(GLOB_RECURSE OPENCL_C_H_LIST "${CLANG_CMAKE_DIR}/../../../*/opencl-c.h") -- -- list(GET OPENCL_C_H_LIST 0 OPENCL_C_H) -- -- if (NOT EXISTS "${OPENCL_C_H}" OR IS_DIRECTORY "${OPENCL_C_H}") -- message(FATAL_ERROR "Unable to locate opencl-c.h from the supplied Clang. The path '${CLANG_CMAKE_DIR}/../../../*' was searched.") -- endif() --else() -- get_target_property(clang_build_header_dir clang-resource-headers RUNTIME_OUTPUT_DIRECTORY) -- set(OPENCL_C_H "${clang_build_header_dir}/opencl-c.h") -+ execute_process(COMMAND "${CLANG_CMAKE_DIR}/../../../bin/clang" -print-resource-dir OUTPUT_VARIABLE CLANG_RESOURCE_DIR) -+ string(STRIP ${CLANG_RESOURCE_DIR} CLANG_RESOURCE_DIR) -+ set(OPENCL_C_H "${CLANG_RESOURCE_DIR}/include/opencl-c.h") - endif() - - # Macro to create and install a custom target for generating PCH for given --- -2.39.0 - diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch deleted file mode 100644 index c6d39715e864..000000000000 --- a/dev-libs/rocm-comgr/files/rocm-comgr-5.1.3-rocm-path.patch +++ /dev/null @@ -1,14 +0,0 @@ -Add --rocm-path=/usr argument in runtime because our rocm path is not in default seach list. ---- comgr/src/comgr-compiler.cpp -+++ comgr.orig/src/comgr-compiler.cpp -@@ -1096,6 +1096,10 @@ - } - } - } -+ else { -+ llvm::SmallString<128> RealRocmDir = env::getLLVMPath(); -+ Args.push_back(Saver.save(Twine("--rocm-path=") + RealRocmDir).data()); -+ } - - return processFiles(AMD_COMGR_DATA_KIND_BC, ".bc"); - } diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.0.0-extend-isa-compatibility-check.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.0.0-extend-isa-compatibility-check.patch deleted file mode 100644 index e65400c792e4..000000000000 --- a/dev-libs/rocm-comgr/files/rocm-comgr-6.0.0-extend-isa-compatibility-check.patch +++ /dev/null @@ -1,204 +0,0 @@ -Load kernels when compatible by ISA, e. g. if AMDGPU_TARGETS is set -to gfx1030 and some application was started on gfx1036, it loads gfx1030 kernel. - -Based on Debian patch by Cordell Bloor <cgmb@slerp.xyz> -https://salsa.debian.org/rocm-team/rocm-hipamd/-/blob/master/debian/patches/0026-extend-hip-isa-compatibility-check.patch ---- comgr.orig/src/comgr-metadata.cpp -+++ comgr/src/comgr-metadata.cpp -@@ -923,23 +923,86 @@ static constexpr const char *CLANG_OFFLOAD_BUNDLER_MAGIC = - static constexpr size_t OffloadBundleMagicLen = - strLiteralLength(CLANG_OFFLOAD_BUNDLER_MAGIC); - --bool isCompatibleIsaName(StringRef IsaName, StringRef CodeObjectIsaName) { -+struct GfxPattern { -+ std::string root; -+ std::string suffixes; -+}; -+ -+static bool matches(const GfxPattern& p, StringRef s) { -+ if (p.root.size() + 1 != s.size()) { -+ return false; -+ } -+ if (0 != std::memcmp(p.root.data(), s.data(), p.root.size())) { -+ return false; -+ } -+ return p.suffixes.find(s[p.root.size()]) != std::string::npos; -+} -+ -+static bool isGfx900EquivalentProcessor(StringRef processor) { -+ return matches(GfxPattern{"gfx90", "029c"}, processor); -+} -+ -+static bool isGfx900SupersetProcessor(StringRef processor) { -+ return matches(GfxPattern{"gfx90", "0269c"}, processor); -+} -+ -+static bool isGfx1030EquivalentProcessor(StringRef processor) { -+ return matches(GfxPattern{"gfx103", "0123456"}, processor); -+} -+ -+static bool isGfx1010EquivalentProcessor(StringRef processor) { -+ return matches(GfxPattern{"gfx101", "0"}, processor); -+} -+ -+static bool isGfx1010SupersetProcessor(StringRef processor) { -+ return matches(GfxPattern{"gfx101", "0123"}, processor); -+} -+ -+enum CompatibilityScore { -+ CS_EXACT_MATCH = 1 << 4, -+ CS_PROCESSOR_MATCH = 1 << 3, -+ CS_PROCESSOR_COMPATIBLE = 1 << 2, -+ CS_XNACK_SPECIALIZED = 1 << 1, -+ CS_SRAM_ECC_SPECIALIZED = 1 << 0, -+ CS_INCOMPATIBLE = 0, -+}; -+ -+static int getProcessorCompatibilityScore(StringRef CodeObjectProcessor, -+ StringRef AgentProcessor) { -+ if (CodeObjectProcessor == AgentProcessor) { -+ return CS_PROCESSOR_MATCH; -+ } -+ -+ bool compatible = false; -+ if (isGfx900SupersetProcessor(AgentProcessor)) { -+ compatible = isGfx900EquivalentProcessor(CodeObjectProcessor); -+ } else if (isGfx1010SupersetProcessor(AgentProcessor)) { -+ compatible = isGfx1010EquivalentProcessor(CodeObjectProcessor); -+ } else if (isGfx1030EquivalentProcessor(AgentProcessor)) { -+ compatible = isGfx1030EquivalentProcessor(CodeObjectProcessor); -+ } -+ -+ return compatible ? CS_PROCESSOR_COMPATIBLE : CS_INCOMPATIBLE; -+} -+ -+static int getCompatiblityScore(StringRef IsaName, StringRef CodeObjectIsaName) { - if (IsaName == CodeObjectIsaName) { -- return true; -+ return CS_EXACT_MATCH; - } - - TargetIdentifier CodeObjectIdent; - if (parseTargetIdentifier(CodeObjectIsaName, CodeObjectIdent)) { -- return false; -+ return CS_INCOMPATIBLE; - } - - TargetIdentifier IsaIdent; - if (parseTargetIdentifier(IsaName, IsaIdent)) { -- return false; -+ return CS_INCOMPATIBLE; - } - -- if (CodeObjectIdent.Processor != IsaIdent.Processor) { -- return false; -+ int ProcessorScore = getProcessorCompatibilityScore(CodeObjectIdent.Processor, IsaIdent.Processor); -+ if (ProcessorScore == CS_INCOMPATIBLE) { -+ return CS_INCOMPATIBLE; - } - - char CodeObjectXnack = ' ', CodeObjectSramecc = ' '; -@@ -963,18 +1026,23 @@ bool isCompatibleIsaName(StringRef IsaName, StringRef CodeObjectIsaName) { - } - } - -+ int XnackBonus = 0; - if (CodeObjectXnack != ' ') { - if (CodeObjectXnack != IsaXnack) { -- return false; -+ return CS_INCOMPATIBLE; - } -+ XnackBonus = CS_XNACK_SPECIALIZED; - } - -+ int SrameccBonus = 0; - if (CodeObjectSramecc != ' ') { - if (CodeObjectSramecc != IsaSramecc) { -- return false; -+ return CS_INCOMPATIBLE; - } -+ SrameccBonus = CS_SRAM_ECC_SPECIALIZED; - } -- return true; -+ -+ return ProcessorScore + XnackBonus + SrameccBonus; - } - - amd_comgr_status_t -@@ -992,14 +1060,21 @@ lookUpCodeObjectInSharedObject(DataObject *DataP, - return Status; - } - -+ int MaxScore = 0; -+ unsigned MaxScoreItem; - for (unsigned J = 0; J < QueryListSize; J++) { -- if (isCompatibleIsaName(QueryList[J].isa, IsaName)) { -- QueryList[J].offset = 0; -- QueryList[J].size = DataP->Size; -- break; -+ int Score = getCompatiblityScore(QueryList[J].isa, IsaName); -+ if (Score > MaxScore) { -+ MaxScore = Score; -+ MaxScoreItem = J; - } - } - -+ if (MaxScore) { -+ QueryList[MaxScoreItem].offset = 0; -+ QueryList[MaxScoreItem].size = DataP->Size; -+ } -+ - return AMD_COMGR_STATUS_SUCCESS; - } - -@@ -1011,7 +1086,6 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP, - return lookUpCodeObjectInSharedObject(DataP, QueryList, QueryListSize); - } - -- int Seen = 0; - BinaryStreamReader Reader(StringRef(DataP->Data, DataP->Size), - support::little); - -@@ -1037,6 +1111,8 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP, - QueryList[I].size = 0; - } - -+ std::vector<int> QueryListScores(QueryListSize); -+ - // For each code object, extract BundleEntryID information, and check that - // against each ISA in the QueryList - for (uint64_t I = 0; I < NumOfCodeObjects; I++) { -@@ -1069,28 +1145,22 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP, - } - - for (unsigned J = 0; J < QueryListSize; J++) { -- // If this QueryList item has already been found to be compatible with -+ // If this QueryList item has exact match with - // another BundleEntryID, no need to check against the current - // BundleEntryID -- if (QueryList[J].size != 0) { -+ if (QueryListScores[J] == CS_EXACT_MATCH) { - continue; - } - - // If the QueryList Isa is compatible with the BundleEntryID, set the - // QueryList offset/size to this BundleEntryID -- if (isCompatibleIsaName(QueryList[J].isa, OffloadAndTargetId.second)) { -+ int Score = getCompatiblityScore(QueryList[J].isa, OffloadAndTargetId.second); -+ if (Score > QueryListScores[J]) { -+ QueryListScores[J] = Score; - QueryList[J].offset = BundleEntryCodeObjectOffset; - QueryList[J].size = BundleEntryCodeObjectSize; -- Seen++; -- break; - } - } -- -- // Stop iterating over BundleEntryIDs once we have populated the entire -- // QueryList -- if (Seen == (int) QueryListSize) { -- break; -- } - } - - return AMD_COMGR_STATUS_SUCCESS; diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch deleted file mode 100644 index 526318f5bbd9..000000000000 --- a/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 179ec2e67bf882c6bccb27f81db3d80f7eb9946e Mon Sep 17 00:00:00 2001 -From: Jacob Lambert <jacob.lambert@amd.com> -Date: Fri, 12 Apr 2024 13:56:42 -0700 -Subject: [PATCH] [Comgr] Don't add -nogpulib option for assembley action - -We can omit setting -nogpulib even without a -rocm-path=. option -when calling the assembly action. This avoids the following warning: - -warning: argument unused during compilation: '-nogpulib' -Change-Id: I66d512befbafd9382f050c45a0d3950985e8ae38 ---- - amd/comgr/src/comgr-compiler.cpp | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/comgr-compiler.cpp b/src/comgr-compiler.cpp -index 143ab4e4f3db..21b233fa94b2 100644 ---- a/src/comgr-compiler.cpp -+++ b/src/comgr-compiler.cpp -@@ -1758,6 +1758,9 @@ amd_comgr_status_t AMDGPUCompiler::assembleToRelocatable() { - Args.push_back("-x"); - Args.push_back("assembler"); - -+ // -nogpulib option not needed for assembling to relocatable -+ NoGpuLib = false; -+ - return processFiles(AMD_COMGR_DATA_KIND_RELOCATABLE, ".o"); - } - --- -2.44.0 - diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-bypass-device-libs-copy.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-bypass-device-libs-copy.patch deleted file mode 100644 index 8c126d9a5108..000000000000 --- a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-bypass-device-libs-copy.patch +++ /dev/null @@ -1,28 +0,0 @@ -Use files from dev-libs/rocm-device-libs instead of their copy in /tmp. ---- a/src/comgr-compiler.cpp -+++ b/src/comgr-compiler.cpp -@@ -1070,24 +1070,7 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { - } - - amd_comgr_status_t AMDGPUCompiler::addDeviceLibraries() { -- llvm::SmallString<128> FakeRocmDir = TmpDir; -- path::append(FakeRocmDir, "rocm"); -- llvm::SmallString<128> DeviceLibsDir = FakeRocmDir; -- path::append(DeviceLibsDir, "amdgcn", "bitcode"); -- if (fs::create_directory(InputDir)) { -- return AMD_COMGR_STATUS_ERROR; -- } -- Args.push_back(Saver.save(Twine("--rocm-path=") + FakeRocmDir).data()); - NoGpuLib = false; -- -- for (auto DeviceLib : getDeviceLibraries()) { -- llvm::SmallString<128> DeviceLibPath = DeviceLibsDir; -- path::append(DeviceLibPath, std::get<0>(DeviceLib)); -- if (auto Status = outputToFile(std::get<1>(DeviceLib), DeviceLibPath)) { -- return Status; -- } -- } -- - return AMD_COMGR_STATUS_SUCCESS; - } - diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-fix-comgr-default-flags.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-fix-comgr-default-flags.patch deleted file mode 100644 index 2d4ed66481cc..000000000000 --- a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-fix-comgr-default-flags.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/src/comgr-compiler.cpp -+++ b/src/comgr-compiler.cpp -@@ -1031,9 +1031,8 @@ AMDGPUCompiler::addTargetIdentifierFlags(llvm::StringRef IdentStr, - } - - amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { -- HIPIncludePath = (Twine(env::getHIPPath()) + "/include").str(); -- // HIP headers depend on hsa.h which is in ROCM_DIR/include. -- ROCMIncludePath = (Twine(env::getROCMPath()) + "/include").str(); -+ // Allow to include <include/cuda_wrappers/algorithm> (used in some hip files) -+ ClangIncludePath = @CLANG_RESOURCE_DIR@; - - // Default to O3 for all contexts - Args.push_back("-O3"); -@@ -1059,9 +1058,7 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { - Args.push_back("-nogpuinc"); - Args.push_back("--offload-device-only"); - Args.push_back("-isystem"); -- Args.push_back(ROCMIncludePath.c_str()); -- Args.push_back("-isystem"); -- Args.push_back(HIPIncludePath.c_str()); -+ Args.push_back(ClangIncludePath.c_str()); - break; - default: - return AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT; ---- a/src/comgr-compiler.h -+++ b/src/comgr-compiler.h -@@ -95,12 +95,7 @@ class AMDGPUCompiler { - /// User supplied target GPU Arch. - std::string GPUArch; - std::string OffloadArch; -- /// ROCM include Path -- std::string ROCMIncludePath; -- /// HIP and Clang Include Paths -- std::string HIPIncludePath; - std::string ClangIncludePath; -- std::string ClangIncludePath2; - /// Perform out-of-process compilation. - bool CompileOOP = false; - /// Precompiled header file paths. diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-llvm-19-compat.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-llvm-19-compat.patch deleted file mode 100644 index e910b8ade94c..000000000000 --- a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.0-llvm-19-compat.patch +++ /dev/null @@ -1,65 +0,0 @@ -Combination of upstream patches to make comgr compatible with LLVM 19 -https://github.com/ROCm/llvm-project/commit/91c18ff3482abdf90239e9b482797403f6e7e9bc -https://github.com/ROCm/llvm-project/commit/971fd662887f21877d29f936c2f818eac37589d3 -https://github.com/ROCm/llvm-project/commit/7a784d7acfd7dadfa8516054adfbe7c884e70786 -https://github.com/ROCm/llvm-project/commit/1fb58bcb4868087ed314e2f5e7363d871d69f4da ---- a/src/comgr-compiler.cpp -+++ b/src/comgr-compiler.cpp -@@ -384,15 +384,14 @@ static bool executeAssemblerImpl(AssemblerInvocation &Opts, - assert(MRI && "Unable to create target register info!"); - - llvm::MCTargetOptions MCOptions; -+ MCOptions.X86RelaxRelocations = Opts.RelaxELFRelocations; -+ MCOptions.CompressDebugSections = Opts.CompressDebugSections; - std::unique_ptr<MCAsmInfo> MAI( - TheTarget->createMCAsmInfo(*MRI, Opts.Triple, MCOptions)); - assert(MAI && "Unable to create target asm info!"); - - // Ensure MCAsmInfo initialization occurs before any use, otherwise sections - // may be created with a combination of default and explicit settings. -- MAI->setCompressDebugSections(Opts.CompressDebugSections); -- -- MAI->setRelaxELFRelocations(Opts.RelaxELFRelocations); - - bool IsBinary = Opts.OutputType == AssemblerInvocation::FT_Obj; - std::unique_ptr<raw_fd_ostream> FDOS = getOutputStream(Opts, Diags, IsBinary); -@@ -428,9 +427,6 @@ static bool executeAssemblerImpl(AssemblerInvocation &Opts, - } - - MOFI->initMCObjectFileInfo(Ctx, PIC); -- if (Opts.SaveTemporaryLabels) { -- Ctx.setAllowTemporaryLabels(false); -- } - if (Opts.GenDwarfForAssembly) { - Ctx.setGenDwarfForAssembly(true); - } ---- a/src/comgr-symbol.cpp -+++ b/src/comgr-symbol.cpp -@@ -146,7 +146,7 @@ SymbolContext *SymbolHelper::createBinary(StringRef Ins, const char *Name, - return NULL; - } - StringRef SymName = *SymNameOrErr; -- if (SymName.equals(Sname)) { -+ if (SymName == Sname) { - #if DEBUG - outs() << "Found! " << sname.data() << "\n"; - #endif ---- a/src/comgr.cpp -+++ b/src/comgr.cpp -@@ -51,6 +51,7 @@ - #include "llvm/Object/ObjectFile.h" - #include "llvm/Support/TargetSelect.h" - #include "llvm/IR/Constants.h" -+#include "llvm/IR/Module.h" - #include <fstream> - #include <mutex> - #include <string> -@@ -2126,7 +2127,7 @@ amd_comgr_populate_name_expression_map(amd_comgr_data_t Data, - } - StringRef SecName = std::move(SecNameOrError.get()); - -- if (SecName.equals(StringRef(".rodata"))) -+ if (SecName == StringRef(".rodata")) - rodataShdr = Shdr; - } - } diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch deleted file mode 100644 index 14b1d12148f7..000000000000 --- a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: comgr/src/comgr-env.cpp -=================================================================== ---- comgr.orig/src/comgr-env.cpp -+++ comgr/src/comgr-env.cpp -@@ -269,6 +269,9 @@ InstallationDetector *getDetectorImpl() - if (EnvROCMPath) { - ROCmInstallPath = EnvROCMPath; - } -+ else { -+ ROCmInstallPath = "@GENTOO_PORTAGE_EPREFIX@/usr"; -+ } - - InstallationDetector *Detector; - if (ROCmInstallPath == "") { diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-bypass-device-libs-copy.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-bypass-device-libs-copy.patch deleted file mode 100644 index 09b4160ba6d7..000000000000 --- a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-bypass-device-libs-copy.patch +++ /dev/null @@ -1,44 +0,0 @@ -comgr does unnecessary heavy-lifting trying to fill `--rocm-path=` with something. -However default value is already good, and custom code searches clang in a wrong directory. ---- a/src/comgr-compiler.cpp -+++ b/src/comgr-compiler.cpp -@@ -1060,39 +1060,6 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { - amd_comgr_status_t AMDGPUCompiler::addDeviceLibraries() { - - NoGpuLib = false; -- -- SmallString<256> ClangBinaryPath(env::getLLVMPath()); -- sys::path::append(ClangBinaryPath, "bin", "clang"); -- -- std::string ClangResourceDir = Driver::GetResourcesPath(ClangBinaryPath); -- -- SmallString<256> DeviceLibPath(ClangResourceDir); -- sys::path::append(DeviceLibPath, "lib"); -- -- SmallString<256> DeviceCodeDir(DeviceLibPath); -- sys::path::append(DeviceCodeDir, "amdgcn", "bitcode"); -- -- if (llvm::sys::fs::exists(DeviceCodeDir)) { -- Args.push_back(Saver.save(Twine("--rocm-path=") + DeviceLibPath).data()); -- } else { -- llvm::SmallString<128> FakeRocmDir = TmpDir; -- path::append(FakeRocmDir, "rocm"); -- llvm::SmallString<128> DeviceLibsDir = FakeRocmDir; -- path::append(DeviceLibsDir, "amdgcn", "bitcode"); -- if (fs::create_directory(InputDir)) { -- return AMD_COMGR_STATUS_ERROR; -- } -- Args.push_back(Saver.save(Twine("--rocm-path=") + FakeRocmDir).data()); -- -- for (auto DeviceLib : getDeviceLibraries()) { -- llvm::SmallString<128> DeviceLibPath = DeviceLibsDir; -- path::append(DeviceLibPath, std::get<0>(DeviceLib)); -- if (auto Status = outputToFile(std::get<1>(DeviceLib), DeviceLibPath)) { -- return Status; -- } -- } -- } -- - return AMD_COMGR_STATUS_SUCCESS; - } - diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-extend-isa-compatibility-check.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-extend-isa-compatibility-check.patch deleted file mode 100644 index eddc8b112c08..000000000000 --- a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-extend-isa-compatibility-check.patch +++ /dev/null @@ -1,204 +0,0 @@ -Load kernels when compatible by ISA, e. g. if AMDGPU_TARGETS is set -to gfx1030 and some application was started on gfx1036, it loads gfx1030 kernel. - -Based on Debian patch by Cordell Bloor <cgmb@slerp.xyz> -https://salsa.debian.org/rocm-team/rocm-hipamd/-/blob/master/debian/patches/0026-extend-hip-isa-compatibility-check.patch ---- a/src/comgr-metadata.cpp -+++ b/src/comgr-metadata.cpp -@@ -927,23 +927,86 @@ constexpr size_t OffloadBundleMagicLen = - strLiteralLength(ClangOffloadBundlerMagic); - } // namespace - --bool isCompatibleIsaName(StringRef IsaName, StringRef CodeObjectIsaName) { -+struct GfxPattern { -+ std::string root; -+ std::string suffixes; -+}; -+ -+static bool matches(const GfxPattern& p, StringRef s) { -+ if (p.root.size() + 1 != s.size()) { -+ return false; -+ } -+ if (0 != std::memcmp(p.root.data(), s.data(), p.root.size())) { -+ return false; -+ } -+ return p.suffixes.find(s[p.root.size()]) != std::string::npos; -+} -+ -+static bool isGfx900EquivalentProcessor(StringRef processor) { -+ return matches(GfxPattern{"gfx90", "029c"}, processor); -+} -+ -+static bool isGfx900SupersetProcessor(StringRef processor) { -+ return matches(GfxPattern{"gfx90", "0269c"}, processor); -+} -+ -+static bool isGfx1030EquivalentProcessor(StringRef processor) { -+ return matches(GfxPattern{"gfx103", "0123456"}, processor); -+} -+ -+static bool isGfx1010EquivalentProcessor(StringRef processor) { -+ return matches(GfxPattern{"gfx101", "0"}, processor); -+} -+ -+static bool isGfx1010SupersetProcessor(StringRef processor) { -+ return matches(GfxPattern{"gfx101", "0123"}, processor); -+} -+ -+enum CompatibilityScore { -+ CS_EXACT_MATCH = 1 << 4, -+ CS_PROCESSOR_MATCH = 1 << 3, -+ CS_PROCESSOR_COMPATIBLE = 1 << 2, -+ CS_XNACK_SPECIALIZED = 1 << 1, -+ CS_SRAM_ECC_SPECIALIZED = 1 << 0, -+ CS_INCOMPATIBLE = 0, -+}; -+ -+static int getProcessorCompatibilityScore(StringRef CodeObjectProcessor, -+ StringRef AgentProcessor) { -+ if (CodeObjectProcessor == AgentProcessor) { -+ return CS_PROCESSOR_MATCH; -+ } -+ -+ bool compatible = false; -+ if (isGfx900SupersetProcessor(AgentProcessor)) { -+ compatible = isGfx900EquivalentProcessor(CodeObjectProcessor); -+ } else if (isGfx1010SupersetProcessor(AgentProcessor)) { -+ compatible = isGfx1010EquivalentProcessor(CodeObjectProcessor); -+ } else if (isGfx1030EquivalentProcessor(AgentProcessor)) { -+ compatible = isGfx1030EquivalentProcessor(CodeObjectProcessor); -+ } -+ -+ return compatible ? CS_PROCESSOR_COMPATIBLE : CS_INCOMPATIBLE; -+} -+ -+static int getCompatiblityScore(StringRef IsaName, StringRef CodeObjectIsaName) { - if (IsaName == CodeObjectIsaName) { -- return true; -+ return CS_EXACT_MATCH; - } - - TargetIdentifier CodeObjectIdent; - if (parseTargetIdentifier(CodeObjectIsaName, CodeObjectIdent)) { -- return false; -+ return CS_INCOMPATIBLE; - } - - TargetIdentifier IsaIdent; - if (parseTargetIdentifier(IsaName, IsaIdent)) { -- return false; -+ return CS_INCOMPATIBLE; - } - -- if (CodeObjectIdent.Processor != IsaIdent.Processor) { -- return false; -+ int ProcessorScore = getProcessorCompatibilityScore(CodeObjectIdent.Processor, IsaIdent.Processor); -+ if (ProcessorScore == CS_INCOMPATIBLE) { -+ return CS_INCOMPATIBLE; - } - - char CodeObjectXnack = ' ', CodeObjectSramecc = ' '; -@@ -967,18 +1030,23 @@ bool isCompatibleIsaName(StringRef IsaName, StringRef CodeObjectIsaName) { - } - } - -+ int XnackBonus = 0; - if (CodeObjectXnack != ' ') { - if (CodeObjectXnack != IsaXnack) { -- return false; -+ return CS_INCOMPATIBLE; - } -+ XnackBonus = CS_XNACK_SPECIALIZED; - } - -+ int SrameccBonus = 0; - if (CodeObjectSramecc != ' ') { - if (CodeObjectSramecc != IsaSramecc) { -- return false; -+ return CS_INCOMPATIBLE; - } -+ SrameccBonus = CS_SRAM_ECC_SPECIALIZED; - } -- return true; -+ -+ return ProcessorScore + XnackBonus + SrameccBonus; - } - - amd_comgr_status_t -@@ -996,14 +1064,21 @@ lookUpCodeObjectInSharedObject(DataObject *DataP, - return Status; - } - -+ int MaxScore = 0; -+ unsigned MaxScoreItem; - for (unsigned J = 0; J < QueryListSize; J++) { -- if (isCompatibleIsaName(QueryList[J].isa, IsaName)) { -- QueryList[J].offset = 0; -- QueryList[J].size = DataP->Size; -- break; -+ int Score = getCompatiblityScore(QueryList[J].isa, IsaName); -+ if (Score > MaxScore) { -+ MaxScore = Score; -+ MaxScoreItem = J; - } - } - -+ if (MaxScore) { -+ QueryList[MaxScoreItem].offset = 0; -+ QueryList[MaxScoreItem].size = DataP->Size; -+ } -+ - return AMD_COMGR_STATUS_SUCCESS; - } - -@@ -1015,7 +1090,6 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP, - return lookUpCodeObjectInSharedObject(DataP, QueryList, QueryListSize); - } - -- int Seen = 0; - BinaryStreamReader Reader(StringRef(DataP->Data, DataP->Size), - llvm::endianness::little); - -@@ -1041,6 +1115,8 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP, - QueryList[I].size = 0; - } - -+ std::vector<int> QueryListScores(QueryListSize); -+ - // For each code object, extract BundleEntryID information, and check that - // against each ISA in the QueryList - for (uint64_t I = 0; I < NumOfCodeObjects; I++) { -@@ -1073,28 +1149,22 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP, - } - - for (unsigned J = 0; J < QueryListSize; J++) { -- // If this QueryList item has already been found to be compatible with -+ // If this QueryList item has exact match with - // another BundleEntryID, no need to check against the current - // BundleEntryID -- if (QueryList[J].size != 0) { -+ if (QueryListScores[J] == CS_EXACT_MATCH) { - continue; - } - - // If the QueryList Isa is compatible with the BundleEntryID, set the - // QueryList offset/size to this BundleEntryID -- if (isCompatibleIsaName(QueryList[J].isa, OffloadAndTargetId.second)) { -+ int Score = getCompatiblityScore(QueryList[J].isa, OffloadAndTargetId.second); -+ if (Score > QueryListScores[J]) { -+ QueryListScores[J] = Score; - QueryList[J].offset = BundleEntryCodeObjectOffset; - QueryList[J].size = BundleEntryCodeObjectSize; -- Seen++; -- break; - } - } -- -- // Stop iterating over BundleEntryIDs once we have populated the entire -- // QueryList -- if (Seen == (int)QueryListSize) { -- break; -- } - } - - return AMD_COMGR_STATUS_SUCCESS; diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-fix-comgr-default-flags.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-fix-comgr-default-flags.patch deleted file mode 100644 index 4bfd6ab6cec5..000000000000 --- a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-fix-comgr-default-flags.patch +++ /dev/null @@ -1,42 +0,0 @@ -Remove HIP/ROCM includes ("-isystem /usr/include"), as they break inclusion of <math.h>. -Add inclusion of Clang resource dir (e.g. /usr/lib/clang/20), as it is used in hip runtime like that. ---- a/src/comgr-compiler.cpp -+++ b/src/comgr-compiler.cpp -@@ -1015,9 +1015,8 @@ AMDGPUCompiler::addTargetIdentifierFlags(llvm::StringRef IdentStr, - } - - amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { -- HIPIncludePath = (Twine(env::getHIPPath()) + "/include").str(); -- // HIP headers depend on hsa.h which is in ROCM_DIR/include. -- ROCMIncludePath = (Twine(env::getROCMPath()) + "/include").str(); -+ // Allow to include <include/cuda_wrappers/algorithm> (used in some hip files) -+ ClangIncludePath = @CLANG_RESOURCE_DIR@; - - // Default to O3 for all contexts - Args.push_back("-O3"); -@@ -1043,9 +1042,7 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() { - Args.push_back("-nogpuinc"); - Args.push_back("--offload-device-only"); - Args.push_back("-isystem"); -- Args.push_back(ROCMIncludePath.c_str()); -- Args.push_back("-isystem"); -- Args.push_back(HIPIncludePath.c_str()); -+ Args.push_back(ClangIncludePath.c_str()); - // Pass a cuid that depends on the input files - // Otherwise, a random (which depends on the /tmp/comgr-xxxxx path) cuid is - // generated which causes a cache miss on every run. ---- a/src/comgr-compiler.h -+++ b/src/comgr-compiler.h -@@ -52,12 +52,7 @@ class AMDGPUCompiler { - DataAction *ActionInfo; - DataSet *InSet; - amd_comgr_data_set_t OutSetT; -- /// ROCM include Path -- std::string ROCMIncludePath; -- /// HIP and Clang Include Paths -- std::string HIPIncludePath; - std::string ClangIncludePath; -- std::string ClangIncludePath2; - /// Precompiled header file paths. - llvm::SmallVector<llvm::SmallString<128>, 2> PrecompiledHeaders; - /// Arguments common to all driver invocations in the current action. diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-llvm-20-compat.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-llvm-20-compat.patch deleted file mode 100644 index 412332920c10..000000000000 --- a/dev-libs/rocm-comgr/files/rocm-comgr-6.4.1-llvm-20-compat.patch +++ /dev/null @@ -1,71 +0,0 @@ ---- a/src/comgr-cache-bundler-command.cpp -+++ b/src/comgr-cache-bundler-command.cpp -@@ -155,7 +155,8 @@ void UnbundleCommand::addOptionsIdentifier(HashAlgorithm &H) const { - Error UnbundleCommand::addInputIdentifier(HashAlgorithm &H) const { - StringRef InputFilename = Config.InputFileNames.front(); - -- constexpr size_t LargestHeaderSize = CompressedOffloadBundle::V2HeaderSize; -+ constexpr size_t LargestHeaderSize = 4 + sizeof(uint16_t) + sizeof(uint32_t) + sizeof(uint16_t) + -+ sizeof(uint32_t) + sizeof(uint64_t); - - ErrorOr<std::unique_ptr<MemoryBuffer>> MaybeInputBuffer = - MemoryBuffer::getFileSlice(InputFilename, LargestHeaderSize, 0); ---- a/src/comgr-cache.cpp -+++ b/src/comgr-cache.cpp -@@ -130,7 +130,6 @@ void saveCommandOutput(CachedCommandAdaptor &C, AddStreamFn &AddStream, - - CachedFileStream *CFS = FileOrErr->get(); - serializeCacheEntry(*CFS->OS, *Buffer, CapturedLogS); -- ErrorHandler(CFS->commit(), "when commiting file stream"); - } - - bool readEntryFromCache(CachedCommandAdaptor &C, MemoryBuffer &CachedBuffer, ---- a/src/comgr-compiler.cpp -+++ b/src/comgr-compiler.cpp -@@ -680,7 +680,7 @@ amd_comgr_status_t executeCommand(const Command &Job, raw_ostream &LogS, - // Internally this call refers to the invocation created above, so at - // this point the DiagnosticsEngine should accurately reflect all user - // requested configuration from Argv. -- Clang->createDiagnostics(&DiagClient, /* ShouldOwnClient */ false); -+ Clang->createDiagnostics(*llvm::vfs::getRealFileSystem(), &DiagClient, /* ShouldOwnClient */ false); - if (!Clang->hasDiagnostics()) { - return AMD_COMGR_STATUS_ERROR; - } -@@ -753,7 +753,7 @@ AMDGPUCompiler::executeInProcessDriver(ArrayRef<const char *> Args) { - IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs); - DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagClient); - -- ProcessWarningOptions(Diags, *DiagOpts, /*ReportDiags=*/false); -+ ProcessWarningOptions(Diags, *DiagOpts, *llvm::vfs::getRealFileSystem(), /*ReportDiags=*/false); - - Driver TheDriver((Twine(env::getLLVMPath()) + "/bin/clang").str(), - llvm::sys::getDefaultTargetTriple(), Diags); ---- a/test/compile_log_test.c -+++ b/test/compile_log_test.c -@@ -230,7 +230,7 @@ int main(int argc, char *argv[]) { - - Status = amd_comgr_do_action(AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_EXECUTABLE, - DataAction, DataSetReloc, DataSetOut); -- checkLogs("LINK_RELOCATABLE_TO_EXECUTABLE", DataSetOut, "unexpected EOF"); -+ checkLogs("LINK_RELOCATABLE_TO_EXECUTABLE", DataSetOut, "unknown directive"); - - Status = - amd_comgr_action_data_count(DataSetOut, AMD_COMGR_DATA_KIND_LOG, &Count); ---- a/test/unbundle_hip_test.c -+++ b/test/unbundle_hip_test.c -@@ -182,10 +182,11 @@ int main(int Argc, char *Argv[]) { - Status = amd_comgr_release_data(DataElement); - checkError(Status, "amd_comgr_release_data"); - -- if (!BytesSize) { -- printf("Bitcode host empty (expected non-empty)\n"); -- exit(1); -- } -+ // TODO: Re-enable after finalizing LLVM PR #122629 -+ // if (BytesSize != 0) { -+ // printf("Bitcode host element size: %ld (expected 0)\n", BytesSize); -+ // exit(1); -+ // } - - // bitcode hip-gfx900 element (non-empty) - Status = amd_comgr_action_data_get_data( diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-7.0.1-llvm-20-compat.patch b/dev-libs/rocm-comgr/files/rocm-comgr-7.0.1-llvm-20-compat.patch deleted file mode 100644 index 2acd29e54f2d..000000000000 --- a/dev-libs/rocm-comgr/files/rocm-comgr-7.0.1-llvm-20-compat.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/src/comgr-cache.cpp -+++ b/src/comgr-cache.cpp -@@ -130,7 +130,6 @@ void saveCommandOutput(CachedCommandAdaptor &C, AddStreamFn &AddStream, - - CachedFileStream *CFS = FileOrErr->get(); - serializeCacheEntry(*CFS->OS, *Buffer, CapturedLogS); -- ErrorHandler(CFS->commit(), "when commiting file stream"); - } - - bool readEntryFromCache(CachedCommandAdaptor &C, MemoryBuffer &CachedBuffer, ---- a/src/comgr-cache-bundler-command.cpp -+++ b/src/comgr-cache-bundler-command.cpp -@@ -155,7 +155,8 @@ void UnbundleCommand::addOptionsIdentifier(HashAlgorithm &H) const { - Error UnbundleCommand::addInputIdentifier(HashAlgorithm &H) const { - StringRef InputFilename = Config.InputFileNames.front(); - -- constexpr size_t LargestHeaderSize = CompressedOffloadBundle::V3HeaderSize; -+ constexpr size_t LargestHeaderSize = 4 + sizeof(uint16_t) + sizeof(uint32_t) + sizeof(uint16_t) + -+ sizeof(uint32_t) + sizeof(uint64_t); - - ErrorOr<std::unique_ptr<MemoryBuffer>> MaybeInputBuffer = - MemoryBuffer::getFileSlice(InputFilename, LargestHeaderSize, 0); diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-7.2.0-llvm-22-compat.patch b/dev-libs/rocm-comgr/files/rocm-comgr-7.2.0-llvm-22-compat.patch deleted file mode 100644 index f378f81639e5..000000000000 --- a/dev-libs/rocm-comgr/files/rocm-comgr-7.2.0-llvm-22-compat.patch +++ /dev/null @@ -1,23 +0,0 @@ -LLVM-22 compatibility fixes. -Partially backports https://github.com/ROCm/llvm-project/commit/0216fcfc5d2a4f3384873f6e9ac70198760d5a52 ---- a/src/comgr-compiler.cpp -+++ b/src/comgr-compiler.cpp -@@ -659,7 +659,7 @@ amd_comgr_status_t executeCommand(const Command &Job, raw_ostream &LogS, - - std::unique_ptr<CompilerInstance> Clang(new CompilerInstance()); - Clang->setVerboseOutputStream(LogS); -- Clang->setFileManager(new FileManager(Clang->getFileSystemOpts(), &FS)); -+ Clang->setVirtualFileSystem(&FS); - if (!Argv.back()) { - Argv.pop_back(); - } -@@ -909,8 +909,7 @@ amd_comgr_status_t AMDGPUCompiler::processFile(DataObject *Input, - } - - // By default clang driver will ask CC1 to leak memory. -- Argv.push_back("-Xclang"); -- Argv.push_back("-no-disable-free"); -+ Argv.push_back("-disable-free=false"); - - Argv.push_back(InputFilePath); - diff --git a/dev-libs/rocm-comgr/metadata.xml b/dev-libs/rocm-comgr/metadata.xml deleted file mode 100644 index a5cc0c467974..000000000000 --- a/dev-libs/rocm-comgr/metadata.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person" proxied="yes"> - <email>lockalsash@gmail.com</email> - <name>Sv. Lockal</name> - <description>Primary maintainer</description> - </maintainer> - <maintainer type="person" proxied="yes"> - <email>xgreenlandforwyy@gmail.com</email> - <name>Yiyang Wu</name> - </maintainer> - <maintainer type="person" proxied="yes"> - <email>negril.nx+gentoo@gmail.com</email> - <name>Paul Zander</name> - <description>General GPGPU stuff</description> - </maintainer> - <maintainer type="project" proxied="proxy"> - <email>sci@gentoo.org</email> - <name>Gentoo Science Project</name> - </maintainer> - <upstream> - <remote-id type="github">ROCm/ROCm-CompilerSupport</remote-id> - </upstream> -</pkgmetadata> diff --git a/dev-libs/rocm-comgr/rocm-comgr-6.3.3.ebuild b/dev-libs/rocm-comgr/rocm-comgr-6.3.3.ebuild deleted file mode 100644 index 86ddc9879074..000000000000 --- a/dev-libs/rocm-comgr/rocm-comgr-6.3.3.ebuild +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( 19 ) - -inherit cmake llvm-r1 prefix - -MY_P=llvm-project-rocm-${PV} -components=( "amd/comgr" ) - -DESCRIPTION="Radeon Open Compute Code Object Manager" -HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr" -SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}/${components[0]}" - -LICENSE="MIT" -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64" - -IUSE="test" -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}/${PN}-5.1.3-rocm-path.patch" - "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch" - "${FILESDIR}/${PN}-6.0.0-extend-isa-compatibility-check.patch" - "${FILESDIR}/${PN}-6.3.0-fix-comgr-default-flags.patch" - "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch" - "${FILESDIR}/${PN}-6.3.0-llvm-19-compat.patch" - "${FILESDIR}/${PN}-6.3.0-bypass-device-libs-copy.patch" -) - -RDEPEND=" - dev-libs/rocm-device-libs:${SLOT} - llvm-runtimes/clang-runtime:= - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT}= - llvm-core/lld:${LLVM_SLOT}= - ') - dev-util/hipcc:${SLOT} -" -DEPEND="${RDEPEND}" - -CMAKE_BUILD_TYPE=Release - -src_unpack() { - if [[ ${PV} == *9999 ]] ; then - git-r3_fetch - git-r3_checkout '' . '' "${components[@]}" - else - archive="${MY_P}.tar.gz" - ebegin "Unpacking from ${archive}" - tar -x -z -o \ - -f "${DISTDIR}/${archive}" \ - "${components[@]/#/${MY_P}/}" || die - eend ${?} - fi -} - -src_prepare() { - sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die - sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die - eapply $(prefixify_ro "${FILESDIR}"/${PN}-6.3.2-rocm_path.patch) - - cmake_src_prepare - - # Replace @CLANG_RESOURCE_DIR@ in patches - local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)" - sed "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," -i src/comgr-compiler.cpp || die -} - -src_configure() { - local mycmakeargs=( - -DLLVM_DIR="$(get_llvm_prefix)" - -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58 - -DBUILD_TESTING=$(usex test ON OFF) - ) - # Prevent CMake from finding systemwide hip, which breaks tests - use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON ) - cmake_src_configure -} - -src_test() { - local CMAKE_SKIP_TESTS=( - comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35 - ) - cmake_src_test -} diff --git a/dev-libs/rocm-comgr/rocm-comgr-6.4.3.ebuild b/dev-libs/rocm-comgr/rocm-comgr-6.4.3.ebuild deleted file mode 100644 index e6da9e2c4f50..000000000000 --- a/dev-libs/rocm-comgr/rocm-comgr-6.4.3.ebuild +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( 20 ) - -inherit cmake llvm-r1 prefix - -MY_P=llvm-project-rocm-${PV} -components=( "amd/comgr" ) - -DESCRIPTION="Radeon Open Compute Code Object Manager" -HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr" -SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}/${components[0]}" - -LICENSE="MIT" -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64" - -IUSE="test" -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}/${PN}-5.1.3-rocm-path.patch" - "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch" - "${FILESDIR}/${PN}-6.4.1-extend-isa-compatibility-check.patch" - "${FILESDIR}/${PN}-6.4.1-fix-comgr-default-flags.patch" - "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch" - "${FILESDIR}/${PN}-6.4.1-bypass-device-libs-copy.patch" - "${FILESDIR}/${PN}-6.4.1-llvm-20-compat.patch" -) - -RDEPEND=" - dev-libs/rocm-device-libs:${SLOT} - llvm-runtimes/clang-runtime:= - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT}= - llvm-core/lld:${LLVM_SLOT}= - ') - dev-util/hipcc:${SLOT} -" -DEPEND="${RDEPEND}" - -# Circular dependency: to build tests, hip compiler must be functional -BDEPEND="test? ( dev-util/hip:${SLOT} )" - -CMAKE_BUILD_TYPE=Release - -src_unpack() { - if [[ ${PV} == *9999 ]] ; then - git-r3_fetch - git-r3_checkout '' . '' "${components[@]}" - else - archive="${MY_P}.tar.gz" - ebegin "Unpacking from ${archive}" - tar -x -z -o \ - -f "${DISTDIR}/${archive}" \ - "${components[@]/#/${MY_P}/}" || die - eend ${?} - fi -} - -src_prepare() { - sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die - sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die - eapply $(prefixify_ro "${FILESDIR}"/${PN}-6.3.2-rocm_path.patch) - - cmake_src_prepare - - # Replace @CLANG_RESOURCE_DIR@ in patches - local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)" - sed "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," -i src/comgr-compiler.cpp || die -} - -src_configure() { - llvm_prepend_path "${LLVM_SLOT}" - - local mycmakeargs=( - -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58 - -DBUILD_TESTING=$(usex test ON OFF) - -DCOMGR_DISABLE_SPIRV=ON # requires ROCm/SPIRV-LLVM-Translator (fork of dev-util/spirv-llvm-translator) - ) - # Prevent CMake from finding systemwide hip, which breaks tests - use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON ) - cmake_src_configure -} - -src_test() { - local CMAKE_SKIP_TESTS=( - comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35 - ) - cmake_src_test -} diff --git a/dev-libs/rocm-comgr/rocm-comgr-7.0.2.ebuild b/dev-libs/rocm-comgr/rocm-comgr-7.0.2.ebuild deleted file mode 100644 index e428cc3018dc..000000000000 --- a/dev-libs/rocm-comgr/rocm-comgr-7.0.2.ebuild +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( 20 ) - -inherit cmake llvm-r1 - -MY_P=llvm-project-rocm-${PV} -components=( "amd/comgr" ) - -DESCRIPTION="Radeon Open Compute Code Object Manager" -HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr" -SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}/${components[0]}" - -LICENSE="MIT" -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64" - -IUSE="test" -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch" - "${FILESDIR}/${PN}-6.4.1-extend-isa-compatibility-check.patch" - "${FILESDIR}/${PN}-6.4.1-fix-comgr-default-flags.patch" - "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch" - "${FILESDIR}/${PN}-7.0.1-llvm-20-compat.patch" -) - -RDEPEND=" - dev-libs/rocm-device-libs:${SLOT} - llvm-runtimes/clang-runtime:= - $(llvm_gen_dep " - llvm-core/clang:\${LLVM_SLOT}= - llvm-core/lld:\${LLVM_SLOT}= - ") - dev-util/hipcc:${SLOT} -" -DEPEND="${RDEPEND}" - -# Circular dependency: to build tests, hip compiler must be functional -BDEPEND="test? ( dev-util/hip:${SLOT} )" - -CMAKE_BUILD_TYPE=Release - -src_unpack() { - if [[ ${PV} == *9999 ]] ; then - git-r3_fetch - git-r3_checkout '' . '' "${components[@]}" - else - archive="${MY_P}.tar.gz" - ebegin "Unpacking from ${archive}" - tar -x -z -o \ - -f "${DISTDIR}/${archive}" \ - "${components[@]/#/${MY_P}/}" || die - eend ${?} - fi -} - -src_prepare() { - sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die - sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die - - cmake_src_prepare - - # Replace @CLANG_RESOURCE_DIR@ in patches - local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)" - sed -e "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," \ - -e "s/\"lib\"/\"$(get_libdir)\"/" \ - -i src/comgr-compiler.cpp || die -} - -src_configure() { - llvm_prepend_path "${LLVM_SLOT}" - - local mycmakeargs=( - -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58 - -DBUILD_TESTING=$(usex test ON OFF) - -DCOMGR_DISABLE_SPIRV=ON # requires ROCm/SPIRV-LLVM-Translator (fork of dev-util/spirv-llvm-translator) - ) - # Prevent CMake from finding systemwide hip, which breaks tests - use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON ) - cmake_src_configure -} - -src_test() { - local CMAKE_SKIP_TESTS=( - comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35 - ) - cmake_src_tesRt -} diff --git a/dev-libs/rocm-comgr/rocm-comgr-7.1.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-7.1.0.ebuild deleted file mode 100644 index e428cc3018dc..000000000000 --- a/dev-libs/rocm-comgr/rocm-comgr-7.1.0.ebuild +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( 20 ) - -inherit cmake llvm-r1 - -MY_P=llvm-project-rocm-${PV} -components=( "amd/comgr" ) - -DESCRIPTION="Radeon Open Compute Code Object Manager" -HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr" -SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}/${components[0]}" - -LICENSE="MIT" -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64" - -IUSE="test" -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch" - "${FILESDIR}/${PN}-6.4.1-extend-isa-compatibility-check.patch" - "${FILESDIR}/${PN}-6.4.1-fix-comgr-default-flags.patch" - "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch" - "${FILESDIR}/${PN}-7.0.1-llvm-20-compat.patch" -) - -RDEPEND=" - dev-libs/rocm-device-libs:${SLOT} - llvm-runtimes/clang-runtime:= - $(llvm_gen_dep " - llvm-core/clang:\${LLVM_SLOT}= - llvm-core/lld:\${LLVM_SLOT}= - ") - dev-util/hipcc:${SLOT} -" -DEPEND="${RDEPEND}" - -# Circular dependency: to build tests, hip compiler must be functional -BDEPEND="test? ( dev-util/hip:${SLOT} )" - -CMAKE_BUILD_TYPE=Release - -src_unpack() { - if [[ ${PV} == *9999 ]] ; then - git-r3_fetch - git-r3_checkout '' . '' "${components[@]}" - else - archive="${MY_P}.tar.gz" - ebegin "Unpacking from ${archive}" - tar -x -z -o \ - -f "${DISTDIR}/${archive}" \ - "${components[@]/#/${MY_P}/}" || die - eend ${?} - fi -} - -src_prepare() { - sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die - sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die - - cmake_src_prepare - - # Replace @CLANG_RESOURCE_DIR@ in patches - local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)" - sed -e "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," \ - -e "s/\"lib\"/\"$(get_libdir)\"/" \ - -i src/comgr-compiler.cpp || die -} - -src_configure() { - llvm_prepend_path "${LLVM_SLOT}" - - local mycmakeargs=( - -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58 - -DBUILD_TESTING=$(usex test ON OFF) - -DCOMGR_DISABLE_SPIRV=ON # requires ROCm/SPIRV-LLVM-Translator (fork of dev-util/spirv-llvm-translator) - ) - # Prevent CMake from finding systemwide hip, which breaks tests - use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON ) - cmake_src_configure -} - -src_test() { - local CMAKE_SKIP_TESTS=( - comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35 - ) - cmake_src_tesRt -} diff --git a/dev-libs/rocm-comgr/rocm-comgr-7.2.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-7.2.0.ebuild deleted file mode 100644 index 4cff4ac7b26e..000000000000 --- a/dev-libs/rocm-comgr/rocm-comgr-7.2.0.ebuild +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( 22 ) - -inherit cmake llvm-r2 - -MY_P=llvm-project-rocm-${PV} -components=( "amd/comgr" ) - -DESCRIPTION="Radeon Open Compute Code Object Manager" -HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr" -SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}/${components[0]}" - -LICENSE="MIT" -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64" - -IUSE="test" -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}/${PN}-6.4.1-extend-isa-compatibility-check.patch" - "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch" - "${FILESDIR}/${PN}-7.2.0-llvm-22-compat.patch" -) - -RDEPEND=" - dev-libs/rocm-device-libs:${SLOT} - llvm-runtimes/clang-runtime:= - $(llvm_gen_dep " - llvm-core/clang:\${LLVM_SLOT}= - llvm-core/lld:\${LLVM_SLOT}= - llvm-core/llvm:\${LLVM_SLOT}= - ") - dev-util/hipcc:${SLOT} -" -DEPEND="${RDEPEND}" - -# Circular dependency: to build tests, hip compiler must be functional -BDEPEND="test? ( dev-util/hip:${SLOT} )" - -CMAKE_BUILD_TYPE=Release - -src_unpack() { - if [[ ${PV} == *9999 ]] ; then - git-r3_fetch - git-r3_checkout '' . '' "${components[@]}" - else - archive="${MY_P}.tar.gz" - ebegin "Unpacking from ${archive}" - tar -x -z -o \ - -f "${DISTDIR}/${archive}" \ - "${components[@]/#/${MY_P}/}" || die - eend ${?} - fi -} - -src_prepare() { - sed -e "s:\${CLANG_CMAKE_DIR}/../../../\*:${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/include:" \ - -i cmake/opencl_header.cmake || die - - # Backports for llvm-22 from amd-staging: - # https://github.com/ROCm/llvm-project/commit/ebcaa3d9226921c8761a5291526291e54611e4a4 - # https://github.com/ROCm/llvm-project/commit/ccb14ba83fd6bdc01423f71944b4676f740b97cc - sed -e "s:Driver/Options.h:Options/Options.h:" \ - -e "s/clang::driver::options/clang::options/" \ - -e "s/Driver::GetResourcesPath/GetResourcesPath/" \ - -i src/comgr-compiler.cpp || die - - cmake_src_prepare -} - -src_configure() { - llvm_prepend_path "${LLVM_SLOT}" - - local mycmakeargs=( - -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58 - -DBUILD_TESTING=$(usex test ON OFF) - -DCOMGR_DISABLE_SPIRV=ON # requires ROCm/SPIRV-LLVM-Translator (fork of dev-util/spirv-llvm-translator) - ) - # Prevent CMake from finding systemwide hip, which breaks tests - use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON ) - cmake_src_configure -} - -src_test() { - cmake_src_test -} |
