diff options
Diffstat (limited to 'dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests.patch')
-rw-r--r-- | dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests.patch new file mode 100644 index 000000000000..80f1f90dbe94 --- /dev/null +++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.1-fix-tests.patch @@ -0,0 +1,50 @@ +Vanilla LLVM does not support calling AMDGPU_KERNEL across different sources/bitcodes. +Without this patch https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/issues/45 occurs. +Reference: https://github.com/llvm/llvm-project/issues/60313 +=================================================================== +Index: comgr/test/source/source1.cl +=================================================================== +--- comgr.orig/test/source/source1.cl ++++ comgr/test/source/source1.cl +@@ -35,7 +35,9 @@ + + #include "include-a.h" + ++void kernel source3(__global int *j) { *j = FOO; } ++ + void kernel source1(__global int *j) { + *j += 2; +- source2(j); ++ source3(j); + } +Index: comgr/test/mangled_names_test.c +=================================================================== +--- comgr.orig/test/mangled_names_test.c ++++ comgr/test/mangled_names_test.c +@@ -162,7 +162,7 @@ int main(int argc, char *argv[]) { + exit(1); + } + +- const char *bcNames[] = {"source1", "source2"}; ++ const char *bcNames[] = {"source3", "source1"}; + + for (size_t I = 0; I < numNames; ++I) { + size_t Size; +@@ -249,14 +249,14 @@ int main(int argc, char *argv[]) { + + Status = amd_comgr_populate_mangled_names(DataExec, &numNames); + +- if (numNames != 4) { ++ if (numNames != 6) { + printf("amd_populate_mangled_names Failed: " +- "produced %zu executable names (expected 4)\n", ++ "produced %zu executable names (expected 6)\n", + Count); + exit(1); + } + +- const char *execNames[] = {"source1", "source1.kd", "source2", "source2.kd"}; ++ const char *execNames[] = {"source3", "source3.kd", "source1", "source1.kd", "source2", "source2.kd"}; + + for (size_t I = 0; I < numNames; ++I) { + size_t Size; |