summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/source/Host/common/Host.cpp11
-rw-r--r--lldb/source/Target/Target.cpp8
2 files changed, 11 insertions, 8 deletions
diff --git a/lldb/source/Host/common/Host.cpp b/lldb/source/Host/common/Host.cpp
index 78c30f25955..374777f6755 100644
--- a/lldb/source/Host/common/Host.cpp
+++ b/lldb/source/Host/common/Host.cpp
@@ -1227,19 +1227,20 @@ Host::GetProcessInfo (lldb::pid_t pid, ProcessInstanceInfo &process_info)
lldb::TargetSP
Host::GetDummyTarget (lldb_private::Debugger &debugger)
{
- static TargetSP dummy_target;
+ static TargetSP g_dummy_target_sp;
- if (!dummy_target)
+ if (!g_dummy_target_sp)
{
+ ArchSpec default_arch(Target::GetDefaultArchitecture());
Error err = debugger.GetTargetList().CreateTarget(debugger,
FileSpec(),
- Host::GetTargetTriple().AsCString(),
+ default_arch.GetTriple().getTriple().c_str(),
false,
NULL,
- dummy_target);
+ g_dummy_target_sp);
}
- return dummy_target;
+ return g_dummy_target_sp;
}
struct ShellInfo
diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp
index 18368e6aa42..410d76ff9e6 100644
--- a/lldb/source/Target/Target.cpp
+++ b/lldb/source/Target/Target.cpp
@@ -1512,10 +1512,12 @@ ArchSpec
Target::GetDefaultArchitecture ()
{
lldb::UserSettingsControllerSP settings_controller_sp (GetSettingsController());
-
+ ArchSpec default_arch;
if (settings_controller_sp)
- return static_cast<Target::SettingsController *>(settings_controller_sp.get())->GetArchitecture ();
- return ArchSpec();
+ default_arch = static_cast<Target::SettingsController *>(settings_controller_sp.get())->GetArchitecture ();
+ if (!default_arch.IsValid())
+ default_arch = Host::GetArchitecture ();
+ return default_arch;
}
void
OpenPOWER on IntegriCloud