From 0dc587d42590c568bea6bb1953362539c2f79d3b Mon Sep 17 00:00:00 2001 From: Tankut Baris Aktemur Date: Mon, 17 Feb 2020 16:11:57 +0100 Subject: gdbserver: turn non-stop and async target ops into methods gdbserver/ChangeLog: 2020-02-20 Tankut Baris Aktemur 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. --- gdbserver/linux-low.cc | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'gdbserver/linux-low.cc') diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc index 552c735..d162f7e 100644 --- a/gdbserver/linux-low.cc +++ b/gdbserver/linux-low.cc @@ -6265,16 +6265,16 @@ sigchld_handler (int signo) errno = old_errno; } -static int -linux_supports_non_stop (void) +bool +linux_process_target::supports_non_stop () { - return 1; + return true; } -static int -linux_async (int enable) +bool +linux_process_target::async (bool enable) { - int previous = target_is_async_p (); + bool previous = target_is_async_p (); if (debug_threads) debug_printf ("linux_async (%d), previous=%d\n", @@ -6326,13 +6326,13 @@ linux_async (int enable) return previous; } -static int -linux_start_non_stop (int nonstop) +int +linux_process_target::start_non_stop (bool nonstop) { /* Register or unregister from event-loop accordingly. */ - linux_async (nonstop); + target_async (nonstop); - if (target_is_async_p () != (nonstop != 0)) + if (target_is_async_p () != (nonstop != false)) return -1; return 0; @@ -7429,9 +7429,6 @@ linux_get_hwcap2 (int wordsize) static linux_process_target the_linux_target; static process_stratum_target linux_target_ops = { - linux_supports_non_stop, - linux_async, - linux_start_non_stop, linux_supports_multi_process, linux_supports_fork_events, linux_supports_vfork_events, -- cgit v1.1