diff options
-rw-r--r-- | tools/extract/extract.cpp | 3 | ||||
-rw-r--r-- | tools/llvm-extract/llvm-extract.cpp | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/tools/extract/extract.cpp b/tools/extract/extract.cpp index b16b4f609e..5df4cb2835 100644 --- a/tools/extract/extract.cpp +++ b/tools/extract/extract.cpp @@ -30,7 +30,8 @@ struct FunctionExtractorPass : public Pass { bool run(Module &M) { // Mark all global variables to be internal for (Module::giterator I = M.gbegin(), E = M.gend(); I != E; ++I) - I->setInternalLinkage(true); + if (!I->isExternal()) + I->setInternalLinkage(true); Function *Named = 0; diff --git a/tools/llvm-extract/llvm-extract.cpp b/tools/llvm-extract/llvm-extract.cpp index b16b4f609e..5df4cb2835 100644 --- a/tools/llvm-extract/llvm-extract.cpp +++ b/tools/llvm-extract/llvm-extract.cpp @@ -30,7 +30,8 @@ struct FunctionExtractorPass : public Pass { bool run(Module &M) { // Mark all global variables to be internal for (Module::giterator I = M.gbegin(), E = M.gend(); I != E; ++I) - I->setInternalLinkage(true); + if (!I->isExternal()) + I->setInternalLinkage(true); Function *Named = 0; |