summaryrefslogtreecommitdiffstats
path: root/lldb/tools/debugserver/source/DNBDefs.h
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-11-18 07:03:08 +0000
committerGreg Clayton <gclayton@apple.com>2011-11-18 07:03:08 +0000
commit46fb558df13ad41638408734014a89baef592f51 (patch)
tree294b5dbd7f3f033b80536e804a10ed5b74ebda7a /lldb/tools/debugserver/source/DNBDefs.h
parent7ba18027e95b4acbf629395e9da5a6212a7005f5 (diff)
downloadbcm5719-llvm-46fb558df13ad41638408734014a89baef592f51.tar.gz
bcm5719-llvm-46fb558df13ad41638408734014a89baef592f51.zip
Added optional calls to lldb_private::Process for getting memory region info
from a process and hooked it up to the new packet that was recently added to our GDB remote executable named debugserver. Now Process has the following new calls: virtual Error Process::GetMemoryRegionInfo (lldb::addr_t load_addr, MemoryRegionInfo &range_info); virtual uint32_t GetLoadAddressPermissions (lldb::addr_t load_addr); Only the first one needs to be implemented by subclasses that can add this support. Cleaned up the way the new packet was implemented in debugserver to be more useful as an API inside debugserver. Also found an error where finding a region for an address actually will pick up the next region that follows the address in the query so we also need ot make sure that the address we requested the region for falls into the region that gets returned. llvm-svn: 144976
Diffstat (limited to 'lldb/tools/debugserver/source/DNBDefs.h')
-rw-r--r--lldb/tools/debugserver/source/DNBDefs.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/lldb/tools/debugserver/source/DNBDefs.h b/lldb/tools/debugserver/source/DNBDefs.h
index 4b4729307d5..87926327504 100644
--- a/lldb/tools/debugserver/source/DNBDefs.h
+++ b/lldb/tools/debugserver/source/DNBDefs.h
@@ -333,6 +333,13 @@ struct DNBExecutableImageInfo
DNBSegment *segments; // Array of contiguous memory segments in executable
};
+struct DNBRegionInfo
+{
+ nub_addr_t addr;
+ nub_addr_t size;
+ uint32_t permissions;
+};
+
typedef nub_bool_t (*DNBCallbackBreakpointHit)(nub_process_t pid, nub_thread_t tid, nub_break_t breakID, void *baton);
typedef nub_addr_t (*DNBCallbackNameToAddress)(nub_process_t pid, const char *name, const char *shlib_regex, void *baton);
typedef nub_size_t (*DNBCallbackCopyExecutableImageInfos)(nub_process_t pid, struct DNBExecutableImageInfo **image_infos, nub_bool_t only_changed, void *baton);
OpenPOWER on IntegriCloud