diff --git a/clang/lib/Driver/ToolChains/HIPUtility.cpp b/clang/lib/Driver/ToolChains/HIPUtility.cpp index 732403e69a075..51d6312fb342b 100644 --- a/clang/lib/Driver/ToolChains/HIPUtility.cpp +++ b/clang/lib/Driver/ToolChains/HIPUtility.cpp @@ -241,15 +241,17 @@ class HIPUndefinedFatBinSymbols { bool isUndefined = FlagOrErr.get() & llvm::object::SymbolRef::SF_Undefined; + bool isHidden = + FlagOrErr.get() & llvm::object::SymbolRef::SF_Hidden; bool isFatBinSymbol = Name.starts_with(FatBinPrefix); bool isGPUBinHandleSymbol = Name.starts_with(GPUBinHandlePrefix); // Handling for defined symbols if (!isUndefined) { - if (isFatBinSymbol) { + if (isFatBinSymbol && (!isHidden)) { DefinedFatBinSymbols.insert(Name.str()); FatBinSymbols.erase(Name.str()); - } else if (isGPUBinHandleSymbol) { + } else if (isGPUBinHandleSymbol && (!isHidden) ) { DefinedGPUBinHandleSymbols.insert(Name.str()); GPUBinHandleSymbols.erase(Name.str()); }