Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Apr 2014 14:37:17 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Time for turning off gdb by default? Or worse...
Message-ID:  <674B7C0B-9235-4030-9A44-7F9984CA2F67@bsdimp.com>
In-Reply-To: <201404091145.58792.jhb@freebsd.org>
References:  <DD38131E-9A43-4EFA-A27D-ED6B64F6A35A@bsdimp.com> <201404091145.58792.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
OK. Here=92s the summary of the thread:

(1) gdb in tree is ancient
(2) kgdb is quite useful, and only in tree
(3) ports gdb rocks, but=85
(4) ports gdb exists only for a few architectures
(5) Fixing ptrace will allow us to use a more-stock gdb

Action items:

(1) Create a wiki page with timeline to deactivation and removal.
(2) Create milestones along the path for
     (a) kgdb + devel/gdb*
     (b) architectural coverage
     (c) ptrace fixes
(3) profit.

I=92ve done these steps and documented them at =
https://wiki.freebsd.org/GdbRetirement to allow work to progress (or =
not) without repeating this discussion. Thanks for everybody=92s =
feedback. Feel free to comment on the wiki page or edit it for missing =
items (or testing you=92ve done).

At this point, I=92m withdrawing the gdb disabled by default patches.

Warner


On Apr 9, 2014, at 9:45 AM, John Baldwin <jhb@FreeBSD.org> wrote:

> On Tuesday, April 08, 2014 4:34:35 pm Warner Losh wrote:
>> Greetings,
>>=20
>> The gdb in the tree seems to be of very limited usefulness these =
days. It
>> doesn=92t seem to work on clang-enabled architectures w/o building =
-gdwarf-2,
>> it doesn=92t seem to work with threaded applications, and on some
>> architectures it doesn=92t seem to work at all (mips comes to mind, =
but it may
>> have been the two binaries I tried).
>>=20
>> It seems like we=92d be doing our users a favor by applying:
>>=20
>> diff -r 8bfca9de870e share/mk/bsd.own.mk
>> --- a/share/mk/bsd.own.mk
>> +++ b/share/mk/bsd.own.mk
>> @@ -266,7 +266,6 @@ WITH_HESIOD=3D
>>     FREEBSD_UPDATE \
>>     GAMES \
>>     GCOV \
>> -    GDB \
>>     GNU \
>>     GNU_GREP_COMPAT \
>>     GPIB \
>> @@ -355,6 +354,7 @@ WITH_HESIOD=3D
>>     CLANG_EXTRAS \
>>     CTF \
>>     DEBUG_FILES \
>> +    GDB \
>>     HESIOD \
>>     INSTALL_AS_USER \
>>     LLDB \
>>=20
>> to the tree, which will turn gdb off by default. It may make more =
sense to
>> just remove it entirely, but I=92m not sure I want to go there just =
yet in
>> case there are things that I=92m missing. I believe that the port =
will be
>> adequate for all architectures we support, but haven=92t tested this =
directly
>> yet. I do know that on amd64, the port just worked, where the in-tree =
gdb
>> was an epic fail.
>=20
> kgdb is a must.  I think it would be less work to forward port kgdb =
support
> into gdb7 from ports than to keep our ancient gdb alive.  Some things =
I can
> think of for gdb7:
>=20
> 1) The threads patch could be greatly simplified if we fixed the =
ptrace
>    backend to properly handle inferiors with tids.  This would remove =
a
>    lot of the threads patch where the thread inferior tries to invoke
>    ptrace directly and convert registers, etc.  The way it does this =
now
>    is a total hack and requires much larger patches.  This would also
>    make it a lot easier to get thread debugging working on more
>    architectures as the thread-db bits would become mostly MI (if not
>    entirely)
>=20
> 2) Porting the kgdb frontend to work with gdb7.  It would be nicer to
>    have a more modern base for kgdb and the ability to use python
>    scripting with kgdb, custom printers for in-kernel structures, etc.
>=20
> I think if we have a useful devel/kgdb that builds against devel/gdb =
we
> can probably think about retiring gdb<ancient>, but it's premature =
right
> now.
>=20
> --=20
> John Baldwin




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?674B7C0B-9235-4030-9A44-7F9984CA2F67>