[PATCH] Tune default DEBUGDIR for NetBSD

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH] Tune default DEBUGDIR for NetBSD

Kamil Rytarowski
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  <[hidden email]>
+
+ * configure.ac: Handle NetBSD specific DEBUGDIR.
+ * configure: Regenerate.
+
 2020-04-08  Simon Marchi  <[hidden email]>

  * 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
+    ;;
+  *)
+    DEFAULTDEBUGDIR=${libdir}/debug
+    ;;
+esac
+


 # Check whether --with-separate-debug-dir was given.
@@ -6423,7 +6432,7 @@ if test "${with_separate_debug_dir+set}" = set; then :
   withval=$with_separate_debug_dir;
     DEBUGDIR=$withval
 else
-  DEBUGDIR=${libdir}/debug
+  DEBUGDIR=${DEFAULTDEBUGDIR}
 fi


diff --git a/gdb/configure.ac b/gdb/configure.ac
index b9dbe13232a..3cef95fbcb8 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -93,9 +93,18 @@ if test x"$gdb_cv_have_makeinfo_click" = xyes; then
 fi
 AC_SUBST(MAKEINFO_EXTRA_FLAGS)

+case "${host}" in
+  *-*-netbsd*)
+    DEFAULTDEBUGDIR=/usr/libdata/debug
+    ;;
+  *)
+    DEFAULTDEBUGDIR=${libdir}/debug
+    ;;
+esac
+
 GDB_AC_WITH_DIR(DEBUGDIR, separate-debug-dir,
     [look for global separate debug info in this path @<:@LIBDIR/debug@:>@],
-    [${libdir}/debug])
+    [${DEFAULTDEBUGDIR}])

 # We can't pass paths as command line arguments.
 # Mingw32 tries to be clever and will convert the paths for us.
--
2.25.0

Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Tune default DEBUGDIR for NetBSD

Sourceware - gdb-patches mailing list
On Wed, Apr 8, 2020 at 12:16 PM Kamil Rytarowski <[hidden email]> 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  <[hidden email]>
> +
> +       * configure.ac: Handle NetBSD specific DEBUGDIR.
> +       * configure: Regenerate.
> +
>  2020-04-08  Simon Marchi  <[hidden email]>
>
>         * 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?

> +    ;;
> +  *)
> +    DEFAULTDEBUGDIR=${libdir}/debug
> +    ;;
> +esac
> +
>
>
>  # Check whether --with-separate-debug-dir was given.
> @@ -6423,7 +6432,7 @@ if test "${with_separate_debug_dir+set}" = set; then :
>    withval=$with_separate_debug_dir;
>      DEBUGDIR=$withval
>  else
> -  DEBUGDIR=${libdir}/debug
> +  DEBUGDIR=${DEFAULTDEBUGDIR}
>  fi
>
>
> diff --git a/gdb/configure.ac b/gdb/configure.ac
> index b9dbe13232a..3cef95fbcb8 100644
> --- a/gdb/configure.ac
> +++ b/gdb/configure.ac
> @@ -93,9 +93,18 @@ if test x"$gdb_cv_have_makeinfo_click" = xyes; then
>  fi
>  AC_SUBST(MAKEINFO_EXTRA_FLAGS)
>
> +case "${host}" in
> +  *-*-netbsd*)
> +    DEFAULTDEBUGDIR=/usr/libdata/debug
> +    ;;
> +  *)
> +    DEFAULTDEBUGDIR=${libdir}/debug
> +    ;;
> +esac
> +
>  GDB_AC_WITH_DIR(DEBUGDIR, separate-debug-dir,
>      [look for global separate debug info in this path @<:@LIBDIR/debug@:>@],
> -    [${libdir}/debug])
> +    [${DEFAULTDEBUGDIR}])
>
>  # We can't pass paths as command line arguments.
>  # Mingw32 tries to be clever and will convert the paths for us.
> --
> 2.25.0
>
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Tune default DEBUGDIR for NetBSD

Kamil Rytarowski
On 08.04.2020 19:18, Christian Biesinger wrote:

> On Wed, Apr 8, 2020 at 12:16 PM Kamil Rytarowski <[hidden email]> 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  <[hidden email]>
>> +
>> +       * configure.ac: Handle NetBSD specific DEBUGDIR.
>> +       * configure: Regenerate.
>> +
>>  2020-04-08  Simon Marchi  <[hidden email]>
>>
>>         * 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.

