[RFA]: Watchpoints per thread patch
Jeff Johnston
jjohnstn@redhat.com
Wed Oct 27 22:36:00 GMT 2004
Daniel Jacobowitz wrote:
> On Wed, Oct 20, 2004 at 01:27:15PM -0400, Andrew Cagney wrote:
>
>>the underlying target (ia64-linux-nat, ...) can locally override the
>>method and handle the problem. The code's the same, but how it is wired
>>up is different
>>
>>Sound reasonable to all?
>
>
> I think that sounds pretty good. Hopefully the changes involved will
> be pretty small, since I imagine that most GNU/Linux targets with
> hardware watchpoints will want it.
>
The attached patch is the rework of my original attempt. It no longer uses
configuration or magic defines. Per Mark's suggestion, it uses an observer to
handle inserting watchpoints on a new thread and only the low-level code knows
about inserting/removing watchpoints on all threads.
Ok to commit?
-- Jeff J.
2004-10-27 Jeff Johnston <jjohnstn@redhat.com>
* breakpoint.c (insert_watchpoints_for_new_thread): New function.
* breakpoint.h (insert_watchpoints_for_new_thread): New prototype.
* ia64-linux-nat.c (ia64_linux_insert_one_watchpoint): New function.
(ia64_linux_insert_watchpoint_callback): Ditto.
(ia64_linux_insert_watchpoint): Change to iterate through lwps
and insert the specified watchpoint per thread.
(ia64_linux_remove_one_watchpoint): New function.
(ia64_linux_remove_watchpoint_callback): Ditto.
(ia64_linux_remove_watchpoint): Change to iterate through lwps and
remove the specified watchpoint for each thread.
(ia64_linux_new_thread): New thread observer.
(_initialize_ia64_linux_nat): New function. Initialize
new thread observer.
* thread-db.c (attach_thread): Notify any observers of the new
thread event.
* s390-nat.c (s390_tid): New function.
(s390_inferior_tid): Change to call s390_tid.
(s390_remove_one_watchpoint): New function.
(s390_remove_watchpoint_callback): Ditto.
(s390_remove_watchpoint): Change to iterate through lwps and
remove the specified watchpoint for each thread.
(s390_insert_one_watchpoint): New function.
(s390_insert_watchpoint_callback): Ditto.
(s390_insert_watchpoint): Change to iterate through lwps and
insert the specified watchpoint on each thread.
(s390_new_thread): New thread observer.
(_initialize_s390_nat): New function. Initialize
new thread observer.
doc/ChangeLog:
2004-10-27 Jeff Johnston <jjohnstn@redhat.com>
* observer.texi (new_thread): New observer.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: watchthreads3.patch
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20041027/a528b274/attachment.ksh>
More information about the Gdb-patches
mailing list