[clang] hipcc/ld.lld unable to link separable compilation when dynamic librar… (PR #169551)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 25 11:05:52 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: David Salinas (david-salinas)
<details>
<summary>Changes</summary>
…y is fully specified
---
Full diff: https://github.com/llvm/llvm-project/pull/169551.diff
1 Files Affected:
- (modified) clang/lib/Driver/ToolChains/HIPUtility.cpp (+4-2)
``````````diff
diff --git a/clang/lib/Driver/ToolChains/HIPUtility.cpp b/clang/lib/Driver/ToolChains/HIPUtility.cpp
index 1af2ae6470f1e..76d1fb2863a88 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());
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/169551
More information about the cfe-commits
mailing list