diff options
author | Tom de Vries <tdevries@suse.de> | 2020-03-24 10:00:51 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2020-03-24 10:00:51 +0100 |
commit | a64fafb54577a87919a600474a3e4abe3510341a (patch) | |
tree | b6dbe5f629229af4c8f73d4373ae83bca5cf9efc | |
parent | 65109548f8fb13ac4a6c3311ea46a8b69c548576 (diff) | |
download | binutils-a64fafb54577a87919a600474a3e4abe3510341a.zip binutils-a64fafb54577a87919a600474a3e4abe3510341a.tar.gz binutils-a64fafb54577a87919a600474a3e4abe3510341a.tar.bz2 |
[gdb] Print user for maint info psymtabs
The type struct partial_symtab contains two fields (disregarding field next)
that express relations with other symtabs: user and dependencies.
When using "maint print psymbols", we see both the dependencies and the user
fields:
...
Partial symtab for source file (object 0x35ef270)
...
Depends on 0 other partial symtabs.
Shared partial symtab with user 0x35d5f40
...
But with "maint info psymtabs", we only see dependencies:
...
{ psymtab ((struct partial_symtab *) 0x35ef270)
...
dependencies (none)
}
...
Add printing of the user field for "maint info psymtabs", such that we have:
...
{ psymtab ((struct partial_symtab *) 0x35ef270)
...
+ user hello.c ((struct partial_symtab *) 0x35d5f40)
dependencies (none)
}
...
Tested on x86_64-linux.
gdb/ChangeLog:
2020-03-24 Tom de Vries <tdevries@suse.de>
* psymtab.c (maintenance_info_psymtabs): Print user field.
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/psymtab.c | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 186660b..1acd1fd 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2020-03-24 Tom de Vries <tdevries@suse.de> + + * psymtab.c (maintenance_info_psymtabs): Print user field. + 2020-03-20 Tom Tromey <tromey@adacore.com> * dwarf2/loc.h (dwarf2_evaluate_property): Make "addr_stack" diff --git a/gdb/psymtab.c b/gdb/psymtab.c index f77f6d5..8aa9c6e 100644 --- a/gdb/psymtab.c +++ b/gdb/psymtab.c @@ -2065,6 +2065,11 @@ maintenance_info_psymtabs (const char *regexp, int from_tty) } else printf_filtered ("(none)\n"); + if (psymtab->user) + printf_filtered (" user %s " + "((struct partial_symtab *) %s)\n", + psymtab->user->filename, + host_address_to_string (psymtab->user)); printf_filtered (" dependencies "); if (psymtab->number_of_dependencies) { |