aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
diff options
context:
space:
mode:
authorJason Molenda <jason@molenda.com>2022-08-02 14:13:20 -0700
committerJason Molenda <jason@molenda.com>2022-08-02 14:14:16 -0700
commit96d12187b3d28f63d29802a7af49dfe53cc306f3 (patch)
tree32a7147821cb8d6fed92525c85d561a43b212f75 /lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
parent560efad701709cc57021ccb14f91a012c5e835d3 (diff)
downloadllvm-96d12187b3d28f63d29802a7af49dfe53cc306f3.zip
llvm-96d12187b3d28f63d29802a7af49dfe53cc306f3.tar.gz
llvm-96d12187b3d28f63d29802a7af49dfe53cc306f3.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. Re-landing this with a uuid_is_null() implementation added to Utility/UuidCompatibility.h for non-Darwin systems. 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;