Re: [PATCH 6/7] gdb/fortran: Add new 'info modules' command

Eli Zaretskii
2019-07-27T16:45:53Z

> From: Andrew Burgess <andrew.burgess@embecosm.com>
> Cc: Richard Bunt <Richard.Bunt@arm.com>, Andrew Burgess <andrew.burgess@embecosm.com>
> Date: Sat, 27 Jul 2019 17:22:34 +0100
>
> diff --git a/gdb/NEWS b/gdb/NEWS
> index 40b56727227..14c931602f4 100644
> --- a/gdb/NEWS
> +++ b/gdb/NEWS
> @@ -104,6 +104,12 @@ maint show test-settings KIND
> A set of commands used by the testsuite for exercising the settings
> infrastructure.
>
> +info modules [-q] [REGEXP]
> + Return a list of modules matching REGEXP, or all modules if no
> + REGEXP is given. Only languages that generate DW_TAG_module in
> + their DWARF (for example Fortran) will give any results for this
> + command.

Without saying what is a "module", or at least naming a couple of
languages which support them, this is not a very useful entry, I'm
afraid. I don't think it's reasonable to assume the reader knows the
DWARF spec enough to understand that from the tag name.

> +@kindex info modules
> +@cindex modules
> +@item info modules [-q] [@var{regexp}]
> +List all modules for which there is debugging information available.
> +Modules are identified by @code{DW_TAG_module} in DWARF debugging
> +information, only languages that use this tag will list modules with
> +this command. Currently Fortran is known to generate module
> +information in its debug.

I would drop the DW_TAG_module reference, and instead try to explain
in less technical terms what is a module.

What other languages are known to have modules in this meaning? Can
we name them?

> +The optional flag @samp{-q}, which stands for @samp{quiet}, disables
> +printing header information and messages explaining why no functions
> +have been printed.

Not sure I understand from this text how is -q useful for "info
modules".

Thanks.