Subject: Re: bug#70764: 29.1; M-x gdb: don't ask me about debuginfod server if debuginfod is not in context

From: Eli Zaretskii <[email-masked]>
Date: Sat, 04 May 2024 20:07:31 +0300

> Date: Sat, 4 May 2024 18:26:41 +0200
> Cc: [email-masked]
> From: Rolf Ade <[email-masked]>
> 
> > If you start GDB from the shell prompt, like this:
> > 
> >    $ gdb ./emacs
> > 
> > and then, when GDB shows its "(gdb)" prompt, type
> > 
> >    (gdb) set debuginfod enabled on
> > 
> > do you also see that "No symbol" error message?
> 
> Yes:
> 
> (gdb) set debuginfod enabled on
> No symbol "debuginfod" in current context.
> (gdb)
> 
> 
> > And also please try this:
> > 
> >   $ gdb -i=mi ./emacs
> >   ...
> >   -gdb-set debuginfod enabled on
> > 
> > and see if you get any error message that way.
> 
> Yes:
> 
> (gdb)
> -gdb-set debuginfod enabled on
> ^error,msg="No symbol \"debuginfod\" in current context."
> (gdb)
> 
> So, this all seems to lead to that the gdb shipped with Bullseye isn't correctly 
> build (despite the --with-debuginfod in the gdb --config output).

Most probably, yes.

> But Bullseye still isn't that uncommon; so others should also see this, I suppose?

Unfortunately, the only better alternative to stop these error
messages is for you to customize gdb-debuginfod-enable-setting to the
nil value.  That is the only way we know of that allows to prevent the
error messages by avoiding to even try the problematic setting.  No
other way we tried at the time to dynamically detect the support
worked in a satisfactory manner, basically because trying an
unsupported command is bound to trigger some error message.