aboutsummaryrefslogtreecommitdiff
path: root/gdbserver/linux-low.h
diff options
context:
space:
mode:
authorTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2020-04-02 15:11:30 +0200
committerTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2020-04-02 15:11:30 +0200
commit13e567af27e45f7e2f7adc9562d4cfe5a81227f9 (patch)
tree8e20fd88af9941f10c160841960d4ab04378caa5 /gdbserver/linux-low.h
parent47f70aa7685c0a7fad4ca76964a4199a5b5edd1c (diff)
downloadgdb-13e567af27e45f7e2f7adc9562d4cfe5a81227f9.zip
gdb-13e567af27e45f7e2f7adc9562d4cfe5a81227f9.tar.gz
gdb-13e567af27e45f7e2f7adc9562d4cfe5a81227f9.tar.bz2
gdbserver/linux-low: turn 'get_thread_area' into a method
gdbserver/ChangeLog: 2020-04-02 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> Turn the 'get_thread_area' linux target op into a method of process_stratum_target. * linux-low.h (struct linux_target_ops): Remove the op. (class linux_process_target) <stuck_in_jump_pad> <linux_fast_tracepoint_collecting> <low_get_thread_area>: Declare. * linux-low.cc (supports_fast_tracepoints): Remove. (linux_fast_tracepoint_collecting): Turn into... (linux_process_target::linux_fast_tracepoint_collecting): ...this. (linux_process_target::low_get_thread_area): Define. (stuck_in_jump_pad_callback): Turn into... (linux_process_target::stuck_in_jump_pad): ...this. Update the caller below. (linux_process_target::stabilize_threads) * linux-x86-low.cc (class x86_target) <low_get_thread_area>: Declare. (x86_get_thread_area): Turn into... (x86_target::low_get_thread_area): ...this. (the_low_target): Remove the op field. * linux-aarch64-low.cc (class aarch64_target) <low_get_thread_area>: Declare. (aarch64_get_thread_area): Turn into... (aarch64_target::low_get_thread_area): ...this. (the_low_target): Remove the op field. * linux-ppc-low.cc (class ppc_target) <low_get_thread_area>: Declare. (ppc_get_thread_area): Turn into... (ppc_target::low_get_thread_area): ...this. (the_low_target): Remove the op field. * linux-s390-low.cc (class s390_target) <low_get_thread_area>: Declare. (s390_get_thread_area): Turn into... (s390_target::low_get_thread_area): ...this. (the_low_target): Remove the op field. * linux-arm-low.cc (the_low_target): Remove the op field. * linux-bfin-low.cc (the_low_target): Ditto. * linux-crisv32-low.cc (the_low_target): Ditto. * linux-m32r-low.cc (the_low_target): Ditto. * linux-m68k-low.cc (the_low_target): Ditto. * linux-sh-low.cc (the_low_target): Ditto. * linux-tic6x-low.cc (the_low_target): Ditto. * linux-tile-low.cc (the_low_target): Ditto. * linux-xtensa-low.cc (the_low_target): Ditto.
Diffstat (limited to 'gdbserver/linux-low.h')
-rw-r--r--gdbserver/linux-low.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/gdbserver/linux-low.h b/gdbserver/linux-low.h
index 223b19d..58e5e67 100644
--- a/gdbserver/linux-low.h
+++ b/gdbserver/linux-low.h
@@ -131,10 +131,6 @@ struct lwp_info;
struct linux_target_ops
{
- /* Fill ADDRP with the thread area address of LWPID. Returns 0 on
- success, -1 on failure. */
- int (*get_thread_area) (int lwpid, CORE_ADDR *addrp);
-
/* Install a fast tracepoint jump pad. See target.h for
comments. */
int (*install_fast_tracepoint_jump_pad) (CORE_ADDR tpoint, CORE_ADDR tpaddr,
@@ -624,6 +620,17 @@ private: /* Back to private. */
ptid_t filter_exit_event (lwp_info *event_child,
target_waitstatus *ourstatus);
+ /* Returns true if THREAD is stopped in a jump pad, and we can't
+ move it out, because we need to report the stop event to GDB. For
+ example, if the user puts a breakpoint in the jump pad, it's
+ because she wants to debug it. */
+ bool stuck_in_jump_pad (thread_info *thread);
+
+ /* Convenience wrapper. Returns information about LWP's fast tracepoint
+ collection status. */
+ fast_tpoint_collect_result linux_fast_tracepoint_collecting
+ (lwp_info *lwp, fast_tpoint_collect_status *status);
+
protected:
/* The architecture-specific "low" methods are listed below. */
@@ -710,6 +717,10 @@ protected:
/* Hook to call prior to resuming a thread. */
virtual void low_prepare_to_resume (lwp_info *lwp);
+ /* Fill ADDRP with the thread area address of LWPID. Returns 0 on
+ success, -1 on failure. */
+ virtual int low_get_thread_area (int lwpid, CORE_ADDR *addrp);
+
/* How many bytes the PC should be decremented after a break. */
virtual int low_decr_pc_after_break ();
};