aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
diff options
context:
space:
mode:
authorJason Molenda <jason@molenda.com>2022-08-02 13:46:18 -0700
committerJason Molenda <jason@molenda.com>2022-08-02 13:49:30 -0700
commitd8879fba8825b9799166ba0ea552d4027bfb8ad1 (patch)
tree4510a38b0028d9f09246c229926fca47fd7b958c /lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
parent40eec27618d0db2e2753abdf3b84832056d508a6 (diff)
downloadllvm-d8879fba8825b9799166ba0ea552d4027bfb8ad1.zip
llvm-d8879fba8825b9799166ba0ea552d4027bfb8ad1.tar.gz
llvm-d8879fba8825b9799166ba0ea552d4027bfb8ad1.tar.bz2
Allow firmware binaries to be specified only by load address
Add support to Mach-O corefiles and to live gdb remote serial protocol connections for the corefile/remote stub to provide a list of load addresses of binaries that should be found & loaded by lldb, and nothing else. lldb will try to parse the binary out of memory, and if it can find a UUID, try to find a binary & its debug information based on the UUID, falling back to using the memory image if it must. A bit of code unification from three parts of lldb that were loading individual binaries already, so there is a shared method in DynamicLoader to handle all of the variations they were doing. Differential Revision: https://reviews.llvm.org/D130813 rdar://94249937 rdar://94249384
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
index 3d838d6..3a62747 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
@@ -220,6 +220,8 @@ public:
bool GetProcessStandaloneBinary(UUID &uuid, lldb::addr_t &value,
bool &value_is_offset);
+ std::vector<lldb::addr_t> GetProcessStandaloneBinaries();
+
void GetRemoteQSupported();
bool GetVContSupported(char flavor);
@@ -593,6 +595,7 @@ protected:
UUID m_process_standalone_uuid;
lldb::addr_t m_process_standalone_value = LLDB_INVALID_ADDRESS;
bool m_process_standalone_value_is_offset = false;
+ std::vector<lldb::addr_t> m_binary_addresses;
llvm::VersionTuple m_os_version;
llvm::VersionTuple m_maccatalyst_version;
std::string m_os_build;