[lldb-dev] LLDB and gdbserver

Sebastien Metrot meeloo at gmail.com
Thu Sep 5 09:56:20 PDT 2013


Awesome Abib, I can't wait to try this on x86 and then adapt it for arm!

S.


On 05 Sep 2013, at 18:16 , Abid, Hafiz <Hafiz_Abid at mentor.com> wrote:

> I was able to make the LLDB work with gdbserver. Running, stopping, source stepping were working ok. I needed to patch 2 areas to make it work. I would like comments on those changes before I can get them ready for submission.
> 
> If dynamic register info is not available then GDBRemoteRegisterContext is relying on hardcoded registers for ARM. I have to added similar hard-coded registers for x86_64. Would it make any sense if we keep GDBRemoteRegisterContext for reading/writing the register packets only. The task of translating those packets should be left to some higher level classes. Perhaps something like GDBRemoteRegisterContext_arm, GDBRemoteRegisterContext_x86_64 etc. Or for the time being, hardcoding is considered ok.
> 
> It seems that debugserver decrements the pc after stopping on breakpoint. To find the stop reason, code in ProcessGDBRemote::SetThreadStopInfo() checks for breakpoint on pc. But gdbserver does not decrement the pc in this case. I had to duplicate the above check for (pc - 1) and then decrement the pc accordingly. I was wondering if there is some good way to distinguish if I am connected to debugserver or gdbserver. Can I make use of some of the new packets added by LLDB or perhaps add some option in the gdb-remote command?
> 
> Regards,
> Abid
> 
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev





More information about the lldb-dev mailing list