John Baldwin
2015-10-20 20:36:28 UTC
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?
(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
John Baldwin