diff options
author | Greg Clayton <gclayton@apple.com> | 2011-07-08 04:11:42 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2011-07-08 04:11:42 +0000 |
commit | df0b7d5c31593ed4a4c92a4ccca00af4343351fb (patch) | |
tree | 06642492387d645f72d1dccf1e9b8aad2e15b58b /lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h | |
parent | 0d9fc764d28d08aca4829921b24edd063f6577d6 (diff) | |
download | bcm5719-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.h | 3 |
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(); } |