Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@codesourcery.com>
To: "Pierre Muller" <muller@ics.u-strasbg.fr>
Cc: gdb-patches@sourceware.org,  "'Eli Zaretskii'" <eliz@gnu.org>
Subject: Re: [PING][RFA-v2] Fix troubles with watchpoints in DJGPP
Date: Tue, 16 Jun 2009 23:46:00 -0000	[thread overview]
Message-ID: <200906170046.22746.pedro@codesourcery.com> (raw)
In-Reply-To: <000601c9eed8$fcfaa0c0$f6efe240$@u-strasbg.fr>

On Wednesday 17 June 2009 00:20:06, Pierre Muller wrote:
> +  /* On systems that load no shared libraries, like DJGPP target,
> +     breakpoint_re_set is never called.
> +     Call it now so that ordinary watchpoints get a chance to
> +     become promoted to hardware watchpoints if the pushed target
> +     supports hardware watchpoints.  */
> +  breakpoint_re_set ();
> +

Much, much better, thanks.  "systems that load no shared libraries"
still isn't the right predicate, as I demonstrated with the
linux static executable, and the breakpoint_re_set call due to
adding the vsyscall page's symbols.  I'd suggest expanding a bit
more.  Something like:

  /* 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 ();

(s/ordinary/software/.  There's nothing unordinary about hardware watchpoints)

-- 
Pedro Alves


  reply	other threads:[~2009-06-16 23:46 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-27  7:49 [RFA] " Pierre Muller (IMAP)
2009-05-27 19:25 ` Eli Zaretskii
2009-05-27 20:53   ` Pierre Muller
2009-05-28  8:21     ` Eli Zaretskii
2009-05-28  9:31       ` Pierre Muller
2009-05-28 13:27         ` Eli Zaretskii
2009-05-27 23:30 ` Pedro Alves
2009-05-28  8:08   ` Eli Zaretskii
2009-06-08 16:16   ` [RFA-v2] " Pierre Muller
2009-06-16 22:38     ` [PING][RFA-v2] " Pierre Muller
2009-06-16 22:59       ` Pedro Alves
2009-06-16 23:20         ` Pierre Muller
2009-06-16 23:46           ` Pedro Alves [this message]
2009-06-16 23:54             ` Pierre Muller
2009-06-17  0:05               ` Pedro Alves
2009-06-17  6:19                 ` Pierre Muller
2009-06-17 12:32             ` Joel Brobecker
2009-06-17 22:44               ` DJ Delorie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200906170046.22746.pedro@codesourcery.com \
    --to=pedro@codesourcery.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    --cc=muller@ics.u-strasbg.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox