Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pierre Muller <muller@cerbere.u-strasbg.fr>
To: gdb-patches@sources.redhat.com
Subject: Re: [RFC/RFA] Add hardware watchpoint support for cygwin target.
Date: Thu, 06 Dec 2001 00:37:00 -0000	[thread overview]
Message-ID: <4.2.0.58.20011206092315.016150f0@ics.u-strasbg.fr> (raw)
In-Reply-To: <20011128193011.GA6502@redhat.com>

At 20:30 28/11/2001 , Christopher Faylor a écrit:
>On Wed, Nov 28, 2001 at 08:13:12PM +0200, Eli Zaretskii wrote:
> >> Date: Wed, 28 Nov 2001 18:44:44 +0100
> >> From: Pierre Muller <muller@cerbere.u-strasbg.fr>
> >> 
> >> But te are some annoying things,
> >> the most annoying is that an exception seems to be generated
> >> on read access of the watched area even if you only set a normal
> >> watchpoint (which should use a write-only debug feature).
> >
> >So you are saying that watch, rwatch, and awatch all yield the same
> >behavior?
> >
> >Are you sure that you pass the watchpoint information correctly to
> >the OS?  For example, is the format of DR7 as the OS wants it
> >identical to what GDB uses?  The layout of bits in dr_control_mirror
> >follows Intel documentation, but the OS might want those bits in a
> >different format (that's what the corresponding DPMI call does, for
> >example).  I don't have Windows docs, so I cannot check this.
> >
> >> > /* Get the value of the DR6 debug status register from the inferior.
> >> >    Here we just return the value stored in D_REGS, as we've got it
> >> >    from the last go32_wait call.  */
> >
> >I believe you didn't really mean ``go32_wait'' here ;-)
>
>I'd like some clarification on this before I can accept the patch.  It
>seems like the described behavior would be annoying indeed.  It would
>be nice to fix this.

  I now think that the thread following this patch clearly shows that
there is no cygwin specific bug related to the handling of 
i386 hardware registers in win32-nat.c.

   There are twhree problems related to watchpoints, but none is cygwin specific.

One is related to the absence of removal of the watchpoints at program
exit or kill, which explains the failures observed for the go32 target.
This bug is almost completely hidden in my patch because of the 
DLL loading that does clean the values of the previous run and 
set the watchpoint begin value correctly.

  The second bug arises on the linux target because of both 
the absence of watchpoint removal at exit and lack of calling i386_cleanup_dregs
which results in the fact that the debug registers are not set correctly
to inferior on the second run with the same watchpoints.
That second bug is also not visible on cygwin target as 
that target does call i386_cleanup_dregs.

  The last problem is the unwanted gdb output, but here again,
this is NOT a cygwin specific bug, as it is also present for linux target.
   Each time a DLL (cygwin target) or a shared lib (linux target) is 
loaded, all breakpoints are re-setted, and the mention function does
generate an output even if the output have been disabled by gdb_stdout and gdb_stderr.
This is probably an UI_OUT specific problem, but as its again not cygwin specific
I don't think that there is any reason to delay approval.




Pierre Muller
Institut Charles Sadron
6,rue Boussingault
F 67083 STRASBOURG CEDEX (France)
mailto:muller@ics.u-strasbg.fr
Phone : (33)-3-88-41-40-07  Fax : (33)-3-88-41-40-99


  parent reply	other threads:[~2001-12-06  8:37 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-17 10:47 Pierre Muller
2001-11-28  9:44 ` Pierre Muller
2001-11-28 10:13 ` Eli Zaretskii
2001-11-17 16:07   ` Eli Zaretskii
2001-11-17 20:21   ` Christopher Faylor
2001-11-17 22:30     ` muller
2001-11-17 23:01       ` Christopher Faylor
2001-11-28 17:27         ` Christopher Faylor
2001-11-28 14:31       ` muller
2001-11-19  8:29     ` Eli Zaretskii
2001-11-21 15:15       ` Pierre Muller
2001-11-21 23:08         ` Christopher Faylor
2001-11-30  9:04           ` Christopher Faylor
2001-11-30  7:11         ` Pierre Muller
2001-11-29  0:12       ` Eli Zaretskii
2001-11-29  0:26       ` Pierre Muller
2001-11-19 11:30         ` Pierre Muller
2001-11-28 11:30     ` Christopher Faylor
2001-12-06  0:37     ` Pierre Muller [this message]
2001-12-06 13:30       ` Andrew Cagney
2001-12-07 16:59       ` Christopher Faylor
2001-12-10  2:23         ` Pierre Muller
2001-12-10 11:33           ` Christopher Faylor
2001-12-11  0:15             ` Eli Zaretskii
2001-12-11  1:04               ` Pierre Muller
2001-11-28 13:55   ` muller
2001-11-17 21:08     ` muller

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=4.2.0.58.20011206092315.016150f0@ics.u-strasbg.fr \
    --to=muller@cerbere.u-strasbg.fr \
    --cc=gdb-patches@sources.redhat.com \
    /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