Commit Graph

54 Commits

Author SHA1 Message Date
Joel Brobecker
3666a04883 Update copyright year range in all GDB files
This commits the result of running gdb/copyright.py as per our Start
of New Year procedure...

gdb/ChangeLog

        Update copyright year range in copyright header of all GDB files.
2021-01-01 12:12:21 +04:00
Tom Tromey
b60cea74de Make target_wait options use enum flags
This changes TARGET_WNOHANG to be a member of an enum, rather than a
define, and also adds a DEF_ENUM_FLAGS_TYPE for this type.  Then, it
changes target_wait and the various target wait methods to use this
type rather than "int".

This didn't catch any bugs, but it seems like a decent cleanup
nevertheless.

I did not change deprecated_target_wait_hook, since that's only used
out-of-tree (by Insight), and there didn't seem to be a need.

I can't build some of these targets, so I modified them on a
best-effort basis.  I don't think this patch should go in before the
release branch is made.

gdb/ChangeLog
2020-09-18  Tom Tromey  <tromey@adacore.com>

	* windows-nat.c (struct windows_nat_target) <wait>: Update.
	(windows_nat_target::wait): Update.
	* target/wait.h (enum target_wait_flag): New.  Use
	DEF_ENUM_FLAGS_TYPE.
	* target/target.h (target_wait): Change type of options.
	* target.h (target_options_to_string, default_target_wait):
	Update.
	(struct target_ops) <wait>: Change type of options.
	* target.c (target_wait, default_target_wait, do_option): Change
	type of "options".
	(target_options_to_string): Likewise.
	* target-delegates.c: Rebuild.
	* target-debug.h (target_debug_print_target_wait_flags): Rename
	from target_debug_print_options.
	* sol-thread.c (class sol_thread_target) <wait>: Update.
	(sol_thread_target::wait): Update.
	* rs6000-nat.c (class rs6000_nat_target) <wait>: Update.
	(rs6000_nat_target::wait): Update.
	* remote.c (class remote_target) <wait, wait_ns, wait_as>:
	Update.
	(remote_target::wait_ns, remote_target::wait_as): Change type of
	"options".
	(remote_target::wait): Update.
	* remote-sim.c (struct gdbsim_target) <wait>: Update.
	(gdbsim_target::wait): Update.
	* record-full.c (class record_full_base_target) <wait>: Update.
	(record_full_wait_1): Change type of "options".
	(record_full_base_target::wait): Update.
	* record-btrace.c (class record_btrace_target) <wait>: Update.
	(record_btrace_target::wait): Update.
	* ravenscar-thread.c (struct ravenscar_thread_target) <wait>:
	Update.
	(ravenscar_thread_target::wait): Update.
	* procfs.c (class procfs_target) <wait>: Update.
	(procfs_target::wait): Update.
	* obsd-nat.h (class obsd_nat_target) <wait>: Update.
	* obsd-nat.c (obsd_nat_target::wait): Update.
	* nto-procfs.c (struct nto_procfs_target) <wait>: Update.
	(nto_procfs_target::wait): Update.
	* nbsd-nat.h (struct nbsd_nat_target) <wait>: Update.
	* nbsd-nat.c (nbsd_wait): Change type of "options".
	(nbsd_nat_target::wait): Update.
	* linux-thread-db.c (class thread_db_target) <wait>: Update.
	(thread_db_target::wait): Update.
	* linux-nat.h (class linux_nat_target) <wait>: Update.
	* linux-nat.c (linux_nat_target::wait): Update.
	(linux_nat_wait_1): Update.
	* infrun.c (do_target_wait_1, do_target_wait): Change type of
	"options".
	* inf-ptrace.h (struct inf_ptrace_target) <wait>: Update.
	* inf-ptrace.c (inf_ptrace_target::wait): Update.
	* go32-nat.c (struct go32_nat_target) <wait>: Update.
	(go32_nat_target::wait): Update.
	* gnu-nat.h (struct gnu_nat_target) <wait>: Update.
	* gnu-nat.c (gnu_nat_target::wait): Update.
	* fbsd-nat.h (class fbsd_nat_target) <wait>: Update.
	* fbsd-nat.c (fbsd_nat_target::wait): Update.
	* darwin-nat.h (class darwin_nat_target) <wait>: Update.
	* darwin-nat.c (darwin_nat_target::wait): Update.
	* bsd-uthread.c (struct bsd_uthread_target) <wait>: Update.
	(bsd_uthread_target::wait): Update.
	* aix-thread.c (class aix_thread_target) <wait>: Update.
	(aix_thread_target::wait): Update.

gdbserver/ChangeLog
2020-09-18  Tom Tromey  <tromey@adacore.com>

	* netbsd-low.h (class netbsd_process_target) <wait>: Update.
	* netbsd-low.cc (netbsd_waitpid, netbsd_wait)
	(netbsd_process_target::wait): Change type of target_options.
	* win32-low.h (class win32_process_target) <wait>: Update.
	* win32-low.cc (win32_process_target::wait): Update.
	* target.h (class process_stratum_target) <wait>: Update.
	(mywait): Update.
	* target.cc (mywait, target_wait): Change type of "options".
	* linux-low.h (class linux_process_target) <wait, wait_1>:
	Update.
	* linux-low.cc (linux_process_target::wait)
	(linux_process_target::wait_1): Update.
2020-09-18 14:20:44 -06:00
Simon Marchi
b315b67d7a gdbserver: fix memory leak when handling qsupported packet
When building gdbserver with AddressSanitizer, I get this annoying
little leak when gdbserver exits:

==307817==ERROR: LeakSanitizer: detected memory leaks

    Direct leak of 14 byte(s) in 1 object(s) allocated from:
        #0 0x7f7fd4256459 in __interceptor_malloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:145
        #1 0x563bef981b80 in xmalloc /home/simark/src/binutils-gdb/gdbserver/../gdb/alloc.c:60
        #2 0x563befb53301 in xstrdup /home/simark/src/binutils-gdb/libiberty/xstrdup.c:34
        #3 0x563bef9d742b in handle_query /home/simark/src/binutils-gdb/gdbserver/server.cc:2286
        #4 0x563bef9ed0b7 in process_serial_event /home/simark/src/binutils-gdb/gdbserver/server.cc:4061
        #5 0x563bef9f1d9e in handle_serial_event(int, void*) /home/simark/src/binutils-gdb/gdbserver/server.cc:4402
        #6 0x563befb0ec65 in handle_file_event /home/simark/src/binutils-gdb/gdbsupport/event-loop.cc:548
        #7 0x563befb0f49f in gdb_wait_for_event /home/simark/src/binutils-gdb/gdbsupport/event-loop.cc:673
        #8 0x563befb0d4a1 in gdb_do_one_event() /home/simark/src/binutils-gdb/gdbsupport/event-loop.cc:215
        #9 0x563bef9e721a in start_event_loop /home/simark/src/binutils-gdb/gdbserver/server.cc:3484
        #10 0x563bef9eb90a in captured_main /home/simark/src/binutils-gdb/gdbserver/server.cc:3875
        #11 0x563bef9ec2c7 in main /home/simark/src/binutils-gdb/gdbserver/server.cc:3961
        #12 0x7f7fd3330001 in __libc_start_main (/usr/lib/libc.so.6+0x27001)

    SUMMARY: AddressSanitizer: 14 byte(s) leaked in 1 allocation(s).

