diff options
| -rw-r--r-- | lldb/source/Host/common/Host.cpp | 11 | ||||
| -rw-r--r-- | lldb/source/Target/Target.cpp | 8 |
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 |

