summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-07-08 03:21:57 +0000
committerGreg Clayton <gclayton@apple.com>2011-07-08 03:21:57 +0000
commit0d9fc764d28d08aca4829921b24edd063f6577d6 (patch)
tree3aa09da0ba7ccbf1713b26dd091566d0f201cf2d /lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h
parent961995dc9a0dae41d39585fe5886ccbffee625c8 (diff)
downloadbcm5719-llvm-0d9fc764d28d08aca4829921b24edd063f6577d6.tar.gz
bcm5719-llvm-0d9fc764d28d08aca4829921b24edd063f6577d6.zip
Make the kernel able to do its initial load from target memory with the
process being preferred for all memory reads. llvm-svn: 134681
Diffstat (limited to 'lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h')
-rw-r--r--lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h b/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h
index 7dbd98db2ab..e6de4041c22 100644
--- a/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h
+++ b/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h
@@ -148,10 +148,6 @@ protected:
return lldb::eByteOrderInvalid;
}
- bool
- ReadMachHeader (lldb::addr_t addr,
- llvm::MachO::mach_header *header,
- lldb_private::DataExtractor *load_command_data);
class Segment
{
public:
@@ -198,6 +194,7 @@ protected:
char name[KERNEL_MODULE_MAX_NAME];
lldb::ModuleSP module_sp;
lldb_private::UUID uuid; // UUID for this dylib if it has one, else all zeros
+ lldb_private::Address so_address; // The section offset address for this kext in case it can be read from object files
uint64_t address;
uint64_t size;
uint64_t version;
@@ -210,6 +207,7 @@ protected:
OSKextLoadedKextSummary() :
module_sp (),
uuid (),
+ so_address (),
address (LLDB_INVALID_ADDRESS),
size (0),
version (0),
@@ -227,6 +225,7 @@ protected:
{
if (!load_cmd_data_only)
{
+ so_address.Clear();
address = LLDB_INVALID_ADDRESS;
size = 0;
version = 0;
@@ -349,6 +348,10 @@ protected:
}
};
+ bool
+ ReadMachHeader (OSKextLoadedKextSummary& kext_summary,
+ lldb_private::DataExtractor *load_command_data);
+
void
RegisterNotificationCallbacks();
@@ -377,14 +380,12 @@ protected:
ReadKextSummaryHeader ();
bool
- ParseKextSummaries (lldb::addr_t kext_summary_addr, uint32_t count);
+ ParseKextSummaries (const lldb_private::Address &kext_summary_addr,
+ uint32_t count);
bool
AddModulesUsingImageInfos (OSKextLoadedKextSummary::collection &image_infos);
- bool
- RemoveModulesUsingImageInfosAddress (lldb::addr_t image_infos_addr, uint32_t image_infos_count);
-
void
UpdateImageInfosHeaderAndLoadCommands(OSKextLoadedKextSummary::collection &image_infos,
uint32_t infos_count,
@@ -394,7 +395,7 @@ protected:
UpdateCommPageLoadAddress (lldb_private::Module *module);
uint32_t
- ReadKextSummaries (lldb::addr_t image_infos_addr,
+ ReadKextSummaries (const lldb_private::Address &kext_summary_addr,
uint32_t image_infos_count,
OSKextLoadedKextSummary::collection &image_infos);
@@ -402,7 +403,7 @@ protected:
UnloadImageLoadAddress (OSKextLoadedKextSummary& info);
OSKextLoadedKextSummary m_kernel; // Info about the current kernel image being used
- lldb::addr_t m_kext_summary_header_addr;
+ lldb_private::Address m_kext_summary_header_addr;
OSKextLoadedKextSummaryHeader m_kext_summary_header;
uint32_t m_kext_summary_header_stop_id; // The process stop ID that "m_kext_summary_header" is valid for
lldb::user_id_t m_break_id;
OpenPOWER on IntegriCloud