diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-11-06 07:03:06 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-06 07:03:06 +0100 |
| commit | 98cbe179032726052d672334bb1a82cd4f604072 (patch) | |
| tree | 7aad9d845091438f33d1975cc1a54f923c44d035 /src/rustllvm/PassWrapper.cpp | |
| parent | 81550a00d1e8f83bbaef31205e72b27fdb796d35 (diff) | |
| parent | 194307936110470487c41637684d4b09b3516af5 (diff) | |
| download | rust-98cbe179032726052d672334bb1a82cd4f604072.tar.gz rust-98cbe179032726052d672334bb1a82cd4f604072.zip | |
Rollup merge of #66062 - smaeul:patch/pic-level, r=estebank
Configure LLVM module PIC level As of LLVM 9, this is required for 32-bit PowerPC to properly generate PLT references. Previously, only BigPIC was supported; now LLVM supports both BigPIC and SmallPIC, and there is no default value provided.
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
| -rw-r--r-- | src/rustllvm/PassWrapper.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp index 5b3900ab496..3451346869d 100644 --- a/src/rustllvm/PassWrapper.cpp +++ b/src/rustllvm/PassWrapper.cpp @@ -755,6 +755,10 @@ LLVMRustSetDataLayoutFromTargetMachine(LLVMModuleRef Module, unwrap(Module)->setDataLayout(Target->createDataLayout()); } +extern "C" void LLVMRustSetModulePICLevel(LLVMModuleRef M) { + unwrap(M)->setPICLevel(PICLevel::Level::BigPIC); +} + extern "C" void LLVMRustSetModulePIELevel(LLVMModuleRef M) { unwrap(M)->setPIELevel(PIELevel::Level::Large); } |
