Re: [PATCH][gdb/build] Handle deprecation of scm_install_gmp_memory_functions

Enze Li via Gdb-patches
2022-07-07T08:15:08Z

Hi Tom,

Thanks for doing this. :)

On Thu, 2022-07-07 at 09:58 +0200, Tom de Vries via Gdb-patches wrote:
> Hi,
>
> When building gdb with guile 3.0.8, we run into:
> ...
> gdb/guile/guile.c: In function \
> 'void gdbscm_initialize(const extension_language_defn*)':
>

<...>

>
> Tested on x86_64-linux.
>
> Co-Authored-By: Tom de Vries <tdevries@suse.de>
^^^^^^^^^^^^^^
This part confused me. Is it necessary to include such a line when the
author of the patch is the same person?

Thanks,
Enze

>
> Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28994
>
> Any comments?
>
> Thanks,
> - Tom
>
> [gdb/build] Handle deprecation of scm_install_gmp_memory_functions
>
> ---
> gdb/guile/guile.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/gdb/guile/guile.c b/gdb/guile/guile.c
> index 14b191ded62..e5565b627d9 100644
> --- a/gdb/guile/guile.c
> +++ b/gdb/guile/guile.c
> @@ -677,7 +677,17 @@ gdbscm_initialize (const struct
> extension_language_defn *extlang)
> "double free or corruption (out)" error.
> Work around the libguile bug by disabling the installation of
> the
> libgmp memory functions by guile initialization. */
> +
> + /* The scm_install_gmp_memory_functions variable should be
> removed after
> + version 3.0, so limit usage to 3.0 and before. */
> +#if SCM_MAJOR_VERSION < 3 || (SCM_MAJOR_VERSION == 3 &&
> SCM_MINOR_VERSION == 0)
> + /* This variable is deprecated in Guile 3.0.8 and later but
> remains
> + available in the whole 3.0 series. */
> +#pragma GCC diagnostic push
> +#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> scm_install_gmp_memory_functions = 0;
> +#pragma GCC diagnostic pop
> +#endif
>
> /* scm_with_guile is the most portable way to initialize
> Guile. Plus
> we need to initialize the Guile support while in Guile mode
> (e.g.,