diff --git a/hipamd/src/hip_code_object.cpp b/hipamd/src/hip_code_object.cpp index 2b834f3cc2..477e9a8113 100644 --- a/hipamd/src/hip_code_object.cpp +++ b/hipamd/src/hip_code_object.cpp @@ -1159,7 +1159,8 @@ hipError_t StatCO::getStatFuncAttr(hipFuncAttributes* func_attr, const void* hos hipError_t StatCO::registerStatGlobalVar(const void* hostVar, Var* var) { amd::ScopedLock lock(sclock_); - if (vars_.find(hostVar) != vars_.end()) { + auto var_it = vars_.find(hostVar); + if ((var_it != vars_.end()) && (var_it->second->getName() != var->getName())) { return hipErrorInvalidSymbol; } diff --git a/hipamd/src/hip_global.hpp b/hipamd/src/hip_global.hpp index 6de240b908..a3f6d29a01 100644 --- a/hipamd/src/hip_global.hpp +++ b/hipamd/src/hip_global.hpp @@ -126,6 +126,7 @@ public: FatBinaryInfo** moduleInfo() { return modules_; }; DeviceVarKind getVarKind() const { return dVarKind_; } size_t getSize() const { return size_; } + std::string getName() const { return name_; } void* getManagedVarPtr() { return managedVarPtr_; }; void setManagedVarInfo(void* pointer, size_t size) {