Skip to content

Commit 3766397

Browse files
committed
hipcc/ld.lld unable to link separable compilation when dynamic library is fully specified
1 parent 6c8ff4f commit 3766397

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

clang/lib/Driver/ToolChains/HIPUtility.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,15 +241,16 @@ class HIPUndefinedFatBinSymbols {
241241

242242
bool isUndefined =
243243
FlagOrErr.get() & llvm::object::SymbolRef::SF_Undefined;
244+
bool isHidden = FlagOrErr.get() & llvm::object::SymbolRef::SF_Hidden;
244245
bool isFatBinSymbol = Name.starts_with(FatBinPrefix);
245246
bool isGPUBinHandleSymbol = Name.starts_with(GPUBinHandlePrefix);
246247

247248
// Handling for defined symbols
248249
if (!isUndefined) {
249-
if (isFatBinSymbol) {
250+
if ((isFatBinSymbol) && (!isHidden) {
250251
DefinedFatBinSymbols.insert(Name.str());
251252
FatBinSymbols.erase(Name.str());
252-
} else if (isGPUBinHandleSymbol) {
253+
} else if ((isGPUBinHandleSymbol) && (!isHidden) {
253254
DefinedGPUBinHandleSymbols.insert(Name.str());
254255
GPUBinHandleSymbols.erase(Name.str());
255256
}

0 commit comments

Comments
 (0)