Enable ProcessMachCore plugin on non-apple platforms

Summary:
The plugin already builds fine on other platforms (linux, at least). All
that was necessary was to revitalize the hack in PlatformDarwinKernel
(not a very pretty hack, but it gets us going at least).

I haven't done a thorough investigation of the state of the plugin on
other platforms, but at least the two core file tests we have seem to
pass, so I enable them.

Reviewers: JDevlieghere, jasonmolenda

Subscribers: lldb-commits, mgorny

Differential Revision: https://reviews.llvm.org/D47133

llvm-svn: 332997
This commit is contained in:
Pavel Labath 2018-05-22 16:33:43 +00:00
parent 85d26075f9
commit 4c7763eb2f
6 changed files with 6 additions and 10 deletions

View File

@ -26,7 +26,6 @@ class MachCoreTestCase(TestBase):
lldb.DBG.SetSelectedPlatform(self._initial_platform) lldb.DBG.SetSelectedPlatform(self._initial_platform)
super(MachCoreTestCase, self).tearDown() super(MachCoreTestCase, self).tearDown()
@skipUnlessDarwin
def test_selected_thread(self): def test_selected_thread(self):
"""Test that the right thread is selected after a core is loaded.""" """Test that the right thread is selected after a core is loaded."""
# Create core form YAML. # Create core form YAML.

View File

@ -7,7 +7,6 @@ class TestTargetSourceMap(TestBase):
mydir = TestBase.compute_mydir(__file__) mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@no_debug_info_test @no_debug_info_test
def test_source_map(self): def test_source_map(self):
"""Test target.source-map' functionality.""" """Test target.source-map' functionality."""

View File

@ -84,6 +84,7 @@
#include "Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h" #include "Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h"
#include "Plugins/Process/elf-core/ProcessElfCore.h" #include "Plugins/Process/elf-core/ProcessElfCore.h"
#include "Plugins/Process/gdb-remote/ProcessGDBRemote.h" #include "Plugins/Process/gdb-remote/ProcessGDBRemote.h"
#include "Plugins/Process/mach-core/ProcessMachCore.h"
#include "Plugins/Process/minidump/ProcessMinidump.h" #include "Plugins/Process/minidump/ProcessMinidump.h"
#include "Plugins/ScriptInterpreter/None/ScriptInterpreterNone.h" #include "Plugins/ScriptInterpreter/None/ScriptInterpreterNone.h"
#include "Plugins/SymbolFile/DWARF/SymbolFileDWARF.h" #include "Plugins/SymbolFile/DWARF/SymbolFileDWARF.h"
@ -104,7 +105,6 @@
#include "Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.h" #include "Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.h"
#include "Plugins/Platform/MacOSX/PlatformiOSSimulator.h" #include "Plugins/Platform/MacOSX/PlatformiOSSimulator.h"
#include "Plugins/Process/MacOSX-Kernel/ProcessKDP.h" #include "Plugins/Process/MacOSX-Kernel/ProcessKDP.h"
#include "Plugins/Process/mach-core/ProcessMachCore.h"
#include "Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.h" #include "Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.h"
#endif #endif
#include "Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h" #include "Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h"
@ -313,6 +313,7 @@ void SystemInitializerFull::Initialize() {
JITLoaderGDB::Initialize(); JITLoaderGDB::Initialize();
ProcessElfCore::Initialize(); ProcessElfCore::Initialize();
ProcessMachCore::Initialize();
minidump::ProcessMinidump::Initialize(); minidump::ProcessMinidump::Initialize();
MemoryHistoryASan::Initialize(); MemoryHistoryASan::Initialize();
AddressSanitizerRuntime::Initialize(); AddressSanitizerRuntime::Initialize();
@ -353,7 +354,6 @@ void SystemInitializerFull::Initialize() {
#if defined(__APPLE__) #if defined(__APPLE__)
SymbolVendorMacOSX::Initialize(); SymbolVendorMacOSX::Initialize();
ProcessKDP::Initialize(); ProcessKDP::Initialize();
ProcessMachCore::Initialize();
PlatformAppleTVSimulator::Initialize(); PlatformAppleTVSimulator::Initialize();
PlatformAppleWatchSimulator::Initialize(); PlatformAppleWatchSimulator::Initialize();
PlatformRemoteAppleTV::Initialize(); PlatformRemoteAppleTV::Initialize();
@ -440,6 +440,7 @@ void SystemInitializerFull::Terminate() {
JITLoaderGDB::Terminate(); JITLoaderGDB::Terminate();
ProcessElfCore::Terminate(); ProcessElfCore::Terminate();
ProcessMachCore::Terminate();
minidump::ProcessMinidump::Terminate(); minidump::ProcessMinidump::Terminate();
MemoryHistoryASan::Terminate(); MemoryHistoryASan::Terminate();
AddressSanitizerRuntime::Terminate(); AddressSanitizerRuntime::Terminate();
@ -471,7 +472,6 @@ void SystemInitializerFull::Terminate() {
#if defined(__APPLE__) #if defined(__APPLE__)
DynamicLoaderDarwinKernel::Terminate(); DynamicLoaderDarwinKernel::Terminate();
ProcessMachCore::Terminate();
ProcessKDP::Terminate(); ProcessKDP::Terminate();
SymbolVendorMacOSX::Terminate(); SymbolVendorMacOSX::Terminate();
PlatformAppleTVSimulator::Terminate(); PlatformAppleTVSimulator::Terminate();

View File

@ -1,9 +1,6 @@
add_subdirectory(Darwin-Kernel)
add_subdirectory(MacOSX-DYLD) add_subdirectory(MacOSX-DYLD)
add_subdirectory(POSIX-DYLD) add_subdirectory(POSIX-DYLD)
add_subdirectory(Static) add_subdirectory(Static)
add_subdirectory(Hexagon-DYLD) add_subdirectory(Hexagon-DYLD)
add_subdirectory(Windows-DYLD) add_subdirectory(Windows-DYLD)
if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
add_subdirectory(Darwin-Kernel)
endif()

View File

@ -201,6 +201,7 @@ public:
// source/Host/macosx/cfcpp utilities. // source/Host/macosx/cfcpp utilities.
class PlatformDarwinKernel { class PlatformDarwinKernel {
public:
static lldb_private::ConstString GetPluginNameStatic(); static lldb_private::ConstString GetPluginNameStatic();
}; };

View File

@ -11,9 +11,9 @@ elseif (CMAKE_SYSTEM_NAME MATCHES "Windows")
add_subdirectory(Windows/Common) add_subdirectory(Windows/Common)
elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin") elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin")
add_subdirectory(MacOSX-Kernel) add_subdirectory(MacOSX-Kernel)
add_subdirectory(mach-core)
endif() endif()
add_subdirectory(gdb-remote) add_subdirectory(gdb-remote)
add_subdirectory(Utility) add_subdirectory(Utility)
add_subdirectory(elf-core) add_subdirectory(elf-core)
add_subdirectory(mach-core)
add_subdirectory(minidump) add_subdirectory(minidump)