summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTamas Berghammer <tberghammer@google.com>2015-03-06 15:47:23 +0000
committerTamas Berghammer <tberghammer@google.com>2015-03-06 15:47:23 +0000
commit6ad63744b337892c119c5dbefcb85eef8fc22415 (patch)
tree2f5f43ee7b73223fa8e5a14c523d2fcbc35b96ff
parent5b75f4a3564f004a02ed8d65322fce694b58cb33 (diff)
downloadbcm5719-llvm-6ad63744b337892c119c5dbefcb85eef8fc22415.tar.gz
bcm5719-llvm-6ad63744b337892c119c5dbefcb85eef8fc22415.zip
Initialize ProcessPOSIXLog by NativeProcessLinux
Previously it was initialized by ProcessLinux but lldb-server don't contain ProcessLinux anymore so it have to be initialized by NativeProcessLinux also. Differential revision: http://reviews.llvm.org/D8080 llvm-svn: 231482
-rw-r--r--lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp21
-rw-r--r--lldb/source/Plugins/Process/Linux/NativeProcessLinux.h3
-rw-r--r--lldb/tools/lldb-server/lldb-gdbserver.cpp24
3 files changed, 43 insertions, 5 deletions
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
index 78b98f29d36..9b91751aa0d 100644
--- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
+++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
@@ -1125,6 +1125,27 @@ NativeProcessLinux::AttachArgs::~AttachArgs()
// Public Static Methods
// -----------------------------------------------------------------------------
+void
+NativeProcessLinux::Initialize()
+{
+ static ConstString g_name("linux");
+ static bool g_initialized = false;
+
+ if (!g_initialized)
+ {
+ g_initialized = true;
+
+ Log::Callbacks log_callbacks = {
+ ProcessPOSIXLog::DisableLog,
+ ProcessPOSIXLog::EnableLog,
+ ProcessPOSIXLog::ListLogCategories
+ };
+
+ Log::RegisterLogChannel (g_name, log_callbacks);
+ ProcessPOSIXLog::RegisterPluginName (g_name);
+ }
+}
+
lldb_private::Error
NativeProcessLinux::LaunchProcess (
lldb_private::Module *exe_module,
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
index 76aff7d41e3..7484fea8b32 100644
--- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
+++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
@@ -48,6 +48,9 @@ namespace lldb_private
// ---------------------------------------------------------------------
// Public Static Methods
// ---------------------------------------------------------------------
+ static void
+ Initialize();
+
static lldb_private::Error
LaunchProcess (
Module *exe_module,
diff --git a/lldb/tools/lldb-server/lldb-gdbserver.cpp b/lldb/tools/lldb-server/lldb-gdbserver.cpp
index 076c7c4fe2f..dc3f6fa4531 100644
--- a/lldb/tools/lldb-server/lldb-gdbserver.cpp
+++ b/lldb/tools/lldb-server/lldb-gdbserver.cpp
@@ -40,6 +40,7 @@
#include "lldb/Interpreter/CommandReturnObject.h"
#include "Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h"
#include "Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h"
+#include "Plugins/Process/Linux/NativeProcessLinux.h"
#ifndef LLGS_PROGRAM_NAME
#define LLGS_PROGRAM_NAME "lldb-server"
@@ -481,11 +482,8 @@ ConnectToRemote (GDBRemoteCommunicationServerLLGS &gdb_server, bool reverse_conn
}
}
-//----------------------------------------------------------------------
-// main
-//----------------------------------------------------------------------
-int
-main_gdbserver (int argc, char *argv[])
+static void
+initialize ()
{
#ifndef _WIN32
// Setup signal handlers first thing.
@@ -493,6 +491,22 @@ main_gdbserver (int argc, char *argv[])
signal (SIGHUP, signal_handler);
#endif
+#if defined (__linux__)
+ //----------------------------------------------------------------------
+ // Linux hosted plugins
+ //----------------------------------------------------------------------
+ NativeProcessLinux::Initialize();
+#endif
+}
+
+//----------------------------------------------------------------------
+// main
+//----------------------------------------------------------------------
+int
+main_gdbserver (int argc, char *argv[])
+{
+ initialize ();
+
const char *progname = argv[0];
const char *subcommand = argv[1];
argc--;
OpenPOWER on IntegriCloud