diff options
Diffstat (limited to 'gdb/gdbserver/linux-low.h')
-rw-r--r-- | gdb/gdbserver/linux-low.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/gdb/gdbserver/linux-low.h b/gdb/gdbserver/linux-low.h index 6328da0..85bb8ca 100644 --- a/gdb/gdbserver/linux-low.h +++ b/gdb/gdbserver/linux-low.h @@ -26,6 +26,7 @@ /* Included for ptrace type definitions. */ #include "nat/linux-ptrace.h" #include "target/waitstatus.h" /* For enum target_stop_reason. */ +#include "tracepoint.h" #define PTRACE_XFER_TYPE long @@ -251,7 +252,7 @@ struct linux_target_ops extern struct linux_target_ops the_low_target; -#define get_thread_lwp(thr) ((struct lwp_info *) (inferior_target_data (thr))) +#define get_thread_lwp(thr) ((struct lwp_info *) (thread_target_data (thr))) #define get_lwp_thread(lwp) ((lwp)->thread) /* This struct is recorded in the target_data field of struct thread_info. @@ -353,12 +354,11 @@ struct lwp_info and then processed and cleared in linux_resume_one_lwp. */ struct thread_resume *resume; - /* True if it is known that this lwp is presently collecting a fast - tracepoint (it is in the jump pad or in some code that will - return to the jump pad. Normally, we won't care about this, but - we will if a signal arrives to this lwp while it is - collecting. */ - int collecting_fast_tracepoint; + /* Information bout this lwp's fast tracepoint collection status (is it + currently stopped in the jump pad, and if so, before or at/after the + relocated instruction). Normally, we won't care about this, but we will + if a signal arrives to this lwp while it is collecting. */ + fast_tpoint_collect_result collecting_fast_tracepoint; /* If this is non-zero, it points to a chain of signals which need to be reported to GDB. These were deferred because the thread @@ -374,6 +374,9 @@ struct lwp_info /* The thread handle, used for e.g. TLS access. Only valid if THREAD_KNOWN is set. */ td_thrhandle_t th; + + /* The pthread_t handle. */ + thread_t thread_handle; #endif /* Arch-specific additions. */ @@ -410,4 +413,12 @@ int thread_db_get_tls_address (struct thread_info *thread, CORE_ADDR offset, CORE_ADDR load_module, CORE_ADDR *address); int thread_db_look_up_one_symbol (const char *name, CORE_ADDR *addrp); +/* Called from linux-low.c when a clone event is detected. Upon entry, + both the clone and the parent should be stopped. This function does + whatever is required have the clone under thread_db's control. */ + +void thread_db_notice_clone (struct process_info *proc, ptid_t lwp); + +bool thread_db_thread_handle (ptid_t ptid, gdb_byte **handle, int *handle_len); + extern int have_ptrace_getregset; |