RE: [PING][RFA-v2] Fix troubles with watchpoints in DJGPP

Pierre Muller
2009-06-17T06:19:15Z

Committed, thanks.

Pierre
> -----Message d'origine-----
> De : gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] De la part de Pedro Alves
> Envoyé : Wednesday, June 17, 2009 2:06 AM
> À : Pierre Muller
> Cc : gdb-patches@sourceware.org; 'Eli Zaretskii'
> Objet : Re: [PING][RFA-v2] Fix troubles with watchpoints in DJGPP
>
> On Wednesday 17 June 2009 00:54:26, Pierre Muller wrote:
> > This is perfectly OK for me,
> > could you check it in?
> > Otherwise I can check it in tomorrow.
>
> I've no hurry, check it in tomorrow then. ;-)
>
> --
> Pedro Alves

For the record, here is what I finally checked in.

2009-06-17 Pierre Muller <muller@ics.u-strasbg.fr>
Pedro Alves <pedro@codesourcery.com>

* infcmd.c (post_create_inferior): Call breakpoint_re_set after
target
is pushed for watchpoint promotion to hardware watchpoint.

Index: infcmd.c
===================================================================
RCS file: /cvs/src/src/gdb/infcmd.c,v
retrieving revision 1.245
diff -u -p -r1.245 infcmd.c
--- infcmd.c 7 Jun 2009 16:46:48 -0000 1.245
+++ infcmd.c 17 Jun 2009 05:58:47 -0000
@@ -421,6 +421,18 @@ post_create_inferior (struct target_ops
#endif
}

+ /* If the user sets watchpoints before execution having started,
+ then she gets software watchpoints, because GDB can't know which
+ target will end up being pushed, or if it supports hardware
+ watchpoints or not. breakpoint_re_set takes care of promoting
+ watchpoints to hardware watchpoints if possible, however, if this
+ new inferior doesn't load shared libraries or we don't pull in
+ symbols from any other source on this target/arch,
+ breakpoint_re_set is never called. Call it now so that software
+ watchpoints get a chance to be promoted to hardware watchpoints
+ if the now pushed target supports hardware watchpoints. */
+ breakpoint_re_set ();
+
observer_notify_inferior_created (target, from_tty);
}