Revert r169656.

The linker will call `lto_codegen_add_must_preserve_symbol' on all globals that
should be kept around. The linker will pretend that a dylib is being created.
<rdar://problem/12528059>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169770 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/lto/LTOCodeGenerator.cpp b/tools/lto/LTOCodeGenerator.cpp
index dfd8858..cfaaf86 100644
--- a/tools/lto/LTOCodeGenerator.cpp
+++ b/tools/lto/LTOCodeGenerator.cpp
@@ -66,7 +66,7 @@
   : _context(getGlobalContext()),
     _linker("LinkTimeOptimizer", "ld-temp.o", _context), _target(NULL),
     _emitDwarfDebugInfo(false), _scopeRestrictionsDone(false),
-    _exportDynamic(false), _codeModel(LTO_CODEGEN_PIC_MODEL_DYNAMIC),
+    _codeModel(LTO_CODEGEN_PIC_MODEL_DYNAMIC),
     _nativeObjectFile(NULL) {
   InitializeAllTargets();
   InitializeAllTargetMCs();
@@ -339,8 +339,7 @@
 
   LLVMCompilerUsed->setSection("llvm.metadata");
 
-  if (!_exportDynamic)
-    passes.add(createInternalizePass(mustPreserveList));
+  passes.add(createInternalizePass(mustPreserveList));
 
   // apply scope restrictions
   passes.run(*mergedModule);
@@ -379,12 +378,7 @@
   // keeps only main if it exists and does nothing for libraries. Instead
   // we create the pass ourselves with the symbol list provided by the linker.
   PassManagerBuilder().populateLTOPassManager(passes,
-                                              /*Internalize=*/
-                                              // FIXME: remove 'false' once
-                                              // Darwin linker can pass this
-                                              // option.
-                                              // <rdar://problem/12839986>
-                                              false /*!_exportDynamic*/,
+                                              /*Internalize=*/false,
                                               !DisableInline,
                                               DisableGVNLoadPRE);