This is due to the handling of unknown qsupported features in
handle_query.  The `qsupported` vector is built, containing all the
feature names received from GDB.  As we iterate on them, when we
encounter unknown ones, we move them at the beginning of the vector, in
preparation of passing this vector of unknown features down to the
target (which may know about them).

When moving these unknown features to other slots in the vector, we
overwrite other pointers without freeing them, which therefore leak.

An easy fix would be to add a `free` when doing the move.  However, I
think this is a good opportunity to sprinkle a bit of automatic memory
management in this code.

So, use a vector of std::string which owns all the entries.  And use a
separate vector (that doesn't own the entries) for the unknown ones,
which is then passed to target_process_qsupported.

Given that the `c_str` method of std::string returns a `const char *`,
it follows that process_stratum_target::process_qsupported must accept a
`const char **` instead of a `char **`.  And while at it, change the
pointer + size paramters to use an array_view instead.

gdbserver/ChangeLog:

	* server.cc (handle_query): Use std::vector of
	std::string for `qsupported` vector.  Use separate
	vector for unknowns.
	* target.h (class process_stratum_target) <process_qsupported>:
	Change parameters to array_view of const char *.
	(target_process_qsupported): Remove `count` parameter.
	* target.cc (process_stratum_target::process_qsupported): Change
	parameters to array_view of const char *.
	* linux-x86-low.cc (class x86_target) <process_qsupported>:
	Likewise.

Change-Id: I97f133825faa6d7abbf83a58504eb0ba77462812
2020-07-13 22:27:01 -04:00
Tankut Baris Aktemur
52405d85ec gdbserver: finish turning the target ops vector into a class
Now that 'process_stratum_target' has a single field left, namely 'pt'
of type 'process_target', and that all the requests to a
'process_stratum_target' are forwarded to 'pt', meld the
'process_target' class into 'process_stratum_target'.

This essentially means

1. All the references of the form 'the_target->pt' become 'the_target'.

2. All the uses of the name 'process_target' become
   'process_stratum_target'.

3. The platform-specific target op vectors (e.g. linux_target_ops) are
   removed and instances of their "process target" classes are used
   instead.

gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	* target.h (struct process_stratum_target): Remove.
	(class process_target): Rename to ...
	(class process_stratum_target): ... this.
	* linux-low.h (class linux_process_target): Derive from
	'process_stratum_target'.
	* linux-low.cc (linux_target_ops): Remove.
	(initialize_low): Set the_target to the singleton instance of
	linux_process_target.
	* lynx-low.h (class lynx_process_target): Derive from
	'process_stratum_target'.
	* lynx-low.cc (lynx_target_ops): Remove.
	(initialize_low): Set the_target to the singleton instance of
	lynx_process_target.
	* nto-low.h (class nto_process_target): Derive from
	'process_stratum_target'.
	* nto-low.cc (nto_target_ops): Remove.
	(initialize_low): Set the_target to the singleton instance of
	nto_process_target.
	* win32-low.h (class win32_process_target): Derive from
	'process_stratum_target'.
	* win32-low.cc (win32_target_ops): Remove.
	(initialize_low): Set the_target to the singleton instance of
	win32_process_target.

	Replace 'the_target->pt' with 'the_target' in the uses below.

	* hostio.cc (hostio_error)
	(handle_setfs)
	(handle_open)
	(handle_unlink)
	(handle_readlink)
	* linux-aarch32-low.cc (arm_breakpoint_at)
	* linux-aarch64-low.cc (aarch64_breakpoint_at)
	* linux-arm-low.cc (arm_sigreturn_next_pc)
	(arm_get_hwcap)
	(arm_get_syscall_trapinfo)
	* linux-cris-low.cc (cris_breakpoint_at)
	* linux-crisv32-low.cc (cris_breakpoint_at)
	* linux-low.cc (handle_extended_wait)
	(linux_wait_1)
	(linux_read_memory)
	(linux_process_target::breakpoint_kind_from_pc)
	(linux_get_auxv)
	* linux-m32r-low.cc (m32r_breakpoint_at)
	* linux-mips-low.cc (mips_breakpoint_at)
	* linux-nios2-low.cc (nios2_breakpoint_at)
	* linux-ppc-low.cc (ppc_breakpoint_at)
	* linux-s390-low.cc (s390_get_hwcap)
	* linux-sh-low.cc (sh_breakpoint_at)
	* linux-sparc-low.cc (sparc_fill_gregset_to_stack)
	(sparc_store_gregset_from_stack)
	(sparc_breakpoint_at)
	* linux-tic6x-low.cc (tic6x_breakpoint_at)
	* linux-tile-low.cc (tile_breakpoint_at)
	* linux-x86-low.cc (x86_breakpoint_at)
	* linux-xtensa-low.cc (xtensa_breakpoint_at)
	* mem-break.cc (bp_size)
	(bp_opcode)
	(insert_memory_breakpoint)
	(set_raw_breakpoint_at)
	(delete_raw_breakpoint)
	(z_type_supported)
	(uninsert_raw_breakpoint)
	(reinsert_raw_breakpoint)
	(validate_inserted_breakpoint)
	* regcache.cc (regcache_read_pc)
	(regcache_write_pc)
	* remote-utils.cc (putpkt_binary_1)
	(input_interrupt)
	(getpkt)
	(prepare_resume_reply)
	* server.cc (handle_general_set)
	(handle_detach)
	(handle_qxfer_auxv)
	(handle_qxfer_exec_file)
	(handle_qxfer_libraries_svr4)
	(handle_qxfer_osdata)
	(handle_qxfer_siginfo)
	(handle_qxfer_fdpic)
	(handle_query)
	(resume)
	(handle_v_requests)
	(queue_stop_reply_callback)
	(captured_main)
	* target.cc (prepare_to_access_memory)
	(done_accessing_memory)
	(read_inferior_memory)
	(target_write_memory)
	(target_stop_and_wait)
	(target_wait)
	(target_mourn_inferior)
	(target_continue_no_signal)
	(target_continue)
	(target_supports_multi_process)
	(kill_inferior)
	* target.h
	(target_create_inferior)
	(target_post_create_inferior)
	(myattach)
	(target_supports_fork_events)
	(target_supports_vfork_events)
	(target_supports_exec_events)
	(target_handle_new_gdb_connection)
	(detach_inferior)
	(mythread_alive)
	(fetch_inferior_registers)
	(store_inferior_registers)
	(join_inferior)
	(target_supports_non_stop)
	(target_async)
	(target_process_qsupported)
	(target_supports_catch_syscall)
	(target_get_ipa_tdesc_idx)
	(target_supports_tracepoints)
	(target_supports_fast_tracepoints)
	(target_get_min_fast_tracepoint_insn_len)
	(target_thread_stopped)
	(target_pause_all)
	(target_unpause_all)
	(target_stabilize_threads)
	(target_install_fast_tracepoint_jump_pad)
	(target_emit_ops)
	(target_supports_disable_randomization)
	(target_supports_agent)
	(target_enable_btrace)
	(target_disable_btrace)
	(target_read_btrace)
	(target_read_btrace_conf)
	(target_supports_range_stepping)
	(target_supports_stopped_by_sw_breakpoint)
	(target_stopped_by_sw_breakpoint)
	(target_supports_stopped_by_hw_breakpoint)
	(target_supports_hardware_single_step)
	(target_stopped_by_hw_breakpoint)
	(target_breakpoint_kind_from_pc)
	(target_breakpoint_kind_from_current_state)
	(target_supports_software_single_step)
	(target_core_of_thread)
	(target_thread_name)
	(target_thread_handle)
	* win32-low.cc (do_initial_child_stuff)

	Rename target op default definitions listed below.

	* target.cc (process_target::post_create_inferior): Rename as ...
	(process_stratum_target::post_create_inferior): ... this.
	(process_target::prepare_to_access_memory): Rename as ...
	(process_stratum_target::prepare_to_access_memory): ... this.
	(process_target::done_accessing_memory): Rename as ...
	(process_stratum_target::done_accessing_memory): ... this.
	(process_target::look_up_symbols): Rename as ...
	(process_stratum_target::look_up_symbols): ... this.
	(process_target::supports_read_auxv): Rename as ...
	(process_stratum_target::supports_read_auxv): ... this.
	(process_target::read_auxv): Rename as ...
	(process_stratum_target::read_auxv): ... this.
	(process_target::supports_z_point_type): Rename as ...
	(process_stratum_target::supports_z_point_type): ... this.
	(process_target::insert_point): Rename as ...
	(process_stratum_target::insert_point): ... this.
	(process_target::remove_point): Rename as ...
	(process_stratum_target::remove_point): ... this.
	(process_target::stopped_by_sw_breakpoint): Rename as ...
	(process_stratum_target::stopped_by_sw_breakpoint): ... this.
	(process_target::supports_stopped_by_sw_breakpoint): Rename as ...
	(process_stratum_target::supports_stopped_by_sw_breakpoint): ... this.
	(process_target::stopped_by_hw_breakpoint): Rename as ...
	(process_stratum_target::stopped_by_hw_breakpoint): ... this.
	(process_target::supports_stopped_by_hw_breakpoint): Rename as ...
	(process_stratum_target::supports_stopped_by_hw_breakpoint): ... this.
	(process_target::supports_hardware_single_step): Rename as ...
	(process_stratum_target::supports_hardware_single_step): ... this.
	(process_target::stopped_by_watchpoint): Rename as ...
	(process_stratum_target::stopped_by_watchpoint): ... this.
	(process_target::stopped_data_address): Rename as ...
	(process_stratum_target::stopped_data_address): ... this.
	(process_target::supports_read_offsets): Rename as ...
	(process_stratum_target::supports_read_offsets): ... this.
	(process_target::read_offsets): Rename as ...
	(process_stratum_target::read_offsets): ... this.
	(process_target::supports_get_tls_address): Rename as ...
	(process_stratum_target::supports_get_tls_address): ... this.
	(process_target::get_tls_address): Rename as ...
	(process_stratum_target::get_tls_address): ... this.
	(process_target::hostio_last_error): Rename as ...
	(process_stratum_target::hostio_last_error): ... this.
	(process_target::supports_qxfer_osdata): Rename as ...
	(process_stratum_target::supports_qxfer_osdata): ... this.
	(process_target::qxfer_osdata): Rename as ...
	(process_stratum_target::qxfer_osdata): ... this.
	(process_target::supports_qxfer_siginfo): Rename as ...
	(process_stratum_target::supports_qxfer_siginfo): ... this.
	(process_target::qxfer_siginfo): Rename as ...
	(process_stratum_target::qxfer_siginfo): ... this.
	(process_target::supports_non_stop): Rename as ...
	(process_stratum_target::supports_non_stop): ... this.
	(process_target::async): Rename as ...
	(process_stratum_target::async): ... this.
	(process_target::start_non_stop): Rename as ...
	(process_stratum_target::start_non_stop): ... this.
	(process_target::supports_multi_process): Rename as ...
	(process_stratum_target::supports_multi_process): ... this.
	(process_target::supports_fork_events): Rename as ...
	(process_stratum_target::supports_fork_events): ... this.
	(process_target::supports_vfork_events): Rename as ...
	(process_stratum_target::supports_vfork_events): ... this.
	(process_target::supports_exec_events): Rename as ...
	(process_stratum_target::supports_exec_events): ... this.
	(process_target::handle_new_gdb_connection): Rename as ...
	(process_stratum_target::handle_new_gdb_connection): ... this.
	(process_target::handle_monitor_command): Rename as ...
	(process_stratum_target::handle_monitor_command): ... this.
	(process_target::core_of_thread): Rename as ...
	(process_stratum_target::core_of_thread): ... this.
	(process_target::supports_read_loadmap): Rename as ...
	(process_stratum_target::supports_read_loadmap): ... this.
	(process_target::read_loadmap): Rename as ...
	(process_stratum_target::read_loadmap): ... this.
	(process_target::process_qsupported): Rename as ...
	(process_stratum_target::process_qsupported): ... this.
	(process_target::supports_tracepoints): Rename as ...
	(process_stratum_target::supports_tracepoints): ... this.
	(process_target::read_pc): Rename as ...
	(process_stratum_target::read_pc): ... this.
	(process_target::write_pc): Rename as ...
	(process_stratum_target::write_pc): ... this.
	(process_target::supports_thread_stopped): Rename as ...
	(process_stratum_target::supports_thread_stopped): ... this.
	(process_target::thread_stopped): Rename as ...
	(process_stratum_target::thread_stopped): ... this.
	(process_target::supports_get_tib_address): Rename as ...
	(process_stratum_target::supports_get_tib_address): ... this.
	(process_target::get_tib_address): Rename as ...
	(process_stratum_target::get_tib_address): ... this.
	(process_target::pause_all): Rename as ...
	(process_stratum_target::pause_all): ... this.
	(process_target::unpause_all): Rename as ...
	(process_stratum_target::unpause_all): ... this.
	(process_target::stabilize_threads): Rename as ...
	(process_stratum_target::stabilize_threads): ... this.
	(process_target::supports_fast_tracepoints): Rename as ...
	(process_stratum_target::supports_fast_tracepoints): ... this.
	(process_target::get_min_fast_tracepoint_insn_len): Rename as ...
	(process_stratum_target::get_min_fast_tracepoint_insn_len): ... this.
	(process_target::emit_ops): Rename as ...
	(process_stratum_target::emit_ops): ... this.
	(process_target::supports_disable_randomization): Rename as ...
	(process_stratum_target::supports_disable_randomization): ... this.
	(process_target::supports_qxfer_libraries_svr4): Rename as ...
	(process_stratum_target::supports_qxfer_libraries_svr4): ... this.
	(process_target::qxfer_libraries_svr4): Rename as ...
	(process_stratum_target::qxfer_libraries_svr4): ... this.
	(process_target::supports_agent): Rename as ...
	(process_stratum_target::supports_agent): ... this.
	(process_target::enable_btrace): Rename as ...
	(process_stratum_target::enable_btrace): ... this.
	(process_target::disable_btrace): Rename as ...
	(process_stratum_target::disable_btrace): ... this.
	(process_target::read_btrace): Rename as ...
	(process_stratum_target::read_btrace): ... this.
	(process_target::read_btrace_conf): Rename as ...
	(process_stratum_target::read_btrace_conf): ... this.
	(process_target::supports_range_stepping): Rename as ...
	(process_stratum_target::supports_range_stepping): ... this.
	(process_target::supports_pid_to_exec_file): Rename as ...
	(process_stratum_target::supports_pid_to_exec_file): ... this.
	(process_target::pid_to_exec_file): Rename as ...
	(process_stratum_target::pid_to_exec_file): ... this.
	(process_target::supports_multifs): Rename as ...
	(process_stratum_target::supports_multifs): ... this.
	(process_target::multifs_open): Rename as ...
	(process_stratum_target::multifs_open): ... this.
	(process_target::multifs_unlink): Rename as ...
	(process_stratum_target::multifs_unlink): ... this.
	(process_target::multifs_readlink): Rename as ...
	(process_stratum_target::multifs_readlink): ... this.
	(process_target::breakpoint_kind_from_pc): Rename as ...
	(process_stratum_target::breakpoint_kind_from_pc): ... this.
	(process_target::breakpoint_kind_from_current_state): Rename as ...
	(process_stratum_target::breakpoint_kind_from_current_state): ... this.
	(process_target::thread_name): Rename as ...
	(process_stratum_target::thread_name): ... this.
	(process_target::thread_handle): Rename as ...
	(process_stratum_target::thread_handle): ... this.
	(process_target::supports_software_single_step): Rename as ...
	(process_stratum_target::supports_software_single_step): ... this.
	(process_target::supports_catch_syscall): Rename as ...
	(process_stratum_target::supports_catch_syscall): ... this.
	(process_target::get_ipa_tdesc_idx): Rename as ...
	(process_stratum_target::get_ipa_tdesc_idx): ... this.
2020-02-20 17:35:20 +01:00
Pedro Alves
478f9adff5 gdbserver: simply copy the pointer in 'set_target_ops'
The 'set_target_ops' function takes a target op vector and creates a
clone of it via XNEW and memcpy.  This is not necessary.  'the_target'
is a singleton, and the argument that is passed to 'set_target_ops' is
always the address of a global, static object.  Therefore, update the
implementation to simply copy the pointer.

gdbserver/ChangeLog:
2020-02-20  Pedro Alves  <palves@redhat.com>

	* target.cc (set_target_ops): Simply copy the given target pointer
	instead of creating a copy of the pointed object.
2020-02-20 17:35:20 +01:00
Tankut Baris Aktemur
d633e83140 gdbserver: turn target op 'get_ipa_tdesc_idx' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's get_ipa_tdesc_idx op into a method
	of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_get_ipa_tdesc_idx): Update the macro.
	* target.cc (process_target::get_ipa_tdesc_idx): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_get_ipa_tdesc_idx): Turn into ...
	(linux_process_target::get_ipa_tdesc_idx): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:19 +01:00
