P4 to Git Change 1366205 by kzhuravl@kzhuravl-fiji-cl-on-lc on 2017/01/25 18:04:35
SWDEV-94644 - Make sure we are processing metadata note entry with supported n_type. Update build log and fail for not supported metadata n_type. Use constants defined in AMDGPUPTNote.h
This change is needed for https://reviews.llvm.org/D29115
This change is required for CL 1366203
ReviewBoardURL: http://ocltc.amd.com/reviews/r/12223/
Testing: lightning conformance tests locally
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#31 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#54 edit
[ROCm/clr commit: 4ad12d089c]
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#include "hsa_ext_image.h"
|
||||
#include "amd_hsa_loader.hpp"
|
||||
#if defined(WITH_LIGHTNING_COMPILER)
|
||||
#include "AMDGPUPTNote.h"
|
||||
#include "AMDGPURuntimeMetadata.h"
|
||||
#include "driver/AmdCompiler.h"
|
||||
#include "libraries.amdgcn.inc"
|
||||
@@ -1603,9 +1604,14 @@ LightningProgram::setKernels(
|
||||
address name = (address) ¬e[1];
|
||||
address desc = name + amd::alignUp(note->n_namesz, sizeof(int));
|
||||
|
||||
if (note->n_type == 7 /*NT_AMDGPU_HSA_RUNTIME_METADATA_1_0*/
|
||||
&& note->n_namesz == sizeof "AMD"
|
||||
&& !memcmp(name, "AMD", note->n_namesz)) {
|
||||
if (note->n_type == AMDGPU::PT_NOTE::NT_AMDGPU_HSA_RUNTIME_METADATA_V_1) {
|
||||
buildLog_ += "Error: object code with metadata v1 is not " \
|
||||
"supported\n";
|
||||
return false;
|
||||
}
|
||||
else if (note->n_type == AMDGPU::PT_NOTE::NT_AMDGPU_HSA_RUNTIME_METADATA
|
||||
&& note->n_namesz == sizeof AMDGPU::PT_NOTE::NoteName
|
||||
&& !memcmp(name, AMDGPU::PT_NOTE::NoteName, note->n_namesz)) {
|
||||
std::string metadataStr((const char *) desc, (size_t) note->n_descsz);
|
||||
metadata_ = new AMDGPU::RuntimeMD::Program::Metadata(metadataStr);
|
||||
// We've found and loaded the runtime metadata, exit the
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "compiler/lib/utils/options.hpp"
|
||||
#include "rockernel.hpp"
|
||||
#if defined(WITH_LIGHTNING_COMPILER)
|
||||
#include "AMDGPUPTNote.h"
|
||||
#include "libelf/gelf.h"
|
||||
#include "driver/AmdCompiler.h"
|
||||
#include "libraries.amdgcn.inc"
|
||||
@@ -927,9 +928,14 @@ HSAILProgram::setKernels_LC(amd::option::Options *options, void* binary, size_t
|
||||
address name = (address) ¬e[1];
|
||||
address desc = name + amd::alignUp(note->n_namesz, sizeof(int));
|
||||
|
||||
if (note->n_type == 7 /*AMDGPU::PT_NOTE::NT_AMDGPU_HSA_RUNTIME_METADATA*/
|
||||
&& note->n_namesz == sizeof "AMD"
|
||||
&& !memcmp(name, "AMD", note->n_namesz)) {
|
||||
if (note->n_type == AMDGPU::PT_NOTE::NT_AMDGPU_HSA_RUNTIME_METADATA_V_1) {
|
||||
buildLog_ += "Error: object code with metadata v1 is not " \
|
||||
"supported\n";
|
||||
return false;
|
||||
}
|
||||
else if (note->n_type == AMDGPU::PT_NOTE::NT_AMDGPU_HSA_RUNTIME_METADATA
|
||||
&& note->n_namesz == sizeof AMDGPU::PT_NOTE::NoteName
|
||||
&& !memcmp(name, AMDGPU::PT_NOTE::NoteName, note->n_namesz)) {
|
||||
std::string metadataStr((const char *) desc, (size_t) note->n_descsz);
|
||||
metadata_ = new AMDGPU::RuntimeMD::Program::Metadata(metadataStr);
|
||||
// We've found and loaded the runtime metadata, exit the
|
||||
|
||||
Reference in New Issue
Block a user