From a64fafb54577a87919a600474a3e4abe3510341a Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 24 Mar 2020 10:00:51 +0100 Subject: [PATCH] [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 * psymtab.c (maintenance_info_psymtabs): Print user field. --- gdb/ChangeLog | 4 ++++ gdb/psymtab.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 186660bf9ff..1acd1fddc92 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2020-03-24 Tom de Vries + + * psymtab.c (maintenance_info_psymtabs): Print user field. + 2020-03-20 Tom Tromey * dwarf2/loc.h (dwarf2_evaluate_property): Make "addr_stack" diff --git a/gdb/psymtab.c b/gdb/psymtab.c index f77f6d5108f..8aa9c6e87bb 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) { -- 2.30.2