Tankut Baris Aktemur
bc8d3ae432 gdbserver: turn target op 'supports_catch_syscall' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's supports_catch_syscall op into a
	method of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_supports_catch_syscall): Update the macro.
	* target.cc (process_target::supports_catch_syscall): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_supports_catch_syscall): Turn into ...
	(linux_process_target::supports_catch_syscall): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:19 +01:00
Tankut Baris Aktemur
5303a34f90 gdbserver: turn target op 'supports_software_single_step' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's supports_software_single_step op
	into a method of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_supports_software_single_step): Update the macro.
	* target.cc (process_target::supports_software_single_step): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_supports_software_single_step): Turn into ...
	(linux_process_target::supports_software_single_step): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:19 +01:00
Tankut Baris Aktemur
7f63b89b3a gdbserver: turn target ops 'thread_name' and 'thread_handle' into methods
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's thread_name and thread_handle ops
	into methods of process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.
	(target_thread_name): Update the macro.
	(target_thread_handle): Update the macro.
	* target.cc (process_target::thread_name): Define.
	(process_target::thread_handle): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target::thread_name): Define.
	(linux_process_target::thread_handle): Define.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:18 +01:00
Tankut Baris Aktemur
d367006fb7 gdbserver: turn breakpoint kind-related target ops into methods
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's breakpoint_kind_from_pc,
	sw_breakpoint_from_kind, and breakpoint_kind_from_current_state
	ops into methods of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_breakpoint_kind_from_pc): Update the macro.
	(target_breakpoint_kind_from_current_state): Update the macro.
	(default_breakpoint_kind_from_pc): Remove declaration.
	* target.cc (default_breakpoint_kind_from_pc): Turn into ...
	(process_target::breakpoint_kind_from_pc): ... this.
	(process_target::breakpoint_kind_from_current_state): Define.

	Update the derived classes and callers below.

	* mem-break.cc (bp_size): Update.
	(bp_opcode): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_wait_1): Update.
	(linux_breakpoint_kind_from_pc): Turn into ...
	(linux_process_target::breakpoint_kind_from_pc): ... this.
	(linux_sw_breakpoint_from_kind): Turn into ...
	(linux_process_target::sw_breakpoint_from_kind): ... this.
	(linux_breakpoint_kind_from_current_state): Turn into ...
	(linux_process_target::breakpoint_kind_from_current_state): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	(lynx_process_target::sw_breakpoint_from_kind): Define.
	* lynx-low.h (class lynx_process_target): Update.
	* nto-low.cc (nto_target_ops): Update.
	(nto_sw_breakpoint_from_kind): Turn into ...
	(nto_process_target::sw_breakpoint_from_kind): ... this.
	* nto-low.h (class nto_process_target): Update.
	* win32-low.cc (win32_target_ops): Update.
	(win32_sw_breakpoint_from_kind): Turn into ...
	(win32_process_target::sw_breakpoint_from_kind): ... this.
	* win32-low.h (class win32_process_target): Update.
