[lldb-dev] Increasing support for other gdbservers
gbenson at redhat.com
Tue Mar 31 03:26:22 PDT 2015
Greg Clayton wrote:
> So GDB now supports all architectures and all OS variants in a
> single binary? ARM + x86_64 + i386 + MIPs + PPC for linux, darwin,
> Windows etc? The last time I worked with GDB, which was pre GPLv3,
> each GDB was compiled for a specific architecture (or closely
> related architectures) and a single OS. This is what I meant about
> LLDB handling all architectures and OS variants from the same
> LLDB. If GDB has changed that much since I have last looked at it I
> am very happy to hear that.
Ah, that was a while ago, some things have changed :) Since about
seven years ago you can configure GDB with --enable-targets=all (or
some subset that you're interested in). It's not the default, it
takes longer to build, but if you do build like that it should work.
> I know about the register numbering stuff and I would love to see
> support for the "$qXfer:features:" added to LLDB. The one thing this
> data doesn't contain is the register numbers for the ABI (DWARF
> register numbers (for debug info), compiler register numbers (for
> like .eh_frame)), but that info could be inferred from an ABI plugin
> that we could infer from the "osabi" of "GNU/Linux" in the
> <!DOCTYPE target SYSTEM "gdb-target.dtd">
> <xi:include href="64bit-core.xml"/>
> <xi:include href="64bit-sse.xml"/>
> <xi:include href="64bit-linux.xml"/>
> <xi:include href="64bit-avx.xml"/>
I see that some of GDB's features files have "regnum" fields on the
registers, maybe the ones without just count up? I have to admit that
I've not done any work on GDB at the register level and my knowledge
of DWARF is such that I know what it is and what it's for but that's
all, so I am guessing here.
> So please do submit patches that implement this and we will be happy
> to approve them.
I've worked on GDB, so any code I write is likely tainted from a
licensing standpoint. I can make suggestions though.
I know that the different licenses block a lot of cooperation between
the LLDB and GDB communities, but for things like the gdbserver
protocol we could perhaps cooperate through the protocol documentation
in gdb/doc/gdb.texinfo. That's licensed under GNU FDL, not GPLv3.
More information about the lldb-dev