diff options
| -rw-r--r-- | lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp | 21 | ||||
| -rw-r--r-- | lldb/source/Plugins/Process/Linux/NativeProcessLinux.h | 3 | ||||
| -rw-r--r-- | lldb/tools/lldb-server/lldb-gdbserver.cpp | 24 |
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--; |

