Skip to content

Commit cf846bc

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

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

clang/lib/Driver/ToolChains/HIPUtility.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,15 +241,17 @@ 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

247249
// Handling for defined symbols
248250
if (!isUndefined) {
249-
if (isFatBinSymbol) {
251+
if ((isFatBinSymbol) && (!isHidden) {
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)