diff options
author | Mohit K. Bhakkad <mohit.bhakkad@gmail.com> | 2015-06-10 10:02:21 +0000 |
---|---|---|
committer | Mohit K. Bhakkad <mohit.bhakkad@gmail.com> | 2015-06-10 10:02:21 +0000 |
commit | efc91053b816d4a2d020c47287fb02888d5f26e0 (patch) | |
tree | 554ef4c7ff1f2d0f68a44014013c0aa5a1ecb6cc | |
parent | dc3fa24116774b7b748fa238417d6ac8f8fdb792 (diff) | |
download | lldb-studio-1.4-release.tar.gz |
[LLDB][MIPS] Getting correct signals for MIPS Hoststudio-master-releasestudio-1.4-releasestudio-1.3-releasestudio-1.3-dev
Patch by Nitesh Jain
Reviewers: clayborg, ovyalov.
Subscribers: jaydeep, bhushan, dsanders, mohit.bhakkad, sagar, labath, lldb-commits.
Differential Revision: http://reviews.llvm.org/D10180
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@239463 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | source/Host/linux/Host.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/source/Host/linux/Host.cpp b/source/Host/linux/Host.cpp index 98b08d092..dddd2f3e8 100644 --- a/source/Host/linux/Host.cpp +++ b/source/Host/linux/Host.cpp @@ -37,7 +37,7 @@ #include "lldb/Symbol/ObjectFile.h" #include "Plugins/Process/Linux/ProcFileReader.h" #include "Plugins/Process/Utility/LinuxSignals.h" - +#include "Plugins/Process/Utility/MipsLinuxSignals.h" using namespace lldb; using namespace lldb_private; @@ -390,11 +390,24 @@ Host::GetEnvironment (StringList &env) return i; } +// TODO: Generalize this with a function Host::GetSignals() as discussed at http://reviews.llvm.org/D10180 const lldb_private::UnixSignalsSP& Host::GetUnixSignals () { - static const lldb_private::UnixSignalsSP s_unix_signals_sp (new process_linux::LinuxSignals ()); - return s_unix_signals_sp; + ArchSpec target_arch = HostInfoBase::GetArchitecture(); + if(target_arch.GetTriple ().getArch () == llvm::Triple::mips64 || + target_arch.GetTriple ().getArch () == llvm::Triple::mips64el || + target_arch.GetTriple ().getArch () == llvm::Triple::mips || + target_arch.GetTriple ().getArch () == llvm::Triple::mipsel) { + static const lldb_private::UnixSignalsSP s_unix_signals_sp (new process_linux::MipsLinuxSignals ()); + return s_unix_signals_sp; + } + else + { + static const lldb_private::UnixSignalsSP s_unix_signals_sp (new process_linux::LinuxSignals ()); + return s_unix_signals_sp; + } + } Error |