Skip to content

Commit 0f99ab1

Browse files
david-salinasdsalinas_amdeng
authored andcommitted
SWDEV-561590 - hipcc/ld.lld unable to link separable compilation when dynamic library is fully specified
1 parent a8b8146 commit 0f99ab1

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

clang/lib/Driver/ToolChains/HIPUtility.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,8 @@ class HIPUndefinedFatBinSymbols {
241241

242242
bool isUndefined =
243243
FlagOrErr.get() & llvm::object::SymbolRef::SF_Undefined;
244+
bool isHidden =
245+
FlagOrErr.get() & llvm::object::SymbolRef::SF_Hidden;
244246
bool isFatBinSymbol = Name.starts_with(FatBinPrefix);
245247
bool isGPUBinHandleSymbol = Name.starts_with(GPUBinHandlePrefix);
246248

@@ -249,7 +251,7 @@ class HIPUndefinedFatBinSymbols {
249251
if (isFatBinSymbol) {
250252
DefinedFatBinSymbols.insert(Name.str());
251253
FatBinSymbols.erase(Name.str());
252-
} else if (isGPUBinHandleSymbol) {
254+
} else if (isGPUBinHandleSymbol && (!isHidden) ) {
253255
DefinedGPUBinHandleSymbols.insert(Name.str());
254256
GPUBinHandleSymbols.erase(Name.str());
255257
}

0 commit comments

Comments
 (0)