]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit - gdb/gdbserver/linux-low.c
Refactor ptrace extended event status.
authorDon Breazeal <donb@codesourcery.com>
Fri, 19 Sep 2014 17:54:34 +0000 (10:54 -0700)
committerDon Breazeal <donb@codesourcery.com>
Fri, 19 Sep 2014 17:54:34 +0000 (10:54 -0700)
commit89a5711c561ad1e9a435221bc056ecd86a1aa628
tree182adf2870d0e927e79e685205ea36c8bf40783e
parente00d879a2e9169759518dd419d19f1b3dcb6f709
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.

---
gdb/ChangeLog
gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-low.c
gdb/linux-nat.c
gdb/nat/linux-ptrace.c
gdb/nat/linux-ptrace.h