summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2015-11-05 00:46:25 +0000
committerEnrico Granata <egranata@apple.com>2015-11-05 00:46:25 +0000
commit5f92a130ffc225c8120ae7e8fd80e695dd4e51f6 (patch)
tree8b96f078685b3914b3e413c568d52d63538644a3 /lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h
parentc77ce7b6263037f717369ce0ca95d51b31b72168 (diff)
downloadbcm5719-llvm-5f92a130ffc225c8120ae7e8fd80e695dd4e51f6.tar.gz
bcm5719-llvm-5f92a130ffc225c8120ae7e8fd80e695dd4e51f6.zip
Teach LLDB how to directly launch processes on the iOS simulator
This allows for command-line debugging of iOS simulator binaries (as long as UI is not required, or a full UI simulator has previously been otherwise launched), as well as execution of the LLDB test suite on the iOS simulator This is known to compile on OSX 10.11 GM - feedback from people on other platforms and/or older versions of OSX as to the buildability of this code is greatly appreciated llvm-svn: 252112
Diffstat (limited to 'lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h')
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h39
1 files changed, 19 insertions, 20 deletions
diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h b/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h
index 49c34ff84b1..f84d04b9c48 100644
--- a/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h
+++ b/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h
@@ -16,30 +16,30 @@
// Other libraries and framework includes
// Project includes
-#include "PlatformDarwin.h"
+#include "PlatformAppleSimulator.h"
-class PlatformiOSSimulator : public PlatformDarwin
+class PlatformiOSSimulator : public PlatformAppleSimulator
{
public:
PlatformiOSSimulator ();
-
+
~PlatformiOSSimulator() override;
-
+
//------------------------------------------------------------
// Class Functions
//------------------------------------------------------------
static lldb::PlatformSP
CreateInstance (bool force, const lldb_private::ArchSpec *arch);
-
+
static void
Initialize ();
-
+
static void
Terminate ();
static lldb_private::ConstString
GetPluginNameStatic ();
-
+
static const char *
GetDescriptionStatic();
@@ -57,7 +57,7 @@ public:
{
return 1;
}
-
+
//------------------------------------------------------------
// lldb_private::Platform functions
//------------------------------------------------------------
@@ -65,21 +65,21 @@ public:
ResolveExecutable (const lldb_private::ModuleSpec &module_spec,
lldb::ModuleSP &module_sp,
const lldb_private::FileSpecList *module_search_paths_ptr) override;
-
+
const char *
GetDescription () override
{
return GetDescriptionStatic();
}
-
+
void
GetStatus (lldb_private::Stream &strm) override;
-
+
virtual lldb_private::Error
- GetSymbolFile (const lldb_private::FileSpec &platform_file,
+ GetSymbolFile (const lldb_private::FileSpec &platform_file,
const lldb_private::UUID *uuid_ptr,
lldb_private::FileSpec &local_file);
-
+
lldb_private::Error
GetSharedModule (const lldb_private::ModuleSpec &module_spec,
lldb_private::Process* process,
@@ -87,13 +87,13 @@ public:
const lldb_private::FileSpecList *module_search_paths_ptr,
lldb::ModuleSP *old_module_sp_ptr,
bool *did_create_ptr) override;
-
+
uint32_t
FindProcesses (const lldb_private::ProcessInstanceInfoMatch &match_info,
lldb_private::ProcessInstanceInfoList &process_infos) override;
-
+
bool
- GetSupportedArchitectureAtIndex (uint32_t idx,
+ GetSupportedArchitectureAtIndex (uint32_t idx,
lldb_private::ArchSpec &arch) override;
void
@@ -101,15 +101,14 @@ public:
{
return PlatformDarwin::AddClangModuleCompilationOptionsForSDKType(target, options, PlatformDarwin::SDKType::iPhoneSimulator);
}
-
+
protected:
std::string m_sdk_directory;
std::string m_build_update;
- //std::vector<FileSpec> m_device_support_os_dirs;
const char *
- GetSDKsDirectory();
-
+ GetSDKDirectoryAsCString();
+
private:
DISALLOW_COPY_AND_ASSIGN (PlatformiOSSimulator);
};
OpenPOWER on IntegriCloud