Time for turning off gdb by default? Or worse...

Warner Losh imp at bsdimp.com
Wed Apr 9 03:18:02 UTC 2014


On Apr 8, 2014, at 4:17 PM, Ian Lepore <ian at FreeBSD.org> wrote:

> On Tue, 2014-04-08 at 15:43 -0600, Warner Losh wrote:
>> On Apr 8, 2014, at 3:24 PM, Steve Kargl <sgk at troutmask.apl.washington.edu> wrote:
>> 
>>> On Tue, Apr 08, 2014 at 02:34:35PM -0600, Warner Losh wrote:
>>> 
>>> (courtesy line wrap to something well below 80 characters)
>>> 
>>>> The gdb in the tree seems to be of very limited usefulness
>>>> these days. It doesn?t seem to work on clang-enabled
>>>> architectures w/o building -gdwarf-2, it doesn?t seem to work
>>>> with threaded applications, and on some architectures it
>>>> doesn?t seem to work at all (mips comes to mind, but it may
>>>> have been the two binaries I tried).
>>>> 
>>> 
>>> (patch removed)
>>> 
>>>> to the tree, which will turn gdb off by default.  It may make
>>>> more sense to just remove it entirely, but I?m not sure I want
>>>> to go there just yet in case there are things that I?m missing.
>>>> I believe that the port will be adequate for all architectures
>>>> we support, but haven?t tested this directly yet. I do know
>>>> that on amd64, the port just worked, where the in-tree gdb
>>>> was an epic fail.
>>> 
>>> I suppose the obvious questions are:
>>> 
>>> 1) Is lldb ready for prime time?
>> 
>> Doesn’t matter.
>> 
>>> 2) What effect does this have on kgdb?  Note, /sys/conf/NOTES contains
>> 
>> Unfortunately, kgdb isn’t available as a port, so that does matter. It is one thing arguing against this change.
>> 
>>> #makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
>>> 
>>> Should this be updates to DEBUG=-gdwarf-2?
>> 
>> Nope. It should stay exactly as it is. We convert -g to -gdwarf-2 for those compilers that need it.
> 
> Only when building the kernel.  For userland we've got nothing.  gdb
> aside, even addr2line doesn't work on userland binaries anymore.  It
> used to be hard to do debugging for arm.  Now it's impossible.

I thought I’ve had it work when I used DEBUG_FLAGS=-gdwarf-2 rather than DEBUG_FLAGS=-g.

Warner


More information about the freebsd-arch mailing list