[PATCH] [gdb] Fix maint print symbols/psymbols help text
Tom de Vries
tdevries@suse.de
Mon Aug 14 12:48:10 GMT 2023
On 8/14/23 14:14, Eli Zaretskii wrote:
>> Date: Mon, 14 Aug 2023 10:53:40 +0200
>> From: Tom de Vries via Gdb-patches <gdb-patches@sourceware.org>
>>
>> diff --git a/gdb/psymtab.c b/gdb/psymtab.c
>> index 64b67078641..bdae9db9676 100644
>> --- a/gdb/psymtab.c
>> +++ b/gdb/psymtab.c
>> @@ -1687,7 +1687,7 @@ Entries in the partial symbol table are dumped to file OUTFILE,\n\
>> or the terminal if OUTFILE is unspecified.\n\
>> If ADDRESS is provided, dump only the file for that address.\n\
>> If SOURCE is provided, dump only that file's symbols.\n\
>> -If OBJFILE is provided, dump only that file's minimal symbols."),
>> +If OBJFILE is provided, dump only that object file's symbols."),
>> &maintenanceprintlist);
>>
>> add_cmd ("psymtabs", class_maintenance, maintenance_info_psymtabs, _("\
>> diff --git a/gdb/symmisc.c b/gdb/symmisc.c
>> index a65552aa2d2..5b8a82e5137 100644
>> --- a/gdb/symmisc.c
>> +++ b/gdb/symmisc.c
>> @@ -1052,7 +1052,7 @@ Entries in the full symbol table are dumped to file OUTFILE,\n\
>> or the terminal if OUTFILE is unspecified.\n\
>> If ADDRESS is provided, dump only the file for that address.\n\
>> If SOURCE is provided, dump only that file's symbols.\n\
>> -If OBJFILE is provided, dump only that file's minimal symbols."),
>> +If OBJFILE is provided, dump only that object file's symbols."),
>> &maintenanceprintlist);
>>
>> add_cmd ("msymbols", class_maintenance, maintenance_print_msymbols, _("\
>
> Thanks, this LGTM, but shouldn't the "ADDRESS" line be reworded like
> below?
>
> If ADDRESS is provided, dump only the symbols for that address.
>
> If that's not the intent, then can someone please explain the meaning
> of "the file for that address"?
I played around with it to understand what it does:
...
$ gcc -g hello.c
$ gdb -q -batch a.out -readnow -ex "maint print symbols" | grep ^Symtab
Symtab for file ../sysdeps/x86_64/crtn.S at 0x39c5e60
Symtab for file elf-init.c at 0x39c5260
Symtab for file /usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h at
0x39c52a0
Symtab for file hello.c at 0x307ff80
Symtab for file /usr/lib64/gcc/x86_64-suse-linux/7/include/stddef.h at
0x307ffc0
Symtab for file /usr/include/bits/types.h at 0x3080000
Symtab for file /usr/include/bits/types/struct_FILE.h at 0x39c2b70
Symtab for file /usr/include/bits/types/FILE.h at 0x39c2bb0
Symtab for file /usr/include/stdio.h at 0x39c2bf0
Symtab for file /usr/include/bits/sys_errlist.h at 0x39c2c30
Symtab for file ../sysdeps/x86_64/crti.S at 0x307fc90
Symtab for file init.c at 0x307f890
Symtab for file ../sysdeps/x86_64/start.S at 0x307f4c0
$ gdb -q -batch a.out -readnow -ex "maint print symbols -pc main" | grep
^Symtab
Symtab for file hello.c at 0x242ff80
...
The docs say (
https://sourceware.org/gdb/onlinedocs/gdb/Symbols.html#index-maint-print-symbols
):
...
If -pc address is specified, only dump symbols for the file with code at
that address.
...
So how about:
...
If ADDRESS is provided, dump only the symbols for the file with
code at that address.
...
?
Thanks,
- Tom
More information about the Gdb-patches
mailing list