2020-02-20 17:35:18 +01:00
Tankut Baris Aktemur
c9b7b80460 gdbserver: turn target ops 'multifs_{open, readlink, unlink}' into methods
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's multifs_open, multifs_readlink,
	multifs_unlink ops into methods of process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.  Also add
	'supports_multifs'.
	* target.cc: Include "fcntl.h", "unistd.h", "sys/types.h", and
	"sys/stat.h".
	(process_target::supports_multifs): Define.
	(process_target::multifs_open): Define.
	(process_target::multifs_readlink): Define.
	(process_target::multifs_unlink): Define.

	Update the derived classes and callers below.

	* hostio.cc (handle_setfs): Update.
	(handle_open): Update.
	(handle_unlink): Update.
	(handle_readlink): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target::supports_multifs): Define.
	(linux_process_target::multifs_open): Define.
	(linux_process_target::multifs_readlink): Define.
	(linux_process_target::multifs_unlink): Define.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:18 +01:00
Tankut Baris Aktemur
8247b8236b gdbserver: turn target op 'pid_to_exec_file' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's pid_to_exec_file op into a method
	of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.  Also add
	'supports_pid_to_exec_file'.
	* target.cc (process_target::pid_to_exec_file): Define.
	(process_target::supports_pid_to_exec_file): Define.

	Update the derived classes and callers below.

	* server.cc (handle_qxfer_exec_file): Update.
	(handle_query): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target::supports_pid_to_exec_file): Define.
	(linux_process_target::pid_to_exec_file): Define.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:17 +01:00
