aboutsummaryrefslogtreecommitdiff
path: root/gdb/nat/linux-ptrace.h
diff options
context:
space:
mode:
authorDon Breazeal <donb@codesourcery.com>2014-09-19 10:54:34 -0700
committerDon Breazeal <donb@codesourcery.com>2014-09-19 10:54:34 -0700
commit89a5711c561ad1e9a435221bc056ecd86a1aa628 (patch)
tree182adf2870d0e927e79e685205ea36c8bf40783e /gdb/nat/linux-ptrace.h
parente00d879a2e9169759518dd419d19f1b3dcb6f709 (diff)
downloadgdb-89a5711c561ad1e9a435221bc056ecd86a1aa628.zip
gdb-89a5711c561ad1e9a435221bc056ecd86a1aa628.tar.gz
gdb-89a5711c561ad1e9a435221bc056ecd86a1aa628.tar.bz2
Refactor ptrace extended event status.
This commit implements functions for identifying and extracting extended ptrace event information from a Linux wait status. These are just convenience functions intended to hide the ">> 16" used to extract the event from the wait status word, replacing the hard-coded shift with a more descriptive function call. This is preparatory work for implementation of follow-fork and detach-on-fork for extended-remote linux targets. gdb/ChangeLog: * linux-nat.c (linux_handle_extended_wait): Call linux_ptrace_get_extended_event. (wait_lwp): Call linux_is_extended_waitstatus. (linux_nat_filter_event): Call linux_ptrace_get_extended_event and linux_is_extended_waitstatus. * nat/linux-ptrace.c (linux_test_for_tracefork): Call linux_ptrace_get_extended_event. (linux_ptrace_get_extended_event): New function. (linux_is_extended_waitstatus): New function. * nat/linux-ptrace.h (linux_ptrace_get_extended_event) (linux_is_extended_waitstatus): New declarations. gdb/gdbserver/ChangeLog: * linux-low.c (handle_extended_wait): Call linux_ptrace_get_extended_event. (get_stop_pc, get_detach_signal, linux_low_filter_event): Call linux_is_extended_waitstatus. ---
Diffstat (limited to 'gdb/nat/linux-ptrace.h')
-rw-r--r--gdb/nat/linux-ptrace.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h
index 41b3198..31a77cd 100644
--- a/gdb/nat/linux-ptrace.h
+++ b/gdb/nat/linux-ptrace.h
@@ -92,5 +92,7 @@ extern int linux_supports_traceclone (void);
extern int linux_supports_tracevforkdone (void);
extern int linux_supports_tracesysgood (void);
extern void linux_ptrace_set_additional_flags (int);
+extern int linux_ptrace_get_extended_event (int wstat);
+extern int linux_is_extended_waitstatus (int wstat);
#endif /* COMMON_LINUX_PTRACE_H */