>> +    ;;
>> +  *)
>> +    DEFAULTDEBUGDIR=${libdir}/debug
>> +    ;;
>> +esac
>> +
>>
>>
>>  # Check whether --with-separate-debug-dir was given.
>> @@ -6423,7 +6432,7 @@ if test "${with_separate_debug_dir+set}" = set; then :
>>    withval=$with_separate_debug_dir;
>>      DEBUGDIR=$withval
>>  else
>> -  DEBUGDIR=${libdir}/debug
>> +  DEBUGDIR=${DEFAULTDEBUGDIR}
>>  fi
>>
>>
>> diff --git a/gdb/configure.ac b/gdb/configure.ac
>> index b9dbe13232a..3cef95fbcb8 100644
>> --- a/gdb/configure.ac
>> +++ b/gdb/configure.ac
>> @@ -93,9 +93,18 @@ if test x"$gdb_cv_have_makeinfo_click" = xyes; then
>>  fi
>>  AC_SUBST(MAKEINFO_EXTRA_FLAGS)
>>
>> +case "${host}" in
>> +  *-*-netbsd*)
>> +    DEFAULTDEBUGDIR=/usr/libdata/debug
>> +    ;;
>> +  *)
>> +    DEFAULTDEBUGDIR=${libdir}/debug
>> +    ;;
>> +esac
>> +
>>  GDB_AC_WITH_DIR(DEBUGDIR, separate-debug-dir,
>>      [look for global separate debug info in this path @<:@LIBDIR/debug@:>@],
>> -    [${libdir}/debug])
>> +    [${DEFAULTDEBUGDIR}])
>>
>>  # We can't pass paths as command line arguments.
>>  # Mingw32 tries to be clever and will convert the paths for us.
>> --
>> 2.25.0
>>

Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Tune default DEBUGDIR for NetBSD

Sourceware - gdb-patches mailing list
On Wed, Apr 8, 2020 at 12:21 PM Kamil Rytarowski <[hidden email]> wrote:

>
> On 08.04.2020 19:18, Christian Biesinger wrote:
> > On Wed, Apr 8, 2020 at 12:16 PM Kamil Rytarowski <[hidden email]> 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  <[hidden email]>
> >> +
> >> +       * configure.ac: Handle NetBSD specific DEBUGDIR.
> >> +       * configure: Regenerate.
> >> +
> >>  2020-04-08  Simon Marchi  <[hidden email]>
> >>
> >>         * 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.

Christian

> >> +    ;;
> >> +  *)
> >> +    DEFAULTDEBUGDIR=${libdir}/debug
> >> +    ;;
> >> +esac
> >> +
> >>
> >>
> >>  # Check whether --with-separate-debug-dir was given.
> >> @@ -6423,7 +6432,7 @@ if test "${with_separate_debug_dir+set}" = set; then :
> >>    withval=$with_separate_debug_dir;
> >>      DEBUGDIR=$withval
> >>  else
> >> -  DEBUGDIR=${libdir}/debug
> >> +  DEBUGDIR=${DEFAULTDEBUGDIR}
> >>  fi
> >>
> >>
> >> diff --git a/gdb/configure.ac b/gdb/configure.ac
> >> index b9dbe13232a..3cef95fbcb8 100644
> >> --- a/gdb/configure.ac
> >> +++ b/gdb/configure.ac
> >> @@ -93,9 +93,18 @@ if test x"$gdb_cv_have_makeinfo_click" = xyes; then
> >>  fi
> >>  AC_SUBST(MAKEINFO_EXTRA_FLAGS)
> >>
> >> +case "${host}" in
> >> +  *-*-netbsd*)
> >> +    DEFAULTDEBUGDIR=/usr/libdata/debug
> >> +    ;;
> >> +  *)
> >> +    DEFAULTDEBUGDIR=${libdir}/debug
> >> +    ;;
> >> +esac
> >> +
> >>  GDB_AC_WITH_DIR(DEBUGDIR, separate-debug-dir,
> >>      [look for global separate debug info in this path @<:@LIBDIR/debug@:>@],
> >> -    [${libdir}/debug])
> >> +    [${DEFAULTDEBUGDIR}])
> >>
> >>  # We can't pass paths as command line arguments.
> >>  # Mingw32 tries to be clever and will convert the paths for us.
> >> --
> >> 2.25.0
> >>
>
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Tune default DEBUGDIR for NetBSD

Kamil Rytarowski
In reply to this post by Kamil Rytarowski
Ping?