Tankut Baris Aktemur
2526e0cd95 gdbserver: turn target op 'supports_range_stepping' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's supports_range_stepping op into a
	method of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_supports_range_stepping): Update the macro.
	* target.cc (process_target::supports_range_stepping): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_supports_range_stepping): Turn into ...
	(linux_process_target::supports_range_stepping): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:17 +01:00
Tankut Baris Aktemur
79597bdd56 gdbserver: turn btrace-related target ops into methods
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's btrace-related ops (enable_btrace,
	disable_btrace, read_btrace, read_btrace_conf) into methods of
	process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.
	(target_enable_btrace): Update.
	(target_disable_btrace): Update.
	(target_read_btrace): Update.
	(target_read_btrace_conf): Update.
	* target.cc (process_target::enable_btrace): Define.
	(process_target::disable_btrace): Define.
	(process_target::read_btrace): Define.
	(process_target::read_btrace_conf): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target:enable_btrace): Define as a wrapper around
	linux_enable_btrace.
	(linux_low_disable_btrace): Turn into ...
	(linux_process_target::disable_btrace): ... this.
	(linux_low_read_btrace): Turn into ...
	(linux_process_target::read_btrace): ... this.
	(linux_low_btrace_conf): Turn into ...
	(linux_process_target::read_btrace_conf): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:17 +01:00
Tankut Baris Aktemur
c0245cb999 gdbserver: turn target op 'supports_agent' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's supports_agent op into a method of
	process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_supports_agent): Update the macro.
	* target.cc (process_target::supports_agent): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_supports_agent): Turn into ...
	(linux_process_target::supports_agent): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:16 +01:00
Tankut Baris Aktemur
974387bb25 gdbserver: turn target op 'qxfer_libraries_svr4' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's qxfer_libraries_svr4 op into a
	method of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.  Also add
	'supports_qxfer_libraries_svr4'.
	* target.cc (process_target::qxfer_libraries_svr4): Define.
	(process_target::supports_qxfer_libraries_svr4): Define.

	Update the derived classes and callers below.

	* server.cc (handle_qxfer_libraries_svr4): Update.
	(handle_query): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target::supports_qxfer_libraries_svr4): Define.
	(linux_qxfer_libraries_svr4): Turn into ...
	(linux_process_target::qxfer_libraries_svr4): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:16 +01:00
Tankut Baris Aktemur
c756403b17 gdbserver: turn target op 'supports_disable_randomization' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's supports_disable_randomization op
	into a method of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_supports_disable_randomization): Update the macro.
	* target.cc (process_target::supports_disable_randomization): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_supports_disable_randomization): Turn into ...
	(linux_process_target::supports_disable_randomization): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:16 +01:00
Tankut Baris Aktemur
345dafadc2 gdbserver: turn target op 'emit_ops' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's emit_ops op into a method of
	process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_emit_ops): Update the macro.
	* target.cc (process_target::emit_ops): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_emit_ops): Turn into ...
	(linux_process_target::emit_ops): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:15 +01:00
Tankut Baris Aktemur
c23c939174 gdbserver: turn fast tracepoint target ops into methods
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's install_fast_tracepoint_jump_pad
	and get_min_fast_tracepoint_insn_len ops into methods of
	process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.  Also add
	'supports_fast_tracepoints'.
	(target_supports_fast_tracepoints): Update the macro.
	(target_get_min_fast_tracepoint_insn_len): Update the macro.
	(install_fast_tracepoint_jump_pad): Update and rename the macro
	to ...
	(target_install_fast_tracepoint_jump_pad): ... this.
	* target.cc (process_target::supports_fast_tracepoints): Define.
	(process_target::install_fast_tracepoint_jump_pad): Define.
	(process_target::get_min_fast_tracepoint_insn_len): Define.

	Update the derived classes and callers below.

	* tracepoint.cc (install_fast_tracepoint): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target::supports_fast_tracepoints): Define.
	(linux_install_fast_tracepoint_jump_pad): Turn into ...
	(linux_process_target::install_fast_tracepoint_jump_pad): ... this.
	(linux_get_min_fast_tracepoint_insn_len): Turn into ...
	(linux_process_target::get_min_fast_tracepoint_insn_len): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:15 +01:00
Tankut Baris Aktemur
5c9eb2f2b5 gdbserver: turn target op 'stabilize_threads' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's stabilize_threads op into a
	method of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_stabilize_threads): Update the macro.
	* target.cc (process_target::stabilize_threads): Define.

	Update the derived classes and callers below.

	* server.cc (handle_status): Update.
	* tracepoint.cc (cmd_qtdp): Update.
	(cmd_qtstart): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_stabilize_threads): Turn into ...
	(linux_process_target::stabilize_threads): ... this.
	(linux_wait_1): Update.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:15 +01:00
Tankut Baris Aktemur
29e8dc09ff gdbserver: turn target ops 'pause_all' and 'unpause_all' into methods
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's pause_all and unpause_all ops
	into methods of process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.
	(pause_all): Update the macro and rename to...
	(target_pause_all): ... this.
	(unpause_all): Update the macro and rename to...
	(target_unpause_all): ... this.
	* target.cc (process_target::pause_all): Define.
	(process_target::unpause_all): Define.

	Update the derived classes and callers below.

	* server.cc (handle_status): Update.
	* tracepoint.cc (clear_installed_tracepoints): Update.
	(cmd_qtdp): Update.
	(cmd_qtstart): Update.
	(stop_tracing): Update.
	(cmd_qtstatus): Update.
	(upload_fast_traceframes): Update.
	(run_inferior_command): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_pause_all): Turn into ...
	(linux_process_target::pause_all): ... this.
	(linux_unpause_all): Turn into ...
	(linux_process_target::unpause_all): ... this.
	(linux_process_target::prepare_to_access_memory): Update.
	(linux_process_target::done_accessing_memory): Update.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:14 +01:00
Tankut Baris Aktemur
4e2e869cb3 gdbserver: turn target op 'get_tib_address' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's get_tib_address op into a method of
	process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.  Also add
	'supports_get_tib_address'.
	* target.cc (process_target::get_tib_address): Define.
	(process_target::supports_get_tib_address): Define.

	Update the derived classes and callers below.

	* server.cc (handle_query): Update.
	* linux-low.cc (win32_target_ops): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
	(win32_process_target::supports_get_tib_address): Define.
	(win32_get_tib_address): Turn into ...
	(win32_process_target::get_tib_address): ... this.
	* win32-low.h (class win32_process_target): Update.
