diff options
| author | Sean Callanan <scallanan@apple.com> | 2010-08-27 23:31:21 +0000 |
|---|---|---|
| committer | Sean Callanan <scallanan@apple.com> | 2010-08-27 23:31:21 +0000 |
| commit | e71d553cd4e95b4cb8c9ffd2f7122a2ca735467c (patch) | |
| tree | 08847f8f2a280b2b05b8053317b117e042e330d4 /lldb/source/Expression/ClangExpressionParser.cpp | |
| parent | 38f6b7fe3b576b361a1da1b6381f4ec3f454af65 (diff) | |
| download | bcm5719-llvm-e71d553cd4e95b4cb8c9ffd2f7122a2ca735467c.tar.gz bcm5719-llvm-e71d553cd4e95b4cb8c9ffd2f7122a2ca735467c.zip | |
Added a ClangUtilityFunction class that allows the
debugger to insert self-contained functions for use by
expressions (mainly for error-checking).
In order to support detecting whether a crash occurred
in one of these helpers -- currently our preferred way
of reporting that an error-check failed -- added a bit
of support for getting the extent of a JITted function
in addition to just its base.
llvm-svn: 112324
Diffstat (limited to 'lldb/source/Expression/ClangExpressionParser.cpp')
| -rw-r--r-- | lldb/source/Expression/ClangExpressionParser.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lldb/source/Expression/ClangExpressionParser.cpp b/lldb/source/Expression/ClangExpressionParser.cpp index 05c237afdb9..7c4cc6a0d52 100644 --- a/lldb/source/Expression/ClangExpressionParser.cpp +++ b/lldb/source/Expression/ClangExpressionParser.cpp @@ -369,7 +369,9 @@ ClangExpressionParser::MakeDWARF () } Error -ClangExpressionParser::MakeJIT (lldb::addr_t &func_addr, ExecutionContext &exe_ctx) +ClangExpressionParser::MakeJIT (lldb::addr_t &func_addr, + lldb::addr_t &func_end, + ExecutionContext &exe_ctx) { Error err; @@ -507,7 +509,10 @@ ClangExpressionParser::MakeJIT (lldb::addr_t &func_addr, ExecutionContext &exe_c (*pos).m_remote_addr = m_jit_mm->GetRemoteAddressForLocal ((*pos).m_local_addr); if (!(*pos).m_name.compare(m_expr.FunctionName())) + { + func_end = m_jit_mm->GetRemoteRangeForLocal ((*pos).m_local_addr).second; func_addr = (*pos).m_remote_addr; + } } err.Clear(); |

