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 <[email protected]> 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 > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
