From 90271b9b759c296ebc9b51a4e750462942d48448 Mon Sep 17 00:00:00 2001
From: foreman
Date: Wed, 10 Apr 2019 22:15:35 -0400
Subject: [PATCH] P4 to Git Change 1768245 by wchau@wchau_OCL_Linux on
2019/04/10 22:01:33
SWDEV-165259 - Update OpenCL runtime to support MsgPack metadata
- Fixed the missing support of Printf for CO v3
- Added back the flag to disable CO v3 for the non-COMGR environment
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/devkernel.cpp#20 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/devprogram.cpp#40 edit
---
rocclr/runtime/device/devkernel.cpp | 3 ++-
rocclr/runtime/device/devprogram.cpp | 2 ++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/rocclr/runtime/device/devkernel.cpp b/rocclr/runtime/device/devkernel.cpp
index 761610a12e..ff3c8b4f31 100644
--- a/rocclr/runtime/device/devkernel.cpp
+++ b/rocclr/runtime/device/devkernel.cpp
@@ -1386,7 +1386,8 @@ bool Kernel::GetPrintfStr(const amd_comgr_metadata_node_t programMD,
amd_comgr_metadata_node_t printfMeta;
- amd_comgr_status_t status = amd::Comgr::metadata_lookup(programMD, "Printf", &printfMeta);
+ amd_comgr_status_t status = amd::Comgr::metadata_lookup(programMD,
+ codeObjectVer() == 2 ? "Printf" : "amdhsa.printf", &printfMeta);
if (status != AMD_COMGR_STATUS_SUCCESS) {
return true; // printf string metadata is not provided so just exit
}
diff --git a/rocclr/runtime/device/devprogram.cpp b/rocclr/runtime/device/devprogram.cpp
index f40ae71adb..47a6662e22 100644
--- a/rocclr/runtime/device/devprogram.cpp
+++ b/rocclr/runtime/device/devprogram.cpp
@@ -1760,6 +1760,8 @@ bool Program::linkImplLC(amd::option::Options* options) {
std::ostream_iterator(ostrstr, " "));
codegenOptions.append(" ").append(ostrstr.str());
+ // Force object code v2.
+ codegenOptions.append(" -mno-code-object-v3");
// Set whole program mode
codegenOptions.append(" -mllvm -amdgpu-internalize-symbols -mllvm -amdgpu-early-inline-all");