2020-02-20 17:35:14 +01:00
Tankut Baris Aktemur
68119632a0 gdbserver: turn target op 'thread_stopped' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's thread_stopped op into a method of
	process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.  Also add
	'supports_thread_stopped'.
	(target_thread_stopped): Update the macro.
	* target.cc (process_target::thread_stopped): Define.
	(process_target::supports_thread_stopped): Define.
	(prepare_to_access_memory): Update.

	Update the derived classes and callers below.

	* server.cc (queue_stop_reply_callback): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target::supports_thread_stopped): Define.
	(linux_thread_stopped): Turn into ...
	(linux_process_target::thread_stopped): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:14 +01:00
Tankut Baris Aktemur
770d8f6a51 gdbserver: turn target ops 'read_pc' and 'write_pc' into methods
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's read_pc and write_pc ops into
	methods of process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.
	* target.cc (process_target::read_pc): Define.
	(process_target::write_pc): Define.

	Update the derived classes and callers below.

	* regcache.cc (regcache_read_pc): Update.
	(regcache_write_pc): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_read_pc): Turn into ...
	(linux_process_target::read_pc): ... this.
	(linux_write_pc): Turn into ...
	(linux_process_target::write_pc): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:13 +01:00
Tankut Baris Aktemur
290732bfb3 gdbserver: turn target op 'supports_tracepoints' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's supports_tracepoints op into a
	method of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_supports_tracepoints): Update the macro.
	* target.cc (process_target::supports_tracepoints): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_supports_tracepoints): Turn into ...
	(linux_process_target::supports_tracepoints): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:13 +01:00
Tankut Baris Aktemur
0df28b1b4b gdbserver: turn target op 'process_qsupported' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's process_qsupported op into a method
	of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_process_qsupported): Update the macro.
	* target.cc (process_target::process_qsupported): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_process_qsupported): Turn into ...
	(linux_process_target::process_qsupported): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:13 +01:00
Tankut Baris Aktemur
9da41fdae0 gdbserver: turn target op 'read_loadmap' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's read_loadmap op into a method of
	process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.  Also add
	'supports_read_loadmap'.
	* target.cc (process_target::read_loadmap): Define.
	(process_target::supports_read_loadmap): Define.

	Update the derived classes and callers below.

	* server.cc (handle_qxfer_fdpic): Update.
	(handle_query): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target::supports_read_loadmap): Define.
	(linux_read_loadmap): Turn into ...
	(linux_process_target::read_loadmap): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:12 +01:00
Tankut Baris Aktemur
95a45fc165 gdbserver: turn target op 'core_of_thread' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's core_of_thread op into a method of
	process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_core_of_thread): Update the macro.
	* target.cc (process_target::core_of_thread): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target::core_of_thread): Define.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:12 +01:00
Tankut Baris Aktemur
55cf302157 gdbserver: turn target op 'handle_monitor_command' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's handle_monitor_command op into a
	method of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_handle_monitor_command): Update the macro.
	* target.cc (process_target::handle_monitor_command): Define.

	Update the derived classes and callers below.

	* server.cc (handle_query): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target::handle_monitor_command): Define.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:12 +01:00
Tankut Baris Aktemur
fb00dfcef0 gdbserver: turn target op 'handle_new_gdb_connection' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's handle_new_gdb_connection op into a
	method of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_handle_new_gdb_connection): Update the macro.
	* target.cc (process_target::handle_new_gdb_connection): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_handle_new_gdb_connection): Turn into ...
	(linux_process_target::handle_new_gdb_connection): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:11 +01:00
Tankut Baris Aktemur
9690a72ae5 gdbserver: turn target ops 'supports_{fork,vfork,exec}_events' into methods
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's supports_fork_events,
	supports_vfork_events, and supports_exec_events ops into methods
	of process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.
	(target_supports_fork_events): Update the macro.
	(target_supports_vfork_events): Update the macro.
	(target_supports_exec_events): Update the macro.
	* target.cc (process_target::supports_fork_events): Define.
	(process_target::supports_vfork_events): Define.
	(process_target::supports_exec_events): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_supports_fork_events): Turn into ...
	(linux_process_target::supports_fork_events): ... this.
	(linux_supports_vfork_events): Turn into ...
	(linux_process_target::supports_vfork_events): ... this.
	(linux_supports_exec_events): Turn into ...
	(linux_process_target::supports_exec_events): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:11 +01:00
Tankut Baris Aktemur
652aef7792 gdbserver: turn target op 'supports_multi_process' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's supports_multi_process op into a
	method of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	* target.cc (process_target::supports_multi_process): Define.
	(target_supports_multi_process): Update.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_supports_multi_process): Turn into ...
	(linux_process_target::supports_multi_process): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:11 +01:00
Tankut Baris Aktemur
0dc587d425 gdbserver: turn non-stop and async target ops into methods
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's supports_non_stop, async, and
	start_non_stop ops into methods of process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.
	(target_supports_non_stop): Update the macro.
	(target_async): Update the macro.
	(start_non_stop): Remove declaration.
	* target.cc (process_target::supports_non_stop): Define.
	(process_target::async): Define.
	(process_target::start_non_stop): Define.
	(start_non_stop): Remove.

	Update the derived classes and callers below.

	* server.cc (handle_qxfer_siginfo): Update.
	(handle_query): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_supports_non_stop): Turn into ...
	(linux_process_target::supports_non_stop): ... this.
	(linux_async): Turn into ...
	(linux_process_target::async): ... this.
	(linux_start_non_stop): Turn into ...
	(linux_process_target::start_non_stop): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	(nto_supports_non_stop): Remove; rely on the default behavior
	instead.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:10 +01:00
Tankut Baris Aktemur
d7abedf7e7 gdbserver: turn target op 'qxfer_siginfo' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's qxfer_siginfo op into a method of
	process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.  Also add
	'supports_qxfer_siginfo'.
	* target.cc (process_target::qxfer_siginfo): Define.
	(process_target::supports_qxfer_siginfo): Define.

	Update the derived classes and callers below.

	* server.cc (handle_qxfer_siginfo): Update.
	(handle_query): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target::supports_qxfer_siginfo): Define.
	(linux_xfer_siginfo): Turn into ...
	(linux_process_target::qxfer_siginfo): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:10 +01:00
Tankut Baris Aktemur
2d0795ee38 gdbserver: turn target op 'qxfer_osdata' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's qxfer_osdata op into a method of
	process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.  Also add
	'supports_qxfer_osdata'.
	* target.cc (process_target::qxfer_osdata): Define.
	(process_target::supports_qxfer_osdata): Define.

	Update the derived classes and callers below.

	* server.cc (handle_qxfer_osdata): Update.
	(handle_query): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target::supports_qxfer_osdata): Define.
	(linux_qxfer_osdata): Turn into ...
	(linux_process_target::qxfer_osdata): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:10 +01:00
Tankut Baris Aktemur
ea06bbaaaa gdbserver: turn target op 'hostio_last_error' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's hostio_last_error op into a
	method of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	* target.cc: Add "hostio.h" to includes.
	(process_target::hostio_last_error): Define.

	Update the derived classes and callers below.

	* hostio.cc (hostio_error): Update.
	* linux-low.cc: Remove "hostio.h" from includes.
	(linux_target_ops): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.h (class win32_process_target): Update.
	* win32-low.cc (win32_target_ops): Update.
	(wince_hostio_last_error): Turn into ...
	(win32_process_target::hostio_last_error): ... this.
