diff options
author | James Molloy <james.molloy@arm.com> | 2014-04-14 13:54:16 +0000 |
---|---|---|
committer | James Molloy <james.molloy@arm.com> | 2014-04-14 13:54:16 +0000 |
commit | 555f97f2bc7cc9215734edbdc0c180a341fc3748 (patch) | |
tree | a04d1b1263f42166f78a033a7e5c2b445da1125f /lib/LTO | |
parent | f86c5472c00b89ddb8980ae17c6568e9619aaf54 (diff) | |
download | llvm-555f97f2bc7cc9215734edbdc0c180a341fc3748.tar.gz llvm-555f97f2bc7cc9215734edbdc0c180a341fc3748.tar.bz2 llvm-555f97f2bc7cc9215734edbdc0c180a341fc3748.tar.xz |
Teach llvm-lto to respect the given RelocModel.
Patch by Nick Tomlinson!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206177 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/LTO')
-rw-r--r-- | lib/LTO/LTOCodeGenerator.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/LTO/LTOCodeGenerator.cpp b/lib/LTO/LTOCodeGenerator.cpp index 7fe143bd5d..2ba90fad84 100644 --- a/lib/LTO/LTOCodeGenerator.cpp +++ b/lib/LTO/LTOCodeGenerator.cpp @@ -65,7 +65,7 @@ const char* LTOCodeGenerator::getVersionString() { LTOCodeGenerator::LTOCodeGenerator() : Context(getGlobalContext()), Linker(new Module("ld-temp.o", Context)), TargetMach(NULL), EmitDwarfDebugInfo(false), ScopeRestrictionsDone(false), - CodeModel(LTO_CODEGEN_PIC_MODEL_DYNAMIC), NativeObjectFile(NULL), + CodeModel(LTO_CODEGEN_PIC_MODEL_DEFAULT), NativeObjectFile(NULL), DiagHandler(NULL), DiagContext(NULL) { initializeLTOPasses(); } @@ -161,6 +161,7 @@ void LTOCodeGenerator::setCodePICModel(lto_codegen_model model) { case LTO_CODEGEN_PIC_MODEL_STATIC: case LTO_CODEGEN_PIC_MODEL_DYNAMIC: case LTO_CODEGEN_PIC_MODEL_DYNAMIC_NO_PIC: + case LTO_CODEGEN_PIC_MODEL_DEFAULT: CodeModel = model; return; } @@ -295,6 +296,9 @@ bool LTOCodeGenerator::determineTarget(std::string &errMsg) { case LTO_CODEGEN_PIC_MODEL_DYNAMIC_NO_PIC: RelocModel = Reloc::DynamicNoPIC; break; + case LTO_CODEGEN_PIC_MODEL_DEFAULT: + // RelocModel is already the default, so leave it that way. + break; } // construct LTOModule, hand over ownership of module and target |