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
diff --git a/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h b/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h
index e6de404..5dddfed 100644
--- a/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h
+++ b/lldb/source/Plugins/DynamicLoader/MacOSX-Kernel/DynamicLoaderMacOSXKernel.h
@@ -193,6 +193,7 @@
     {
         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 @@
 
         OSKextLoadedKextSummary() :
             module_sp (),
+            module_create_stop_id (UINT32_MAX),
             uuid (),
             so_address (),
             address (LLDB_INVALID_ADDRESS),
@@ -236,6 +238,7 @@
                 ::memset (&header, 0, sizeof(header));
             }
             module_sp.reset();
+            module_create_stop_id = UINT32_MAX;
             uuid.Clear();
             segments.clear();
         }