[PATCH v2 00/58] Turn gdbserver's process_stratum_target into a class

Tankut Baris Aktemur tankut.baris.aktemur@intel.com
Mon Feb 17 17:01:00 GMT 2020


Hello,

This is v2 of the series that was posted at

  https://sourceware.org/ml/gdb-patches/2020-02/msg00313.html

This revision makes the following updates to the previous version:

1. Pedro's comments have been addressed.

2. The series has been rebased on the current master.

3. The win32-low target has been built (but not tested) via
cross-compilation (my thanks to Christian for the tips).  There were a
couple problems detected -- I fixed them.

I am in the process of using buildbot to test on a wide range of
available targets (assuming a series of this size will be accepted by
buildbot).  However, I'm afraid I won't be able to build and test
nto-low and lynx-low.

Finally, this revision is also available at
https://github.com/barisaktemur/gdb/tree/gdbserver-cppify-target-v2

Regards,
Baris


Pedro Alves (1):
  gdbserver: simply copy the pointer in 'set_target_ops'

Tankut Baris Aktemur (57):
  gdbserver: start turning the target ops vector into a class
  gdbserver: turn target op 'create_inferior' into a method
  gdbserver: turn target op 'post_create_inferior' into a method
  gdbserver: turn target op 'attach' into a method
  gdbserver: turn target op 'kill' into a method
  gdbserver: turn target op 'detach' into a method
  gdbserver: turn target op 'mourn' into a method
  gdbserver: turn target op 'join' into a method
  gdbserver: turn target op 'thread_alive' into a method
  gdbserver: turn target op 'resume' into a method
  gdbserver: turn target op 'wait' into a method
  gdbserver: turn target ops 'fetch_registers' and 'store_registers'
    into methods
  gdbserver: turn prepare_to_access_memory & done_accessing_memory into
    methods
  gdbserver: turn target ops 'read_memory' and 'write_memory' into
    methods
  gdbserver: turn target op 'look_up_symbols' into a method
  gdbserver: turn target op 'request_interrupt' into a method
  gdbserver: turn target op 'read_auxv' into a method
  gdbserver: turn target op 'supports_z_point_type' into a method
  gdbserver: turn target ops 'insert_point' and 'remove_point' into
    methods
  gdbserver: turn target op '{supports_}stopped_by_sw_breakpoint' into a
    method
  gdbserver: turn target op '{supports_}stopped_by_hw_breakpoint' into a
    method
  gdbserver: turn target op 'supports_hardware_single_step' into a
    method
  gdbserver: turn target ops 'stopped_by_watchpoint' and
    'stopped_data_address' into methods
  gdbserver: turn target op 'read_offsets' into a method
  gdbserver: turn target op 'get_tls_address' into a method
  gdbserver: turn target op 'hostio_last_error' into a method
  gdbserver: turn target op 'qxfer_osdata' into a method
  gdbserver: turn target op 'qxfer_siginfo' into a method
  gdbserver: turn non-stop and async target ops into methods
  gdbserver: turn target op 'supports_multi_process' into a method
  gdbserver: turn target ops 'supports_{fork,vfork,exec}_events' into
    methods
  gdbserver: turn target op 'handle_new_gdb_connection' into a method
  gdbserver: turn target op 'handle_monitor_command' into a method
  gdbserver: turn target op 'core_of_thread' into a method
  gdbserver: turn target op 'read_loadmap' into a method
  gdbserver: turn target op 'process_qsupported' into a method
  gdbserver: turn target op 'supports_tracepoints' into a method
  gdbserver: turn target ops 'read_pc' and 'write_pc' into methods
  gdbserver: turn target op 'thread_stopped' into a method
  gdbserver: turn target op 'get_tib_address' into a method
  gdbserver: turn target ops 'pause_all' and 'unpause_all' into methods
  gdbserver: turn target op 'stabilize_threads' into a method
  gdbserver: turn fast tracepoint target ops into methods
  gdbserver: turn target op 'emit_ops' into a method
  gdbserver: turn target op 'supports_disable_randomization' into a
    method
  gdbserver: turn target op 'qxfer_libraries_svr4' into a method
  gdbserver: turn target op 'supports_agent' into a method
  gdbserver: turn btrace-related target ops into methods
  gdbserver: turn target op 'supports_range_stepping' into a method
  gdbserver: turn target op 'pid_to_exec_file' into a method
  gdbserver: turn target ops 'multifs_{open, readlink, unlink}' into
    methods
  gdbserver: turn breakpoint kind-related target ops into methods
  gdbserver: turn target ops 'thread_name' and 'thread_handle' into
    methods
  gdbserver: turn target op 'supports_software_single_step' into a
    method
  gdbserver: turn target op 'supports_catch_syscall' into a method
  gdbserver: turn target op 'get_ipa_tdesc_idx' into a method
  gdbserver: finish turning the target ops vector into a class

 gdbserver/hostio.cc            |  13 +-
 gdbserver/linux-aarch32-low.cc |   6 +-
 gdbserver/linux-aarch64-low.cc |   4 +-
 gdbserver/linux-arm-low.cc     |   8 +-
 gdbserver/linux-cris-low.cc    |   4 +-
 gdbserver/linux-crisv32-low.cc |   4 +-
 gdbserver/linux-low.cc         | 654 ++++++++++++++++++---------------
 gdbserver/linux-low.h          | 219 +++++++++++
 gdbserver/linux-m32r-low.cc    |   4 +-
 gdbserver/linux-mips-low.cc    |   2 +-
 gdbserver/linux-nios2-low.cc   |   4 +-
 gdbserver/linux-ppc-low.cc     |   2 +-
 gdbserver/linux-sh-low.cc      |   2 +-
 gdbserver/linux-sparc-low.cc   |   6 +-
 gdbserver/linux-tic6x-low.cc   |   2 +-
 gdbserver/linux-tile-low.cc    |   2 +-
 gdbserver/linux-x86-low.cc     |   2 +-
 gdbserver/linux-xtensa-low.cc  |   4 +-
 gdbserver/lynx-low.cc          | 139 +++----
 gdbserver/lynx-low.h           |  43 +++
 gdbserver/mem-break.cc         |  11 +-
 gdbserver/nto-low.cc           | 208 ++++-------
 gdbserver/nto-low.h            |  60 +++
 gdbserver/regcache.cc          |  16 +-
 gdbserver/remote-utils.cc      |  13 +-
 gdbserver/server.cc            |  77 ++--
 gdbserver/target.cc            | 570 ++++++++++++++++++++++++----
 gdbserver/target.h             | 554 +++++++++++++---------------
 gdbserver/tracepoint.cc        |  54 ++-
 gdbserver/win32-low.cc         | 221 +++++------
 gdbserver/win32-low.h          |  69 ++++
 31 files changed, 1830 insertions(+), 1147 deletions(-)

-- 
2.17.1



More information about the Gdb-patches mailing list