summaryrefslogtreecommitdiffstats
path: root/lldb/source
diff options
context:
space:
mode:
authorKuba Brecka <kuba.brecka@gmail.com>2014-10-11 01:59:32 +0000
committerKuba Brecka <kuba.brecka@gmail.com>2014-10-11 01:59:32 +0000
commit6392754839ebf14b8e2044da19d23a158db77207 (patch)
treed789774e9d55202114fb265ae60029c9b0c05e51 /lldb/source
parent19c2e631bd0264cdb48dcdefa0186913e55b72fb (diff)
downloadbcm5719-llvm-6392754839ebf14b8e2044da19d23a158db77207.tar.gz
bcm5719-llvm-6392754839ebf14b8e2044da19d23a158db77207.zip
Add a IsInstrumentationRuntimePresent SB API
Reviewed at http://reviews.llvm.org/D5738 This adds an SB API into SBProcess: bool SBProcess::IsInstrumentationRuntimePresent(InstrumentationRuntimeType type); which simply tells whether a particular InstrumentationRuntime (read "ASan") plugin is present and active. llvm-svn: 219560
Diffstat (limited to 'lldb/source')
-rw-r--r--lldb/source/API/SBProcess.cpp15
-rw-r--r--lldb/source/Target/Process.cpp13
2 files changed, 28 insertions, 0 deletions
diff --git a/lldb/source/API/SBProcess.cpp b/lldb/source/API/SBProcess.cpp
index 7b519b16bd1..5231b4bc1ad 100644
--- a/lldb/source/API/SBProcess.cpp
+++ b/lldb/source/API/SBProcess.cpp
@@ -1394,3 +1394,18 @@ SBProcess::GetHistoryThreads (addr_t addr)
}
return threads;
}
+
+bool
+SBProcess::IsInstrumentationRuntimePresent(InstrumentationRuntimeType type)
+{
+ ProcessSP process_sp(GetSP());
+ if (! process_sp)
+ return false;
+
+ InstrumentationRuntimeSP runtime_sp = process_sp->GetInstrumentationRuntime(type);
+
+ if (! runtime_sp.get())
+ return false;
+
+ return runtime_sp->IsActive();
+}
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index d337d8110c8..9cb021c9283 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -6071,3 +6071,16 @@ Process::GetHistoryThreads(lldb::addr_t addr)
return threads;
}
+
+InstrumentationRuntimeSP
+Process::GetInstrumentationRuntime(lldb::InstrumentationRuntimeType type)
+{
+ InstrumentationRuntimeCollection::iterator pos;
+ pos = m_instrumentation_runtimes.find (type);
+ if (pos == m_instrumentation_runtimes.end())
+ {
+ return InstrumentationRuntimeSP();
+ }
+ else
+ return (*pos).second;
+}
OpenPOWER on IntegriCloud