Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Oct 2015 13:36:28 -0700
From:      John Baldwin <jhb@freebsd.org>
To:        'freebsd-arch' <freebsd-arch@freebsd.org>
Subject:   Retiring in-tree GDB
Message-ID:  <2678091.es0AGJQ0Ou@ralph.baldwin.cx>

next in thread | raw e-mail | index | archive | help
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.

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.

Comments?

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2678091.es0AGJQ0Ou>