Skip site navigation (1)Skip section navigation (2)
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>