From owner-freebsd-arch@freebsd.org Wed Jul 20 19:10:34 2016 Return-Path: Delivered-To: freebsd-arch@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ACCE4B9F84F for ; Wed, 20 Jul 2016 19:10:34 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8EEBE178D for ; Wed, 20 Jul 2016 19:10:34 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 54ED7B94B for ; Wed, 20 Jul 2016 15:10:33 -0400 (EDT) From: John Baldwin To: freebsd-arch@freebsd.org Subject: Re: Retiring in-tree GDB Date: Wed, 20 Jul 2016 12:00:21 -0700 Message-ID: <4450836.nX37FfBzNy@ralph.baldwin.cx> User-Agent: KMail/4.14.3 (FreeBSD/10.3-STABLE; KDE/4.14.3; amd64; ; ) In-Reply-To: <2678091.es0AGJQ0Ou@ralph.baldwin.cx> References: <2678091.es0AGJQ0Ou@ralph.baldwin.cx> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Wed, 20 Jul 2016 15:10:33 -0400 (EDT) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jul 2016 19:10:34 -0000 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? -- John Baldwin