[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