2020-02-20 17:35:09 +01:00
Tankut Baris Aktemur
6e3fd7e948 gdbserver: turn target op 'get_tls_address' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's get_tls_address op into a method of
	process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.  Also add
	'supports_get_tls_address'.
	* target.cc (process_target::get_tls_address): Define.
	(process_target::supports_get_tls_address): Define.

	Update the derived classes and callers below.

	* server.cc (handle_query): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target::supports_get_tls_address): Define.
	(linux_process_target::get_tls_address): Define.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:09 +01:00
Tankut Baris Aktemur
5203ae1e87 gdbserver: turn target op 'read_offsets' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's read_offsets op into a method of
	process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.  Also add
	'supports_read_offsets'.
	* target.cc (process_target::read_offsets): Define.
	(process_target::supports_read_offsets): Define.

	Update the derived classes and callers below.

	* server.cc (handle_query): Update.
	* linux-low.cc (SUPPORTS_READ_OFFSETS): New #define directive.
	(linux_target_ops): Update.
	(linux_process_target::supports_read_offsets): Define.
	(linux_read_offsets): Turn into ...
	(linux_process_target::read_offsets): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:09 +01:00
Tankut Baris Aktemur
6eeb5c5531 gdbserver: turn target ops 'stopped_by_watchpoint' and 'stopped_data_address' into methods
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's stopped_by_watchpoint and
	stopped_data_address ops into methods of process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.
	* target.cc (process_target::stopped_by_watchpoint): Define.
	(process_target::stopped_data_address): Define.

	Update the derived classes and callers below.

	* remote-utils.cc (prepare_resume_reply): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_stopped_by_watchpoint): Turn into ...
	(linux_process_target::stopped_by_watchpoint): ... this.
	(linux_stopped_data_address): Turn into ...
	(linux_process_target::stopped_data_address): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	(nto_stopped_by_watchpoint): Turn into ...
	(nto_process_target::stopped_by_watchpoint): ... this.
	(nto_stopped_data_address): Turn into ...
	(nto_process_target::stopped_data_address): ... this.
	* nto-low.h (class nto_process_target): Update.
	* win32-low.cc (win32_target_ops): Update.
	(win32_stopped_by_watchpoint): Turn into ...
	(win32_process_target::stopped_by_watchpoint): ... this.
	(win32_stopped_data_address): Turn into ...
	(win32_process_target::stopped_data_address): ... this.
	* win32-low.h (class win32_process_target): Update.
2020-02-20 17:35:08 +01:00
Tankut Baris Aktemur
22aa6223a0 gdbserver: turn target op 'supports_hardware_single_step' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's supports_hardware_single_step op into
	a method of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	(target_supports_hardware_single_step): Update the macro.
	(target_can_do_hardware_single_step): Remove declaration.
	* target.cc (process_target::supports_hardware_single_step): Define.
	(target_can_do_hardware_single_step): Remove.

	Update the derived classes and callers below.

	* linux-low.h (class linux_process_target): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_supports_hardware_single_step): Turn into ...
	(linux_process_target::supports_hardware_single_step): ... this.
	* lynx-low.h (class lynx_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	(lynx_process_target::supports_hardware_single_step): Define.
	* nto-low.h (class nto_process_target): Update.
	* nto-low.cc (nto_target_ops): Update.
	(nto_process_target::supports_hardware_single_step): Define.
	* win32-low.h (class win32_process_target): Update.
	* win32-low.cc (win32_target_ops): Update.
	(win32_process_target::supports_hardware_single_step): Define.
2020-02-20 17:35:08 +01:00
Tankut Baris Aktemur
93fe88b24c gdbserver: turn target op '{supports_}stopped_by_hw_breakpoint' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's {supports_}stopped_by_hw_breakpoint
	ops into methods of process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.
	(target_stopped_by_hw_breakpoint): Update the macro.
	(target_supports_stopped_by_hw_breakpoint): Update the macro.
	* target.cc (process_target::stopped_by_hw_breakpoint): Define.
	(process_target::supports_stopped_by_hw_breakpoint): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_stopped_by_hw_breakpoint): Turn into ...
	(linux_process_target::stopped_by_hw_breakpoint): ... this.
	(linux_supports_stopped_by_hw_breakpoint): Turn into ...
	(linux_process_target::supports_stopped_by_hw_breakpoint): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:08 +01:00
Tankut Baris Aktemur
84320c4ea7 gdbserver: turn target op '{supports_}stopped_by_sw_breakpoint' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's {supports_}stopped_by_sw_breakpoint
	ops into methods of process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.
	(target_stopped_by_sw_breakpoint): Update the macro.
	(target_supports_stopped_by_sw_breakpoint): Update the macro.
	* target.cc (process_target::stopped_by_sw_breakpoint): Define.
	(process_target::supports_stopped_by_sw_breakpoint): Define.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_stopped_by_sw_breakpoint): Turn into ...
	(linux_process_target::stopped_by_sw_breakpoint): ... this.
	(linux_supports_stopped_by_sw_breakpoint): Turn into ...
	(linux_process_target::supports_stopped_by_sw_breakpoint): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:07 +01:00
Tankut Baris Aktemur
7e0bde70ca gdbserver: turn target ops 'insert_point' and 'remove_point' into methods
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's insert_point and remove_point ops
	into methods of process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.
	* target.cc (process_target::insert_point): Define.
	(process_target::remove_point): Define.

	Update the derived classes and callers below.

	* mem-break.cc (set_raw_breakpoint_at): Update.
	(delete_raw_breakpoint): Update.
	(uninsert_raw_breakpoint): Update.
	(reinsert_raw_breakpoint): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_insert_point): Turn into ...
	(linux_process_target::insert_point): ... this.
	(linux_remove_point): Turn into ...
	(linux_process_target::remove_point): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	(nto_insert_point): Turn into ...
	(nto_process_target::insert_point): ... this.
	(nto_remove_point): Turn into ...
	(nto_process_target::remove_point): ... this.
	* nto-low.h (class nto_process_target): Update.
	* win32-low.cc (win32_target_ops): Update.
	(win32_insert_point): Turn into ...
	(win32_process_target::insert_point): ... this.
	(win32_remove_point): Turn into ...
	(win32_process_target::remove_point): ... this.
	* win32-low.h (class win32_process_target): Update.
2020-02-20 17:35:07 +01:00
Tankut Baris Aktemur
a2b2297a20 gdbserver: turn target op 'supports_z_point_type' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's supports_z_point_type op into a
	method of process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	* target.cc (process_target::supports_z_point_type): Define.

	Update the derived classes and callers below.

	* mem-break.cc (z_type_supported): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_supports_z_point_type): Turn into ...
	(linux_process_target::supports_z_point_type): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	(nto_supports_z_point_type): Turn into ...
	(nto_process_target::supports_z_point_type): ... this.
	* nto-low.h (class nto_process_target): Update.
	* win32-low.cc (win32_target_ops): Update.
	(win32_supports_z_point_type): Turn into ...
	(win32_process_target::supports_z_point_type): ... this.
	* win32-low.h (class win32_process_target): Update.
