[v3,0/3] gdbserver: add thread map

Message ID 20241018152052.1509373-1-stephan.rohr@intel.com
Headers
Series gdbserver: add thread map |

Message

Rohr, Stephan Oct. 18, 2024, 3:20 p.m. UTC
  Hi all,

this is version 3 of my patch that extends the 'process_info' struct
with a process specific thread map for faster lookup of threads.

You can find v2 of the patch at
https://sourceware.org/pipermail/gdb-patches/2024-September/211509.html

Simon's feedback on v2:
https://sourceware.org/pipermail/gdb-patches/2024-October/212207.html

My reply on v2:
https://sourceware.org/pipermail/gdb-patches/2024-October/212471.html

Changes from v2:
  * Added a patch to replaced the templated versions of 'find_thread'
    and 'for_each_thread' with 'gdb::function_view'.
  * Added a patch to replace 'std::list' with 'intrusive_list'.
  * Adapted the gdbserver patch to the 'intrusive_list' type and
    'gdb::function_view'.

Stephan Rohr (3):
  gdbserver: use 'gdb::function_view' in 'find_*' and 'for_each_*'
  gdbserver: introduce 'introdusive_list' type
  gdbserver: add process specific thread list and map.

 gdbserver/dll.cc           |   4 +-
 gdbserver/gdbthread.h      | 125 +++++-----------
 gdbserver/inferiors.cc     | 283 +++++++++++++++++++++++++++++++++----
 gdbserver/inferiors.h      |  72 +++++-----
 gdbserver/linux-low.cc     | 196 ++++++++++++-------------
 gdbserver/linux-low.h      |   2 +-
 gdbserver/linux-x86-low.cc |   4 +-
 gdbserver/regcache.cc      |  12 +-
 gdbserver/regcache.h       |   2 +-
 gdbserver/server.cc        | 166 ++++++++++++++--------
 10 files changed, 535 insertions(+), 331 deletions(-)