[lldb-dev] gdb-remote incompatibility with gdbserver?

Pavel Labath via lldb-dev lldb-dev at lists.llvm.org
Wed Dec 6 04:46:49 PST 2017


On 6 December 2017 at 12:40, Pedro Alves via lldb-dev
<lldb-dev at lists.llvm.org> wrote:
> On 12/05/2017 11:17 PM, David Manouchehri wrote:
>> Is there a user accessible setting to force on XML target descriptions
>> in new-gdbsever?
>
> In gdbserver?  Nope.
>
> There's a setting in GDB to force it to not fetch descriptions,
> which I found out today didn't actually work.  Fixed now in master [1].
> GDB works fine against gdbserver with XML force-disabled, so
>
> I suspect something else is going on.
>
> Maybe a disagreement about who adjusts the PC after a breakpoint trap
> between lldb and gdbserver?  (given the spurious SIGTRAPs and SIGSEGVs)
> gdb and gdbserver negotiate that via  qSupported.  If both agree on
> the "swbreak+" feature, then gdbserver handles it (and reports a "T05 swbreak"
> for int3 traps).  Otherwise gdbserver assumes that the client (gdb/lldb) will,
> so doesn't do it itself.  I did a quick grep on a lldb checkout I had
> around here and didn't find any "swbreak" hit, but maybe lldb assumes
> the server does it?
>

I think that could be (a part of) the problem. lldb-server always
adjusts the PC (see NativeProcessLinux::FixupBreakpointPCsAsNeeded). I
am unsure whether there is any additional fixup logic in the client.


More information about the lldb-dev mailing list