[PATCHv2 0/3] Restore thread and frame patches

Andrew Burgess andrew.burgess@embecosm.com
Mon Apr 27 22:04:22 GMT 2020


This series merges together and replaces two previously separate patches:

  https://sourceware.org/pipermail/gdb-patches/2020-February/166202.html
  https://sourceware.org/pipermail/gdb-patches/2020-April/167215.html

The first had no feedback, while the second had some positive
feedback, but also some negative feedback.

The concerns raised were that making this change broke the existing
GDB debug model, and added unneeded complexity.  I'm not sure what I
can do about the complexity, but to address the first point I've made
all of these changes optional in both the first and third patches of
this new series, and the default for both the new options is off.

In the first patch of this new series I updated the technique I use
for preserving the thread, previously I was storing inferior_ptid,
however, after seeing Pedro's recent series[1], I switched to storing
the thread_info pointer.

I tested this series on top of current master, and also on top of
Pedro's recent series[1].

All feedback welcome.

Thanks,
Andrew

[1] https://sourceware.org/pipermail/gdb-patches/2020-April/167578.html

---

Andrew Burgess (3):
  gdb: Restore previously selected thread when switching inferior
  gdb: Unify two copies of restore_selected_frame
  gdb: Track the current frame for each thread

 gdb/ChangeLog                                 |  52 +++
 gdb/NEWS                                      |  19 +
 gdb/doc/ChangeLog                             |  14 +
 gdb/doc/gdb.texinfo                           |  42 ++-
 gdb/frame.c                                   |  87 +++++
 gdb/frame.h                                   |  68 ++++
 gdb/gdbthread.h                               |  15 +-
 gdb/inferior.c                                |  58 ++-
 gdb/inferior.h                                |  10 +
 gdb/infrun.c                                  |  26 +-
 gdb/testsuite/ChangeLog                       |  10 +
 .../gdb.threads/restore-selected-frame.c      |  85 +++++
 .../gdb.threads/restore-selected-frame.exp    | 336 ++++++++++++++++++
 gdb/testsuite/gdb.threads/restore-thread.c    | 246 +++++++++++++
 gdb/testsuite/gdb.threads/restore-thread.exp  | 220 ++++++++++++
 gdb/thread.c                                  | 135 +++----
 16 files changed, 1315 insertions(+), 108 deletions(-)
 create mode 100644 gdb/testsuite/gdb.threads/restore-selected-frame.c
 create mode 100644 gdb/testsuite/gdb.threads/restore-selected-frame.exp
 create mode 100644 gdb/testsuite/gdb.threads/restore-thread.c
 create mode 100644 gdb/testsuite/gdb.threads/restore-thread.exp

-- 
2.25.3



More information about the Gdb-patches mailing list