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 | 951e529f6623d74c86c2e708dabca57779ef3d9b (patch) | |
tree | 535cb7790fdb9dc640831cd2ce9efdcb73b7c736 /llvm/tools/llvm-lto | |
parent | f434c4fa3f86cacb7a9cee2f9ca827caf933fc0c (diff) | |
download | bcm5719-llvm-951e529f6623d74c86c2e708dabca57779ef3d9b.tar.gz bcm5719-llvm-951e529f6623d74c86c2e708dabca57779ef3d9b.zip |
Teach llvm-lto to respect the given RelocModel.
Patch by Nick Tomlinson!
llvm-svn: 206177
Diffstat (limited to 'llvm/tools/llvm-lto')
-rw-r--r-- | llvm/tools/llvm-lto/llvm-lto.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/llvm/tools/llvm-lto/llvm-lto.cpp b/llvm/tools/llvm-lto/llvm-lto.cpp index ec3f0fa2333..05ffbf31910 100644 --- a/llvm/tools/llvm-lto/llvm-lto.cpp +++ b/llvm/tools/llvm-lto/llvm-lto.cpp @@ -83,7 +83,20 @@ int main(int argc, char **argv) { LTOCodeGenerator CodeGen; - CodeGen.setCodePICModel(LTO_CODEGEN_PIC_MODEL_DYNAMIC); + switch (RelocModel) { + case Reloc::Static: + CodeGen.setCodePICModel(LTO_CODEGEN_PIC_MODEL_STATIC); + break; + case Reloc::PIC_: + CodeGen.setCodePICModel(LTO_CODEGEN_PIC_MODEL_DYNAMIC); + break; + case Reloc::DynamicNoPIC: + CodeGen.setCodePICModel(LTO_CODEGEN_PIC_MODEL_DYNAMIC_NO_PIC); + break; + default: + CodeGen.setCodePICModel(LTO_CODEGEN_PIC_MODEL_DEFAULT); + } + CodeGen.setDebugInfo(LTO_DEBUG_MODEL_DWARF); CodeGen.setTargetOptions(Options); |