From c4fc6ea3ab68c522ab8cc9ff5d7ae8d75d87ac0a Mon Sep 17 00:00:00 2001 From: pghafari Date: Sat, 26 Nov 2022 05:38:25 -0500 Subject: [PATCH] SWDEV-369566, SWDEV-369565, SWDEV-369564 - match with cuda return Change-Id: I308f5344a64e5a06aa89685de9348f6722c196da [ROCm/clr commit: 698f52acd852ec2e929d4ec02adc768171d348b5] --- projects/clr/hipamd/src/hip_fatbin.cpp | 2 +- projects/clr/hipamd/src/hip_module.cpp | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/projects/clr/hipamd/src/hip_fatbin.cpp b/projects/clr/hipamd/src/hip_fatbin.cpp index 4ecb9b6cdc..bafc74362d 100644 --- a/projects/clr/hipamd/src/hip_fatbin.cpp +++ b/projects/clr/hipamd/src/hip_fatbin.cpp @@ -244,7 +244,7 @@ hipError_t FatBinaryInfo::ExtractFatBinary(const std::vector& devi return hipErrorFileNotFound; } if (fsize_ == 0) { - return hipErrorInvalidKernelFile; + return hipErrorInvalidImage; } // Extract the code object from file diff --git a/projects/clr/hipamd/src/hip_module.cpp b/projects/clr/hipamd/src/hip_module.cpp index 9609ce5a10..1602409c2c 100644 --- a/projects/clr/hipamd/src/hip_module.cpp +++ b/projects/clr/hipamd/src/hip_module.cpp @@ -53,7 +53,6 @@ hipError_t hipModuleLoad(hipModule_t* module, const char* fname) { hipError_t hipModuleLoadData(hipModule_t* module, const void* image) { HIP_INIT_API(hipModuleLoadData, module, image); - HIP_RETURN(PlatformState::instance().loadModule(module, 0, image)); } @@ -61,7 +60,6 @@ hipError_t hipModuleLoadDataEx(hipModule_t* module, const void* image, unsigned hipJitOption* options, void** optionsValues) { /* TODO: Pass options to Program */ HIP_INIT_API(hipModuleLoadDataEx, module, image); - HIP_RETURN(PlatformState::instance().loadModule(module, 0, image)); } @@ -72,9 +70,12 @@ extern hipError_t __hipExtractCodeObjectFromFatBinary( hipError_t hipModuleGetFunction(hipFunction_t* hfunc, hipModule_t hmod, const char* name) { HIP_INIT_API(hipModuleGetFunction, hfunc, hmod, name); - if (hfunc == nullptr || name == nullptr) { + if (hfunc == nullptr || name == nullptr || strlen(name) == 0) { HIP_RETURN(hipErrorInvalidValue); } + if (hmod == nullptr) { + HIP_RETURN(hipErrorInvalidResourceHandle); + } if (hipSuccess != PlatformState::instance().getDynFunc(hfunc, hmod, name)) { LogPrintfError("Cannot find the function: %s for module: 0x%x \n", name, hmod);