diff --git a/lib/Analysis/AliasAnalysis.cpp b/lib/Analysis/AliasAnalysis.cpp
index 15a27e7..6d5a375 100644
--- a/lib/Analysis/AliasAnalysis.cpp
+++ b/lib/Analysis/AliasAnalysis.cpp
@@ -189,6 +189,6 @@
 // being linked into the tool that uses it.
 //
 namespace llvm {
-  extern void BasicAAStub();
+  extern int BasicAAStub;
 }
 static IncludeFile INCLUDE_BASICAA_CPP((void*)&BasicAAStub);
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp
index 2a37ab8..3cda92e 100644
--- a/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/lib/Analysis/BasicAliasAnalysis.cpp
@@ -27,7 +27,7 @@
 using namespace llvm;
 
 // Make sure that anything that uses AliasAnalysis pulls in this file...
-void llvm::BasicAAStub() {}
+int llvm::BasicAAStub;
 
 namespace {
   /// NoAA - This class implements the -no-aa pass, which always returns "I
diff --git a/lib/Analysis/IPA/CallGraph.cpp b/lib/Analysis/IPA/CallGraph.cpp
index 9089afe..71b303b 100644
--- a/lib/Analysis/IPA/CallGraph.cpp
+++ b/lib/Analysis/IPA/CallGraph.cpp
@@ -258,7 +258,7 @@
 
 
 
-void CallGraph::stub() {}
+int CallGraph::stub; // to ensure linkage of this file.
 
 void CallGraphNode::print(std::ostream &OS) const {
   if (Function *F = getFunction())
diff --git a/lib/Analysis/IPA/FindUsedTypes.cpp b/lib/Analysis/IPA/FindUsedTypes.cpp
index 09e14a8..f7efc7d 100644
--- a/lib/Analysis/IPA/FindUsedTypes.cpp
+++ b/lib/Analysis/IPA/FindUsedTypes.cpp
@@ -25,7 +25,7 @@
 X("printusedtypes", "Find Used Types");
 
 // stub to help linkage
-void FindUsedTypes::stub() {}
+int FindUsedTypes::stub; // to ensure linkage of this file
 
 // IncorporateType - Incorporate one type and all of its subtypes into the
 // collection of used types.
diff --git a/lib/Analysis/LoopInfo.cpp b/lib/Analysis/LoopInfo.cpp
index 2860aa4..f2ef176 100644
--- a/lib/Analysis/LoopInfo.cpp
+++ b/lib/Analysis/LoopInfo.cpp
@@ -86,7 +86,7 @@
 //===----------------------------------------------------------------------===//
 // LoopInfo implementation
 //
-void LoopInfo::stub() {}
+int LoopInfo::stub;
 
 bool LoopInfo::runOnFunction(Function &) {
   releaseMemory();
diff --git a/lib/Analysis/PostDominators.cpp b/lib/Analysis/PostDominators.cpp
index b8b173e..611ea60 100644
--- a/lib/Analysis/PostDominators.cpp
+++ b/lib/Analysis/PostDominators.cpp
@@ -360,6 +360,5 @@
 }
 
 // stub - a dummy function to make linking work ok.
-void PostDominanceFrontier::stub() {
-}
+int PostDominanceFrontier::stub;
 
diff --git a/lib/Analysis/ValueNumbering.cpp b/lib/Analysis/ValueNumbering.cpp
index 9a35937..0648222 100644
--- a/lib/Analysis/ValueNumbering.cpp
+++ b/lib/Analysis/ValueNumbering.cpp
@@ -239,4 +239,4 @@
 }
 
 
-void llvm::BasicValueNumberingStub() { }
+int llvm::BasicValueNumberingStub; // to ensure linkage of this file
diff --git a/lib/VMCore/Dominators.cpp b/lib/VMCore/Dominators.cpp
index 24b3e87..a0a6d25 100644
--- a/lib/VMCore/Dominators.cpp
+++ b/lib/VMCore/Dominators.cpp
@@ -304,7 +304,7 @@
   return false;
 }
 
-void DominatorSet::stub() {}
+int DominatorSet::stub;
 
 namespace llvm {
 static std::ostream &operator<<(std::ostream &o,
