forked from Imagelibrary/binutils-gdb
Add enum for result of fast_tracepoint_collecting
I got confused by the result value of fast_tracepoint_collecting, while it sounds like it would return true/false (whether the thread is collecting or not), it actually returns: 0: not collecting 1: in the jump pad, before the relocated instruction 2: in the jump pad, at or after the relocated instruction To avoid confusion, I think it would be nice to make it return an enum. If you can help find a shorter but still relavant name, it would be awesome. Otherwise, we'll go with that, fast_tpoint_collect_result, which is at least consistent with the existing fast_tpoint_collect_status. gdb/gdbserver/ChangeLog: * tracepoint.h (enum class fast_tpoint_collect_result): New enumeration. (fast_tracepoint_collecting): Change return type to fast_tpoint_collect_result. * tracepoint.c (fast_tracepoint_collecting): Likewise. * linux-low.h: Include tracepoint.h. (struct lwp_info) <collecting_fast_tracepoint>: Change type to fast_tpoint_collect_result. * linux-low.c (handle_tracepoints): Adjust. (linux_fast_tracepoint_collecting): Change return type to fast_tpoint_collect_result. (maybe_move_out_of_jump_pad, linux_wait_for_event_filtered, linux_wait_1, stuck_in_jump_pad_callback, lwp_signal_can_be_delivered, linux_resume_one_lwp_throw, proceed_one_lwp): Adjust to type change.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user