summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-lto
diff options
context:
space:
mode:
authorJames Molloy <james.molloy@arm.com>2014-04-14 13:54:16 +0000
committerJames Molloy <james.molloy@arm.com>2014-04-14 13:54:16 +0000
commit951e529f6623d74c86c2e708dabca57779ef3d9b (patch)
tree535cb7790fdb9dc640831cd2ce9efdcb73b7c736 /llvm/tools/llvm-lto
parentf434c4fa3f86cacb7a9cee2f9ca827caf933fc0c (diff)
downloadbcm5719-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.cpp15
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);
OpenPOWER on IntegriCloud