mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 06:25:18 +00:00
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
This commit is contained in:
@@ -66,7 +66,7 @@ LTOCodeGenerator::LTOCodeGenerator()
|
||||
: _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 @@ void LTOCodeGenerator::applyScopeRestrictions() {
|
||||
|
||||
LLVMCompilerUsed->setSection("llvm.metadata");
|
||||
|
||||
if (!_exportDynamic)
|
||||
passes.add(createInternalizePass(mustPreserveList));
|
||||
passes.add(createInternalizePass(mustPreserveList));
|
||||
|
||||
// apply scope restrictions
|
||||
passes.run(*mergedModule);
|
||||
@@ -379,12 +378,7 @@ bool LTOCodeGenerator::generateObjectFile(raw_ostream &out,
|
||||
// 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);
|
||||
|
||||
|
Reference in New Issue
Block a user