diff --git a/lldb/include/lldb/Target/Target.h b/lldb/include/lldb/Target/Target.h index 81af7ba22527..6785c3e87dd9 100644 --- a/lldb/include/lldb/Target/Target.h +++ b/lldb/include/lldb/Target/Target.h @@ -1044,12 +1044,6 @@ public: bool ModuleIsExcludedForUnconstrainedSearches (const lldb::ModuleSP &module_sp); - ArchSpec & - GetArchitecture () - { - return m_arch; - } - const ArchSpec & GetArchitecture () const { diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp index e68a5d41a3a7..67dcfad5cf75 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -1091,7 +1091,7 @@ ProcessGDBRemote::DidLaunchOrAttach (ArchSpec& process_arch) if (process_arch.IsValid()) { - ArchSpec &target_arch = GetTarget().GetArchitecture(); + const ArchSpec &target_arch = GetTarget().GetArchitecture(); if (target_arch.IsValid()) { if (log) @@ -1121,20 +1121,23 @@ ProcessGDBRemote::DidLaunchOrAttach (ArchSpec& process_arch) { // Fill in what is missing in the triple const llvm::Triple &remote_triple = process_arch.GetTriple(); - llvm::Triple &target_triple = target_arch.GetTriple(); - if (target_triple.getVendorName().size() == 0) + llvm::Triple new_target_triple = target_arch.GetTriple(); + if (new_target_triple.getVendorName().size() == 0) { - target_triple.setVendor (remote_triple.getVendor()); + new_target_triple.setVendor (remote_triple.getVendor()); - if (target_triple.getOSName().size() == 0) + if (new_target_triple.getOSName().size() == 0) { - target_triple.setOS (remote_triple.getOS()); + new_target_triple.setOS (remote_triple.getOS()); - if (target_triple.getEnvironmentName().size() == 0) - target_triple.setEnvironment (remote_triple.getEnvironment()); + if (new_target_triple.getEnvironmentName().size() == 0) + new_target_triple.setEnvironment (remote_triple.getEnvironment()); } - } + ArchSpec new_target_arch = target_arch; + new_target_arch.SetTriple(new_target_triple); + GetTarget().SetArchitecture(new_target_arch); + } } if (log)