diff options
Diffstat (limited to 'lldb/source/Expression/ClangExpressionParser.cpp')
| -rw-r--r-- | lldb/source/Expression/ClangExpressionParser.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lldb/source/Expression/ClangExpressionParser.cpp b/lldb/source/Expression/ClangExpressionParser.cpp index 94c1c013421..d0f276c211c 100644 --- a/lldb/source/Expression/ClangExpressionParser.cpp +++ b/lldb/source/Expression/ClangExpressionParser.cpp @@ -467,13 +467,19 @@ ClangExpressionParser::MakeJIT (lldb::addr_t &func_addr, std::string error_string; + llvm::Reloc::Model relocation_model = llvm::TargetMachine::getRelocationModel(); + + llvm::TargetMachine::setRelocationModel(llvm::Reloc::PIC_); + m_execution_engine.reset(llvm::ExecutionEngine::createJIT (module, &error_string, m_jit_mm, - CodeGenOpt::Default, + CodeGenOpt::Less, true, CodeModel::Small)); + llvm::TargetMachine::setRelocationModel(relocation_model); + if (!m_execution_engine.get()) { err.SetErrorToGenericError(); |

