Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pierre Muller <muller@cerbere.u-strasbg.fr>
To: Eli Zaretskii <eliz@is.elta.co.il>
Cc: gdb-patches@sources.redhat.com, djbarrow@de.ibm.com
Subject: Re: [RFA/RFC 2] Remove hardware break and watchpoints at program exit.
Date: Fri, 11 Jan 2002 04:57:00 -0000	[thread overview]
Message-ID: <4.2.0.58.20020111135305.0135ea48@ics.u-strasbg.fr> (raw)
In-Reply-To: <2561-Fri11Jan2002143543+0200-eliz@is.elta.co.il>

At 13:35 11/01/2002 , Eli Zaretskii a écrit:
> > Date: Fri, 11 Jan 2002 13:00:44 +0100
> > From: Pierre Muller <muller@cerbere.u-strasbg.fr>
> > 
> >    In breakpoint_init_inferior
> > I added code that conditionally removes hardware watch and breakpoint 
> > if the context is inf_exited, i.e. at exit of the debugged program.
>
>Thanks.  I like this approach much better, especially because I never
>understood why does GDB do certain cleanups when the debuggee exits,
>but doesn't do other, similar cleanups.
>
> > I still kept the call to a generic hardware removal function
> > and testing the i386 case, I could see that even though the dr_mirror
> > array is zeored out, the dr_control_mirror and
> > dr_status_mirror still aren't set to zero.
> > For dr_control_register, this is due to an error in the I386_DR_DISABLE
> > because that macro only resets the active bit, but not the size and type bits 
> > associated to that debug register.
>
>Why is this a problem?  Once the active bit is off, the corresponding
>debug register is inactive, and its value is not important.

I agree that it isn't important,
it was just for cleanness...

> >          * breakpoint.c (REMOVE_HARDWARE_BREAKPOINT_AT_EXIT): 
> >          Define to 0 if not defined.
> >          (REMOVE_HARDWARE_WATCHPOINT_AT_EXIT): 
> >          Define to 0 if not defined.
>
>Why do we need these macros at all?  Why not remove the breakpoints
>and watchpoints unconditionally?  Does anyone see any problem?

Because some target might need to access the 
inferior registers to remove the watchpoint, and this
isn't possible if the program has really already completed.

> > --- go32-nat.c        2001/12/06 08:15:37     1.26
> > +++ go32-nat.c        2002/01/11 11:34:08
> > @@ -670,7 +670,7 @@ go32_mourn_inferior (void)
> >       be nice if GDB itself would take care to remove all breakpoints
> >       at all times, but it doesn't, probably under an assumption that
> >       the OS cleans up when the debuggee exits.  */
> > -  i386_cleanup_dregs ();
> > +  // i386_cleanup_dregs ();
>
>Please don't make such changes.  If you want to remove some code, just
>remove it, don't comment it away: it looks ad-hoc and not clean.

I did that more or less to make you react,
but I can't just remove the line as the comment before 
concerns the call to i386_cleanup_dregs()

Should I remove the comment also?



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


  reply	other threads:[~2002-01-11 12:57 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-11  4:01 Pierre Muller
2002-01-11  4:38 ` Eli Zaretskii
2002-01-11  4:57   ` Pierre Muller [this message]
2002-01-11  5:58     ` Eli Zaretskii
2002-01-11  5:39   ` Pierre Muller
2002-01-11  6:06     ` Eli Zaretskii
2002-01-11  8:15       ` Pierre Muller
2002-01-11  9:20       ` [RFA/RFC 3] " Pierre Muller
2002-01-12  5:20         ` Mark Kettenis
2002-01-12 13:16           ` muller
2002-01-13  0:31           ` Eli Zaretskii

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.20020111135305.0135ea48@ics.u-strasbg.fr \
    --to=muller@cerbere.u-strasbg.fr \
    --cc=djbarrow@de.ibm.com \
    --cc=eliz@is.elta.co.il \
    --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