Date: Tue, 20 Oct 2015 17:03:57 -0400 From: Ed Maste <emaste@freebsd.org> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-arch <freebsd-arch@freebsd.org> Subject: Re: Retiring in-tree GDB Message-ID: <CAPyFy2B2UVUP3V5n7GiNndzSaeXCADioXhnbrNGyu%2Buj0xCSdw@mail.gmail.com> In-Reply-To: <2678091.es0AGJQ0Ou@ralph.baldwin.cx> References: <2678091.es0AGJQ0Ou@ralph.baldwin.cx>
next in thread | previous in thread | raw e-mail | index | archive | help
On 20 October 2015 at 16:36, John Baldwin <jhb@freebsd.org> wrote: > > However, I would like to propose that we retire the in-tree GDB for some of > our platforms (namely x86) for 11. In particular, I think we should default > to enabling lldb and disabling gdb for platforms that meet the following > criteria: > > 1) devel/gdb works including thread and kgdb support > 2) lldb works > > We could perhaps be more aggressive and handle lldb and gdb toggles > independently, but I think we want to ship some sort of userland debugger > out of the box on all of our platforms. The question I think might be if > we end up with platforms where 1) is true but 2) is not (such as powerpc). > > I believe that these conditions are only true for x86 currently. For 11 I'd go further, and stop shipping the in-tree gdb if either 1 or 2 is true. Our in-tree gdb is over a decade old and has a number of issues. I'm not sure there's much value in keeping it if 'pkg install gdb' provides a gdb that's better in every way. I'd suggest we do it in several steps, perhaps: - Turn on lldb by default on amd64 (where it's at least as functional as in-tree gdb) and on arm64 (where it's the most functional debugger with FreeBSD support now). - Send an announcement with the current status, information on the gdb port, next steps, and to encourage testing of lldb on arm, powerpc, and mips. - Fix LLDB/i386 support - Turn on lldb by default on remaining platforms (excluding sparc64, which lacks support upstream) - Fix remaining devel/gdb issues - Turn off in-tree gdb on all platforms where either devel/gdb or lldb works There is a Phabricator review open for the first step at https://reviews.freebsd.org/D2 > When this topic was last raised (by Warner I believe), the primary objection > (certainly my main one) was that the in-tree kgdb was the only kernel debugger > available. kgdb is now available via the devel/gdb port in ports (and as of > last week was enabled by default, so 'pkg install gdb' will get you a kgdb > binary). The kgdb in ports is in general superior to the one in the base > system. It is a cross debugger by default (and with my pending patches to > libkvm it even supports cross debugging of vmcores). > > There are some issues still with devel/gdb: namely it does not currently > support some of the platforms supported by our in tree gdb such as arm and > mips. For these platforms I think the in-tree gdb will need to remain until > there is a suitable alternative. > > Comments? > > -- > John Baldwin > _______________________________________________ > freebsd-arch@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPyFy2B2UVUP3V5n7GiNndzSaeXCADioXhnbrNGyu%2Buj0xCSdw>