S390: Defer PER info update until resume
authorAndreas Arnez <arnez@linux.vnet.ibm.com>
Wed, 11 Mar 2015 10:11:44 +0000 (11:11 +0100)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Wed, 11 Mar 2015 10:11:44 +0000 (11:11 +0100)
commit183961935e38267cf16cdcdcdfebcab07ab415d5
tree8f5cfedf5e9fc65fa5c49c2eee7dc80e52a808d6
parentf728387b9adccc88edcde44f357f869e33943c6d
S390: Defer PER info update until resume

For multi-threaded inferiors on S390 GNU/Linux targets, GDB tried to
update the PER info via ptrace() in a newly attached thread before
assuring that the thread is stopped.  Depending on the timing, this
could lead to a GDB internal error.  The patch defers the PER info
update until just before resuming the thread.

gdb/ChangeLog:

* s390-linux-nat.c (struct arch_lwp_info): New.
(s390_fix_watch_points): Rename to...
(s390_prepare_to_resume): ...this.  Skip the PER info update
unless the watch points have changed.
(s390_refresh_per_info, s390_new_thread): New functions.
(s390_insert_watchpoint): Call s390_refresh_per_info instead of
s390_fix_watch_points.
(s390_remove_watchpoint): Likewise.
(_initialize_s390_nat): Reflect renaming of s390_fix_watch_points.
Register s390_prepare_to_resume.
gdb/ChangeLog
gdb/s390-linux-nat.c