[PATCH] Tune default DEBUGDIR for NetBSD

Simon Marchi simark@simark.ca
Fri Apr 24 14:38:47 GMT 2020


On 2020-04-08 1:28 p.m., Christian Biesinger via Gdb-patches wrote:
> On Wed, Apr 8, 2020 at 12:21 PM Kamil Rytarowski <n54@gmx.com> wrote:
>>
>> On 08.04.2020 19:18, Christian Biesinger wrote:
>>> On Wed, Apr 8, 2020 at 12:16 PM Kamil Rytarowski <n54@gmx.com> wrote:
>>>>
>>>> NetBSD uses a custom debug file directory /usr/libdata/debug
>>>> for the basesystem and does not use separate debug files in
>>>> pkgsrc (3rd party package collections).
>>>>
>>>> gdb/ChangeLog:
>>>>
>>>>         * configure.ac: Handle NetBSD specific DEBUGDIR.
>>>>         * configure: Regenerate.
>>>> ---
>>>>  gdb/ChangeLog    |  5 +++++
>>>>  gdb/configure    | 11 ++++++++++-
>>>>  gdb/configure.ac | 11 ++++++++++-
>>>>  3 files changed, 25 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
>>>> index 7ea85799211..af6844b6ace 100644
>>>> --- a/gdb/ChangeLog
>>>> +++ b/gdb/ChangeLog
>>>> @@ -1,3 +1,8 @@
>>>> +2020-04-08  Kamil Rytarowski  <n54@gmx.com>
>>>> +
>>>> +       * configure.ac: Handle NetBSD specific DEBUGDIR.
>>>> +       * configure: Regenerate.
>>>> +
>>>>  2020-04-08  Simon Marchi  <simon.marchi@polymtl.ca>
>>>>
>>>>         * dwarf2/read.c (read_gdb_index_from_buffer): Remove objfile
>>>> diff --git a/gdb/configure b/gdb/configure
>>>> index afafc2c8d18..636a3f69f00 100755
>>>> --- a/gdb/configure
>>>> +++ b/gdb/configure
>>>> @@ -6416,6 +6416,15 @@ if test x"$gdb_cv_have_makeinfo_click" = xyes; then
>>>>  fi
>>>>
>>>>
>>>> +case "${host}" in
>>>> +  *-*-netbsd*)
>>>> +    DEFAULTDEBUGDIR=/usr/libdata/debug
>>>
>>> Wouldn't it be better to make this ${prefix}/libdata/debug?
>>>
>>
>> Not really, as this path specifies the userland debug files only. In
>> third party we don't use separate debug files. The default prefix is
>> /usr/local and without specifying --prefix=/usr debug files won't work.
>>
>> This path is already hardcoded in LLDB for this OS.
> 
> Oh, I see -- you're saying that GDB will usually be configured with as
> /usr/local prefix, but is still expected to find system debug data in
> /usr/libdata/debug. Makes sense.

I'm not terribly opposed to the hard-coded path, but I'm more concerned that
we will have different behaviors for NetBSD and Linux, when we face pretty
much the same situation.  On Linux, if you build GDB by hand, you end up
with /usr/local/lib/debug as the debugdir, when 99.9% of the time you actually
want /usr/lib/debug.  I've been bitten by this in the past, before I learned
about that, and I think users constantly get bitten by it.

So, for the moment, could you consider making it ${prefix}/libdata/debug, and
stick --with-separate-debug-dir=/usr/libdata/debug in your pkgsrc?

We can then discuss more broadly about making the default value /usr/lib/debug
on Linux and /usr/libdata/debug on NetBSD, keeping both behaviors in sync.

Simon


More information about the Gdb-patches mailing list