2020-02-20 17:35:07 +01:00
Tankut Baris Aktemur
eac215cc61 gdbserver: turn target op 'read_auxv' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's read_auxv op into a method of
	process_target.

	* target.h (class process_stratum_target): Remove the target op.
	(struct process_target): Add the target op.  Also add
	'supports_read_auxv'.
	* target.cc (process_target::read_auxv): Define.
	(process_target::supports_read_auxv): Define.

	Update the derived classes and callers below.

	* server.cc (handle_qxfer_auxv): Update.
	(handle_query): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_process_target::supports_read_auxv): Define.
	(linux_read_auxv): Turn into ...
	(linux_process_target::read_auxv): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	(nto_process_target::supports_read_auxv): Define.
	(nto_read_auxv): Turn into ...
	(nto_process_target::read_auxv): ... this.
	* nto-low.h (class nto_process_target): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:06 +01:00
Tankut Baris Aktemur
2a31c7aa00 gdbserver: turn target op 'look_up_symbols' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's look_up_symbols op into a method of
	process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.
	* target.cc (process_target::look_up_symbols): Define.

	Update the derived classes and callers below.

	* server.cc (handle_query): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_look_up_symbols): Turn into ...
	(linux_process_target::look_up_symbols): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:06 +01:00
Tankut Baris Aktemur
e2558df32b gdbserver: turn target ops 'read_memory' and 'write_memory' into methods
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's read_memory and write_memory
	ops into methods of process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.

	Update the derived classes and callers below.

	* linux-aarch32-low.cc (arm_breakpoint_at): Update.
	* linux-aarch64-low.cc (aarch64_breakpoint_at): Update.
	* linux-arm-low.cc (arm_sigreturn_next_pc): Update.
	(arm_get_syscall_trapinfo): Update.
	* linux-cris-low.cc (cris_breakpoint_at): Update.
	* linux-crisv32-low.cc (cris_breakpoint_at): Update.
	* linux-m32r-low.cc (m32r_breakpoint_at): Update.
	* linux-mips-low.cc (mips_breakpoint_at): Update.
	* linux-nios2-low.cc (nios2_breakpoint_at): Update.
	* linux-ppc-low.cc (ppc_breakpoint_at): Update.
	* linux-sh-low.cc (sh_breakpoint_at): Update.
	* linux-sparc-low.cc (sparc_fill_gregset_to_stack): Update.
	(sparc_store_gregset_from_stack): Update.
	(sparc_breakpoint_at): Update.
	* linux-tic6x-low.cc (tic6x_breakpoint_at): Update.
	* linux-tile-low.cc (tile_breakpoint_at): Update.
	* linux-x86-low.cc (x86_breakpoint_at): Update.
	* linux-xtensa-low.cc (xtensa_breakpoint_at): Update.
	* mem-brea.cc (insert_memory_breakpoint): Update.
	(validate_inserted_breakpoint): Update.
	* target.cc (read_inferior_memory): Update.
	(target_write_memory): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_read_memory): Make a wrapper around the read_memory target
	op call.
	(linux_process_target::read_memory): Rename from linux_read_memory.
	(linux_write_memory): Turn into ...
	(linux_process_target::write_memory): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	(lynx_read_memory): Turn into ...
	(lynx_process_target::read_memory): ... this.
	(lynx_write_memory): Turn into ...
	(lynx_process_target::write_memory): ... this.
	* lynx-low.h (class lynx_process_target): Update.
	* nto-low.cc (nto_target_ops): Update.
	(nto_read_memory): Turn into ...
	(nto_process_target::read_memory): ... this.
	(nto_write_memory): Turn into ...
	(nto_process_target::write_memory): ... this.
	* nto-low.h (class nto_process_target): Update.
	* win32-low.cc (win32_target_ops): Update.
	(win32_read_inferior_memory): Turn into ...
	(win32_process_target::read_memory): ... this.
	(win32_write_inferior_memory): Turn into ...
	(win32_process_target::write_memory): ... this.
	* win32-low.h (class win32_process_target): Update.
2020-02-20 17:35:05 +01:00
Tankut Baris Aktemur
79b4408780 gdbserver: turn prepare_to_access_memory & done_accessing_memory into methods
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's prepare_to_access_memory and
	done_accessing_memory ops into methods of process_target.

	* target.h (struct process_stratum_target): Remove the target ops.
	(class process_target): Add the target ops.
	* target.cc (process_target::prepare_to_access_memory): Define.
	(process_target::done_accessing_memory): Define.
	(prepare_to_access_memory): Update.
	(done_accessing_memory): Update.

	Update the derived classes and callers below.

	* linux-low.cc (linux_target_ops): Update.
	(linux_prepare_to_access_memory): Turn into ...
	(linux_process_target::prepare_to_access_memory): ... this.
	(linux_done_accessing_memory): Turn into ...
	(linux_process_target::done_accessing_memory): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	* nto-low.cc (nto_target_ops): Update.
	* win32-low.cc (win32_target_ops): Update.
2020-02-20 17:35:05 +01:00
Tankut Baris Aktemur
6532e7e378 gdbserver: turn target op 'wait' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's wait op into a method of
	process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.

	Update the derived classes and callers below.

	* target.cc (target_wait): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_wait): Turn into ...
	(linux_process_target::wait): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	(lynx_wait): Turn into ...
	(lynx_process_target::wait): ... this.
	* lynx-low.h (class lynx_process_target): Update.
	* nto-low.cc (nto_target_ops): Update.
	(nto_wait): Turn into ...
	(nto_process_target::wait): ... this.
	* nto-low.h (class nto_process_target): Update.
	* win32-low.cc (win32_target_ops): Update.
	(win32_wait): Turn into ...
	(win32_process_target::wait): ... this.
	(do_initial_child_stuff): Update.
	* win32-low.h (class win32_process_target): Update.
2020-02-20 17:35:04 +01:00
Tankut Baris Aktemur
0e4d7e35fb gdbserver: turn target op 'resume' into a method
gdbserver/ChangeLog:
2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	Turn process_stratum_target's resume op into a method of
	process_target.

	* target.h (struct process_stratum_target): Remove the target op.
	(class process_target): Add the target op.

	Update the derived classes and callers below.

	* server.cc (resume): Update.
	* target.cc (target_stop_and_wait): Update.
	(target_continue_no_signal): Update.
	(target_continue): Update.
	* linux-low.cc (linux_target_ops): Update.
	(linux_resume): Turn into ...
	(linux_process_target::resume): ... this.
	* linux-low.h (class linux_process_target): Update.
	* lynx-low.cc (lynx_target_ops): Update.
	(lynx_resume): Turn into ...
	(lynx_process_target::resume): ... this.
	* lynx-low.h (class lynx_process_target): Update.
	* nto-low.cc (nto_target_ops): Update.
	(nto_resume): Turn into ...
	(nto_process_target::resume): ... this.
	* nto-low.h (class nto_process_target): Update.
	* win32-low.cc (win32_target_ops): Update.
	(win32_resume): Turn into ...
	(win32_process_target::resume): ... this.
	(win32_process_target::detach): Update.
	(do_initial_child_stuff): Update.
	* win32-low.h (class win32_process_target): Update.
2020-02-20 17:35:04 +01:00