summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime
diff options
context:
space:
mode:
authorLuke Drummond <luke.drummond@codeplay.com>2016-11-09 19:20:39 +0000
committerLuke Drummond <luke.drummond@codeplay.com>2016-11-09 19:20:39 +0000
commit81fc84fa07cee81def3a6190e9b1e175087b9337 (patch)
tree00e15d6a9a01755f97ffacfcb64e78b28df32a23 /lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime
parent6b46a0d1e89aeef8af8e11d0def22e1a5ad15f20 (diff)
downloadbcm5719-llvm-81fc84fa07cee81def3a6190e9b1e175087b9337.tar.gz
bcm5719-llvm-81fc84fa07cee81def3a6190e9b1e175087b9337.zip
[RenderScript] Fix reduction argument printing
When placing function name breakpoints on RenderScript Reduction kernel functions, we were not skipping over the function prologue meaning that inspection of the arguments could be garbled as the function was not finished setting up the stack/registers. In [122fe8f](https://github.com/llvm-mirror/lldb/commit/122fe8f47255ec850155495d10526fccc51f95fb) Aidan added the `SkipPrologue` function that allows us to trivially fix up the kernel's functions' resolved addresses, falling gracefully back to the old behaviour if we don't know how to handle the prologue or can't resolve its size. llvm-svn: 286387
Diffstat (limited to 'lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime')
-rw-r--r--lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
index d92f10014d1..ff9bf8ac418 100644
--- a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
@@ -883,6 +883,10 @@ RSReduceBreakpointResolver::SearchCallback(lldb_private::SearchFilter &filter,
auto address = symbol->GetAddress();
if (filter.AddressPasses(address)) {
bool new_bp;
+ if (!SkipPrologue(module, address)) {
+ if (log)
+ log->Printf("%s: Error trying to skip prologue", __FUNCTION__);
+ }
m_breakpoint->AddLocation(address, &new_bp);
if (log)
log->Printf("%s: %s reduction breakpoint on %s in %s", __FUNCTION__,
OpenPOWER on IntegriCloud