diff options
author | Jason Molenda <jmolenda@apple.com> | 2016-07-22 00:17:55 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2016-07-22 00:17:55 +0000 |
commit | 37397353cc610d47c566ad8fba16f36224a514c8 (patch) | |
tree | 9389efe67b1a38d5657901f7ae06344dccf61391 /lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp | |
parent | 0e2cec075c98fe33623229dcb6ee6275f2897de4 (diff) | |
download | bcm5719-llvm-37397353cc610d47c566ad8fba16f36224a514c8.tar.gz bcm5719-llvm-37397353cc610d47c566ad8fba16f36224a514c8.zip |
Add support to get the shared cache information from the new
debugserver jGetSharedCacheInfo packet instead of reading
the dyld internal data structures directly. This code is
(currently) only used for ios native lldb's - I should really
move this ObjectFileMachO::GetProcessSharedCacheUUID method
somewhere else, it makes less and less sense being in the
file reader.
<rdar://problem/25251243>
llvm-svn: 276369
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp index 9b7143b792e..ac76889079a 100644 --- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp @@ -88,6 +88,7 @@ GDBRemoteCommunicationClient::GDBRemoteCommunicationClient() m_supports_augmented_libraries_svr4_read(eLazyBoolCalculate), m_supports_jThreadExtendedInfo(eLazyBoolCalculate), m_supports_jLoadedDynamicLibrariesInfos(eLazyBoolCalculate), + m_supports_jGetSharedCacheInfo (eLazyBoolCalculate), m_supports_qProcessInfoPID(true), m_supports_qfProcessInfo(true), m_supports_qUserName(true), @@ -677,6 +678,24 @@ GDBRemoteCommunicationClient::GetLoadedDynamicLibrariesInfosSupported () } bool +GDBRemoteCommunicationClient::GetSharedCacheInfoSupported () +{ + if (m_supports_jGetSharedCacheInfo == eLazyBoolCalculate) + { + StringExtractorGDBRemote response; + m_supports_jGetSharedCacheInfo = eLazyBoolNo; + if (SendPacketAndWaitForResponse("jGetSharedCacheInfo:", response, false) == PacketResult::Success) + { + if (response.IsOKResponse()) + { + m_supports_jGetSharedCacheInfo = eLazyBoolYes; + } + } + } + return m_supports_jGetSharedCacheInfo; +} + +bool GDBRemoteCommunicationClient::GetxPacketSupported () { if (m_supports_x == eLazyBoolCalculate) |