Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Guinevere Larsen <guinevere@redhat.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 3/3] GDB: Introduce "info namespaces" command
Date: Mon, 7 Apr 2025 14:04:58 -0300	[thread overview]
Message-ID: <9c4db6df-fdae-4c3d-89b7-e840dcf30cba@redhat.com> (raw)
In-Reply-To: <86ldsct1ou.fsf@gnu.org>

On 4/7/25 12:45 PM, Eli Zaretskii wrote:
>> From: Guinevere Larsen <guinevere@redhat.com>
>> Cc: Guinevere Larsen <guinevere@redhat.com>
>> Date: Mon,  7 Apr 2025 11:54:43 -0300
>>
>> Continuing to improve GDB's ability to debug linker namespaces, this
>> commit adds the command "info namespaces". The command is similar to
>> "info sharedlibrary" but focused on improved readability when the
>> inferior has multiple linker namespaces active. This command can
>> be used in 2 different ways, with or without an argument.
>>
>> When called without argument, the command will print the number of
>> namespaces, and for each active namespace, it's identifier, how many
>> libraries are loaded in it, and all the libraries (in a similar table to
>> what "info sharedlibrary" shows). As an example, this is what GDB's
>> output could look like:
>>
>>    (gdb) info namespaces
>>    There are 2 namespaces loaded
>>    There are 3 libraries loaded in namespace [[0]]
>>    Displaying libraries for namespace [[0]]:
>>    From                To                  Syms Read   Shared Object Library
>>    0x00007ffff7fc6000  0x00007ffff7fff000  Yes         /lib64/ld-linux-x86-64.so.2
>>    0x00007ffff7ebc000  0x00007ffff7fa2000  Yes (*)     /lib64/libm.so.6
>>    0x00007ffff7cc9000  0x00007ffff7ebc000  Yes (*)     /lib64/libc.so.6
>>    (*): Shared library is missing debugging information.
>>
>>    There are 4 libraries loaded in namespace [[1]]
>>    Displaying libraries for namespace [[1]]:
>>    From                To                  Syms Read   Shared Object Library
>>    0x00007ffff7fc6000  0x00007ffff7fff000  Yes         /lib64/ld-linux-x86-64.so.2
>>    0x00007ffff7fb9000  0x00007ffff7fbe000  Yes         gdb.base/dlmopen-ns-ids/dlmopen-lib.so
>>    0x00007ffff7bc4000  0x00007ffff7caa000  Yes (*)     /lib64/libm.so.6
>>    0x00007ffff79d1000  0x00007ffff7bc4000  Yes (*)     /lib64/libc.so.6
>>    (*): Shared library is missing debugging information.
>>
>> When called with an argument, the argument must be a namespace
>> identifier (either with or without the square brackets decorators). In
>> this situation, the command will truncate the output to only show the
>> relevant information for the requested namespace. For example:
>>
>>    (gdb) info namespaces 0
>>    There are 3 libraries loaded in namespace [[0]]
>>    Displaying libraries for namespace [[0]]:
>>    From                To                  Syms Read   Shared Object Library
>>    0x00007ffff7fc6000  0x00007ffff7fff000  Yes         /lib64/ld-linux-x86-64.so.2
>>    0x00007ffff7ebc000  0x00007ffff7fa2000  Yes (*)     /lib64/libm.so.6
>>    0x00007ffff7cc9000  0x00007ffff7ebc000  Yes (*)     /lib64/libc.so.6
>>    (*): Shared library is missing debugging information.
>>
>> The test gdb.base/dlmopen-ns-id.exp has been extended to test this new
>> command.
>> ---
>>   gdb/NEWS                                  |  5 ++
>>   gdb/doc/gdb.texinfo                       | 15 ++++
>>   gdb/solib-svr4.c                          | 49 ++++++++++++
>>   gdb/solib.c                               | 91 ++++++++++++++++++++++
>>   gdb/solist.h                              |  4 +
>>   gdb/testsuite/gdb.base/dlmopen-ns-ids.exp | 93 +++++++++++++++++++++++
>>   6 files changed, 257 insertions(+)
> Thanks.
>
>> +info namespaces
>> +info namespaces [[N]]
>> +  Print information about the given namespace (identified as N), or about
>> +  all the namespaces if no argument is given.
> This part is okay.
>
>> +@table @code
>> +@item info namespaces
> No @kindex?

Thanks for the quick review!

I didn't use @kindex because I didn't know what it was used for, and 
didn't accidentally put my command into an unrelated list somehow.

I fixed this and everything else pointed out in this review!

-- 
Cheers,
Guinevere Larsen
She/Her/Hers

>
>> +@item info namespaces @code{[[N]]}
> N is a meta-syntactic variable, so please use @var{n} for it.
>
>> +With no argument, print the number of linker namespaces which are
>> +currently active - that is, namespaces that have libraries loaded
>                      ^
> Please use either "--" or "---" to produce an em-dash or en-dash.
>
>> +on them.  Then, it prints the number of libraries loaded into each
>     ^^^^^^^
> "into them", right?
>
>> +If an argument is provided, only prints the library count and table
>> +for the provided namespace.K  The surrounding square brackets are
> "If an argument @code{[[@var{n}]]} is provided, only prints the
> library count and the libraries for the specified namespace @var{n}."
>
> Reviewed-By: Eli Zaretskii <eliz@gnu.org>
>


  reply	other threads:[~2025-04-07 17:06 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-07 14:54 [PATCH 0/3] Add some linker namespaces conveniences Guinevere Larsen
2025-04-07 14:54 ` [PATCH 1/3] gdb: add convenience variables around linker namespace debugging Guinevere Larsen
2025-04-07 15:39   ` Eli Zaretskii
2025-04-07 17:10     ` Guinevere Larsen
2025-04-07 14:54 ` [PATCH 2/3] gdb: factor out printing a table of solibs for info sharedlibrary Guinevere Larsen
2025-04-07 14:54 ` [PATCH 3/3] GDB: Introduce "info namespaces" command Guinevere Larsen
2025-04-07 15:45   ` Eli Zaretskii
2025-04-07 17:04     ` Guinevere Larsen [this message]
2025-04-07 18:08 ` [PATCH 0/3] Add some linker namespaces conveniences Kevin Buettner
2025-04-09 20:20   ` Guinevere Larsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9c4db6df-fdae-4c3d-89b7-e840dcf30cba@redhat.com \
    --to=guinevere@redhat.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox