diff options
author | Gary Benson <gbenson@redhat.com> | 2015-03-24 14:05:43 +0000 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2015-03-24 14:05:43 +0000 |
commit | 6d4ee8c6ad7d5b04e524b2b48ffe5639028594a5 (patch) | |
tree | 796ae04a4d944777a1aa9bcde44ec114b58f11af /gdb/linux-nat.h | |
parent | 70a0bb6b590bcfe304fe082d421feb52e0a0d4dc (diff) | |
download | gdb-6d4ee8c6ad7d5b04e524b2b48ffe5639028594a5.zip gdb-6d4ee8c6ad7d5b04e524b2b48ffe5639028594a5.tar.gz gdb-6d4ee8c6ad7d5b04e524b2b48ffe5639028594a5.tar.bz2 |
Add iterate_over_lwps to gdbserver
This commit introduces a new function, iterate_over_lwps, that
shared Linux code can use to call a function for each LWP that
matches certain criteria. This function already existed in GDB
and was in use by GDB's various low-level Linux x86 debug register
setters. An equivalent was written for gdbserver and gdbserver's
low-level Linux x86 debug register setters were modified to use
it.
gdb/ChangeLog:
* linux-nat.h: Include nat/linux-nat.h.
(iterate_over_lwps): Move declaration to nat/linux-nat.h.
* nat/linux-nat.h (struct lwp_info): New forward declaration.
(iterate_over_lwps_ftype): New typedef.
(iterate_over_lwps): New declaration.
* linux-nat.h (iterate_over_lwps): Update comment. Use
iterate_over_lwps_ftype. Update callback return value check.
gdb/gdbserver/ChangeLog:
* linux-low.h: Include nat/linux-nat.h.
* linux-low.c (iterate_over_lwps_args): New structure.
(iterate_over_lwps_filter): New function.
(iterate_over_lwps): Likewise.
* linux-x86-low.c (update_debug_registers_callback):
Update signature to what iterate_over_lwps expects.
Remove PID check that iterate_over_lwps now performs.
(x86_dr_low_set_addr): Use iterate_over_lwps.
(x86_dr_low_set_control): Likewise.
Diffstat (limited to 'gdb/linux-nat.h')
-rw-r--r-- | gdb/linux-nat.h | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h index 87bc75b..4dd3932 100644 --- a/gdb/linux-nat.h +++ b/gdb/linux-nat.h @@ -17,8 +17,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include "nat/linux-nat.h" #include "target.h" - #include <signal.h> struct arch_lwp_info; @@ -151,12 +151,6 @@ extern void linux_stop_and_wait_all_lwps (void); left stopped.) */ extern void linux_unstop_all_lwps (void); -/* Iterator function for lin-lwp's lwp list. */ -struct lwp_info *iterate_over_lwps (ptid_t filter, - int (*callback) (struct lwp_info *, - void *), - void *data); - /* Create a prototype generic GNU/Linux target. The client can override it with local methods. */ struct target_ops * linux_target (void); |