Add a new Process plugin for Linux.

This component is still at an early stage, but allows for simple
breakpoint/step-over operations and basic process control.

The makefiles are set up to build the plugin under Linux only.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@109318 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/lldb.cpp b/source/lldb.cpp
index 0afcb37..fc9d0e8 100644
--- a/source/lldb.cpp
+++ b/source/lldb.cpp
@@ -22,6 +22,7 @@
 #include "Plugins/SymbolFile/DWARF/SymbolFileDWARF.h"
 #include "Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h"
 #include "Plugins/SymbolFile/Symtab/SymbolFileSymtab.h"
+
 #ifdef __APPLE__
 #include "Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h"
 #include "Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h"
@@ -32,6 +33,10 @@
 #include "Plugins/Process/gdb-remote/ProcessGDBRemote.h"
 #endif
 
+#ifdef __linux__
+#include "Plugins/Process/Linux/ProcessLinux.h"
+#endif
+
 using namespace lldb_private;
 
 
@@ -55,10 +60,10 @@
         DisassemblerLLVM::Initialize();
         ObjectContainerBSDArchive::Initialize();
         ObjectFileELF::Initialize();
-        SymbolVendorMacOSX::Initialize();
         SymbolFileDWARF::Initialize();
         SymbolFileDWARFDebugMap::Initialize();
         SymbolFileSymtab::Initialize();
+
 #ifdef __APPLE__
         ABIMacOSX_i386::Initialize();
         ABISysV_x86_64::Initialize();
@@ -66,7 +71,12 @@
         ObjectContainerUniversalMachO::Initialize();
         ObjectFileMachO::Initialize();
         ProcessGDBRemote::Initialize();
-//      ProcessMacOSX::Initialize();
+        ProcessMacOSX::Initialize();
+        SymbolVendorMacOSX::Initialize();
+#endif
+
+#ifdef __linux__
+        ProcessLinux::Initialize();
 #endif
     }
 }
@@ -84,16 +94,21 @@
     DisassemblerLLVM::Terminate();
     ObjectContainerBSDArchive::Terminate();
     ObjectFileELF::Terminate();
-    SymbolVendorMacOSX::Terminate();
     SymbolFileDWARF::Terminate();
     SymbolFileDWARFDebugMap::Terminate();
     SymbolFileSymtab::Terminate();
+
 #ifdef __APPLE__
     DynamicLoaderMacOSXDYLD::Terminate();
     ObjectContainerUniversalMachO::Terminate();
     ObjectFileMachO::Terminate();
     ProcessGDBRemote::Terminate();
-//  ProcessMacOSX::Terminate();
+    ProcessMacOSX::Terminate();
+    SymbolVendorMacOSX::Terminate();
+#endif
+
+#ifdef __linux__
+    ProcessLinux::Terminate();
 #endif
 }