summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-07-08 04:11:42 +0000
committerGreg Clayton <gclayton@apple.com>2011-07-08 04:11:42 +0000
commitdf0b7d5c31593ed4a4c92a4ccca00af4343351fb (patch)
tree06642492387d645f72d1dccf1e9b8aad2e15b58b /lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h
parent0d9fc764d28d08aca4829921b24edd063f6577d6 (diff)
downloadbcm5719-llvm-df0b7d5c31593ed4a4c92a4ccca00af4343351fb.tar.gz
bcm5719-llvm-df0b7d5c31593ed4a4c92a4ccca00af4343351fb.zip
LLDB now has a Kernel dynamic linker that can detect where kexts are
loaded. It locks onto *-apple-darwin binaries where the binary has a "__KLD" segment. Soon I will modify the lldb_private::ObjectFile class to return an executable type which will be an enum with values something like: eObjectFileTypeUserExectable, eObjectFileTypeUserSharedLibrary, eObjectFileTypeKernelExectable, eObjectFileTypeKernelSharedLibrary, eObjectFileTypeObjectFile, eObjectFileTypeCoreFile But for now we look at the section since a user and kernel mach-o executable have the same mach-o file type. llvm-svn: 134682
Diffstat (limited to 'lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h')
-rw-r--r--lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h b/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h
index e6de4041c22..5dddfedb1f0 100644
--- a/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h
+++ b/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h
@@ -193,6 +193,7 @@ protected:
{
char name[KERNEL_MODULE_MAX_NAME];
lldb::ModuleSP module_sp;
+ uint32_t module_create_stop_id;
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;
@@ -206,6 +207,7 @@ protected:
OSKextLoadedKextSummary() :
module_sp (),
+ module_create_stop_id (UINT32_MAX),
uuid (),
so_address (),
address (LLDB_INVALID_ADDRESS),
@@ -236,6 +238,7 @@ protected:
::memset (&header, 0, sizeof(header));
}
module_sp.reset();
+ module_create_stop_id = UINT32_MAX;
uuid.Clear();
segments.clear();
}
OpenPOWER on IntegriCloud