From f7c7700d3241d862512b1fe5bebc0fc74c4470d9 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Sat, 29 Aug 2020 00:11:35 +0100 Subject: [PATCH] Adjust "maint info program-spaces" to per-inferior target stack By inspection, I noticed that print_program_space is calling target_pid_to_str on the wrong target stack. Most targets print a process pid the same way, so it isn't actually visible. gdb/ChangeLog: * progspace.c (print_program_space): Use all_inferiors. Switch to the inferior before calling target_pid_to_str. --- gdb/ChangeLog | 5 +++++ gdb/progspace.c | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b9f4d48856c..1ff47c3355d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-08-29 Pedro Alves + + * progspace.c (print_program_space): Use all_inferiors. Switch to + the inferior before calling target_pid_to_str. + 2020-08-28 Tom Tromey * xcoffread.c (xcoff_end_psymtab): Update comment. diff --git a/gdb/progspace.c b/gdb/progspace.c index 462083ce1f6..3f512161215 100644 --- a/gdb/progspace.c +++ b/gdb/progspace.c @@ -302,7 +302,6 @@ print_program_space (struct ui_out *uiout, int requested) for (struct program_space *pspace : program_spaces) { - struct inferior *inf; int printed_header; if (requested != -1 && requested != pspace->num) @@ -328,9 +327,16 @@ print_program_space (struct ui_out *uiout, int requested) e.g., both parent/child inferiors in a vfork, or, on targets that share pspaces between inferiors. */ printed_header = 0; - for (inf = inferior_list; inf; inf = inf->next) + + /* We're going to switch inferiors. */ + scoped_restore_current_thread restore_thread; + + for (inferior *inf : all_inferiors ()) if (inf->pspace == pspace) { + /* Switch to inferior in order to call target methods. */ + switch_to_inferior_no_thread (inf); + if (!printed_header) { printed_header = 1; -- 2.30.2