diff options
author | Pedro Alves <pedro@palves.net> | 2020-08-29 00:11:35 +0100 |
---|---|---|
committer | Pedro Alves <pedro@palves.net> | 2020-08-29 00:55:58 +0100 |
commit | f7c7700d3241d862512b1fe5bebc0fc74c4470d9 (patch) | |
tree | eda0577343b95c8ffcef4fd5d4ef286dfdf4279d /gdb/progspace.c | |
parent | 8f57f343104b8d3632e65ac1fbb12ee69891ef5f (diff) | |
download | binutils-f7c7700d3241d862512b1fe5bebc0fc74c4470d9.zip binutils-f7c7700d3241d862512b1fe5bebc0fc74c4470d9.tar.gz binutils-f7c7700d3241d862512b1fe5bebc0fc74c4470d9.tar.bz2 |
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.
Diffstat (limited to 'gdb/progspace.c')
-rw-r--r-- | gdb/progspace.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gdb/progspace.c b/gdb/progspace.c index 462083c..3f51216 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; |