Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Jul 2016 08:50:38 -0700
From:      John Baldwin <jhb@freebsd.org>
To:        Slawa Olhovchenkov <slw@zxy.spb.ru>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Retiring in-tree GDB
Message-ID:  <1551095.z6OxMBXrR7@ralph.baldwin.cx>
In-Reply-To: <20160721092635.GN20831@zxy.spb.ru>
References:  <2678091.es0AGJQ0Ou@ralph.baldwin.cx> <4450836.nX37FfBzNy@ralph.baldwin.cx> <20160721092635.GN20831@zxy.spb.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, July 21, 2016 12:26:35 PM Slawa Olhovchenkov wrote:
> On Wed, Jul 20, 2016 at 12:00:21PM -0700, John Baldwin wrote:
> 
> > On Tuesday, October 20, 2015 01:36:28 PM John Baldwin wrote:
> > > 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?
> > 
> > I believe I've fixed the one last thing that was depending on /usr/bin/gdb
> > (crashinfo) to use devel/gdb if it is present.  I'd either like to disable
> > the base gdb on amd64 in the next week or so on HEAD, or perhaps if people are
> > really gutsy, disable it for all platforms on HEAD.  We still don't have kgdb
> > in ports for non-x86 (though for ppc at least kgdb in ports and base is
> > equally dysfunctional).
> > 
> > However, to start with:
> > 
> > 1) Does anyone have a reason to keep /usr/bin/gdb on amd64?
> > 
> > 2) Does anyone have a reason to keep /usr/bin/gdb on !amd64?
> 
> lldb replace /usr/bin/gdb?
> lldb still bundled with base system?

lldb is bundled on amd64 and arm.  It does not include anything equivalent to
kgdb (yet), but you are also much better off using kgdb from ports anyway.

-- 
John Baldwin



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