[LLDB][MIPS] MIPS32 branch emulation and single-stepping
authorJaydeep Patil <jaydeep.patil@imgtec.com>
Tue, 23 Jun 2015 03:37:08 +0000 (03:37 +0000)
committerJaydeep Patil <jaydeep.patil@imgtec.com>
Tue, 23 Jun 2015 03:37:08 +0000 (03:37 +0000)
commitc60c94528cd47100642fba1e0f2e9b8d225d8d67
tree85ed7a3d7d10a65366009fa871d7d540d6537c3e
parent49943652f57c92efa02c45f12e23b06a2ac8009b
[LLDB][MIPS] MIPS32 branch emulation and single-stepping

    SUMMARY:
    This patch implements
      1. Emulation of MIPS32 branch instructions
      2. Enable single-stepping for MIPS32 instructions
      3. Correction in emulation of MIPS64 branch instructions with delay slot
      4. Adjust breakpoint address when breakpoint is hit in a forbidden slot of compact branch instruction

    Reviewers: clayborg
    Subscribers: mohit.bhakkad, sagar, bhushan, lldb-commits, emaste, nitesh.jain
    Differential Revision: http://reviews.llvm.org/D10596

llvm-svn: 240373
lldb/include/lldb/Host/common/NativeRegisterContext.h
lldb/source/Host/common/NativeRegisterContext.cpp
lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h
lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp
lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.h