diff options
Diffstat (limited to 'llvm/tools')
| -rw-r--r-- | llvm/tools/bugpoint/ExtractFunction.cpp | 2 | ||||
| -rw-r--r-- | llvm/tools/llvm-nm/llvm-nm.cpp | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/llvm/tools/bugpoint/ExtractFunction.cpp b/llvm/tools/bugpoint/ExtractFunction.cpp index 776922aa5d4..811169d86f8 100644 --- a/llvm/tools/bugpoint/ExtractFunction.cpp +++ b/llvm/tools/bugpoint/ExtractFunction.cpp @@ -199,7 +199,7 @@ static Constant *GetTorInit(std::vector<std::pair<Function*, int> > &TorList) { /// prune appropriate entries out of M1s list. static void SplitStaticCtorDtor(const char *GlobalName, Module *M1, Module *M2){ GlobalVariable *GV = M1->getNamedGlobal(GlobalName); - if (!GV || GV->isDeclaration() || GV->hasInternalLinkage() || + if (!GV || GV->isDeclaration() || GV->hasLocalLinkage() || !GV->use_empty()) return; std::vector<std::pair<Function*, int> > M1Tors, M2Tors; diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp index 008c2e0431f..ca4654d7931 100644 --- a/llvm/tools/llvm-nm/llvm-nm.cpp +++ b/llvm/tools/llvm-nm/llvm-nm.cpp @@ -68,6 +68,7 @@ namespace { } static char TypeCharForSymbol(GlobalValue &GV) { + /* FIXME: what to do with private linkage? */ if (GV.isDeclaration()) return 'U'; if (GV.hasLinkOnceLinkage()) return 'C'; if (GV.hasCommonLinkage()) return 'C'; @@ -91,7 +92,7 @@ static void DumpSymbolNameForGlobalValue(GlobalValue &GV) { return; if ((TypeChar == 'U') && DefinedOnly) return; - if (GV.hasInternalLinkage () && ExternalOnly) + if (GV.hasLocalLinkage () && ExternalOnly) return; if (OutputFormat == posix) { std::cout << GV.getName () << " " << TypeCharForSymbol (GV) << " " |