On 08.04.2020 19:15, Kamil Rytarowski 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  <[hidden email]>
> +
> + * configure.ac: Handle NetBSD specific DEBUGDIR.
> + * configure: Regenerate.
> +
>  2020-04-08  Simon Marchi  <[hidden email]>
>
>   * 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
> +    ;;
> +  *)
> +    DEFAULTDEBUGDIR=${libdir}/debug
> +    ;;
> +esac
> +
>
>
>  # Check whether --with-separate-debug-dir was given.
> @@ -6423,7 +6432,7 @@ if test "${with_separate_debug_dir+set}" = set; then :
>    withval=$with_separate_debug_dir;
>      DEBUGDIR=$withval
>  else
> -  DEBUGDIR=${libdir}/debug
> +  DEBUGDIR=${DEFAULTDEBUGDIR}
>  fi
>
>
> diff --git a/gdb/configure.ac b/gdb/configure.ac
> index b9dbe13232a..3cef95fbcb8 100644
> --- a/gdb/configure.ac
> +++ b/gdb/configure.ac
> @@ -93,9 +93,18 @@ if test x"$gdb_cv_have_makeinfo_click" = xyes; then
>  fi
>  AC_SUBST(MAKEINFO_EXTRA_FLAGS)
>
> +case "${host}" in
> +  *-*-netbsd*)
> +    DEFAULTDEBUGDIR=/usr/libdata/debug
> +    ;;
> +  *)
> +    DEFAULTDEBUGDIR=${libdir}/debug
> +    ;;
> +esac
> +
>  GDB_AC_WITH_DIR(DEBUGDIR, separate-debug-dir,
>      [look for global separate debug info in this path @<:@LIBDIR/debug@:>@],
> -    [${libdir}/debug])
> +    [${DEFAULTDEBUGDIR}])
>
>  # We can't pass paths as command line arguments.
>  # Mingw32 tries to be clever and will convert the paths for us.
> --
> 2.25.0
>


signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Tune default DEBUGDIR for NetBSD

Kamil Rytarowski
Ping?

On 17.04.2020 16:54, Kamil Rytarowski wrote:

> Ping?
>
> On 08.04.2020 19:15, Kamil Rytarowski 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  <[hidden email]>
>> +
>> + * configure.ac: Handle NetBSD specific DEBUGDIR.
>> + * configure: Regenerate.
>> +
>>  2020-04-08  Simon Marchi  <[hidden email]>
>>
>>   * 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
>> +    ;;
>> +  *)
>> +    DEFAULTDEBUGDIR=${libdir}/debug
>> +    ;;
>> +esac
>> +
>>
>>
>>  # Check whether --with-separate-debug-dir was given.
>> @@ -6423,7 +6432,7 @@ if test "${with_separate_debug_dir+set}" = set; then :
>>    withval=$with_separate_debug_dir;
>>      DEBUGDIR=$withval
>>  else
>> -  DEBUGDIR=${libdir}/debug
>> +  DEBUGDIR=${DEFAULTDEBUGDIR}
>>  fi
>>
>>
>> diff --git a/gdb/configure.ac b/gdb/configure.ac
>> index b9dbe13232a..3cef95fbcb8 100644
>> --- a/gdb/configure.ac
>> +++ b/gdb/configure.ac
>> @@ -93,9 +93,18 @@ if test x"$gdb_cv_have_makeinfo_click" = xyes; then
>>  fi
>>  AC_SUBST(MAKEINFO_EXTRA_FLAGS)
>>
>> +case "${host}" in
>> +  *-*-netbsd*)
>> +    DEFAULTDEBUGDIR=/usr/libdata/debug
>> +    ;;
>> +  *)
>> +    DEFAULTDEBUGDIR=${libdir}/debug
>> +    ;;
>> +esac
>> +
>>  GDB_AC_WITH_DIR(DEBUGDIR, separate-debug-dir,
>>      [look for global separate debug info in this path @<:@LIBDIR/debug@:>@],
>> -    [${libdir}/debug])
>> +    [${DEFAULTDEBUGDIR}])
>>
>>  # We can't pass paths as command line arguments.
>>  # Mingw32 tries to be clever and will convert the paths for us.
>> --
>> 2.25.0
>>
>
>


signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Tune default DEBUGDIR for NetBSD

Simon Marchi-4
In reply to this post by Sourceware - gdb-patches mailing list
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 <[hidden email]> wrote:
>>
>> On 08.04.2020 19:18, Christian Biesinger wrote:
>>> On Wed, Apr 8, 2020 at 12:16 PM Kamil Rytarowski <[hidden email]> 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  <[hidden email]>
>>>> +
>>>> +       * configure.ac: Handle NetBSD specific DEBUGDIR.
>>>> +       * configure: Regenerate.
>>>> +
>>>>  2020-04-08  Simon Marchi  <[hidden email]>
>>>>
>>>>         * 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
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Tune default DEBUGDIR for NetBSD

Kamil Rytarowski
On 24.04.2020 16:38, Simon Marchi wrote:

> 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 <[hidden email]> wrote:
>>>
>>> On 08.04.2020 19:18, Christian Biesinger wrote:
>>>> On Wed, Apr 8, 2020 at 12:16 PM Kamil Rytarowski <[hidden email]> 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  <[hidden email]>
>>>>> +
>>>>> +       * configure.ac: Handle NetBSD specific DEBUGDIR.
>>>>> +       * configure: Regenerate.
>>>>> +
>>>>>  2020-04-08  Simon Marchi  <[hidden email]>
>>>>>
>>>>>         * 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
>
I will abandon this patch. Keeping it as a dynamic tunable is good
enough (but not necessarily convenient for users building GDB from the
sources).


signature.asc (849 bytes) Download Attachment