From: "Pierre Muller" <pierre.muller@ics-cnrs.unistra.fr>
To: "'Joel Brobecker'" <brobecker@adacore.com>,
<Peter.Schauer@regent.e-technik.tu-muenchen.de>
Cc: <gdb@sourceware.org>,
"'Pieter Maljaars'" <pieter.maljaars@altenpts.nl>,
"'Joseph S. Myers'" <joseph@codesourcery.com>,
"'Pedro Alves'" <pedro@codesourcery.com>
Subject: RE: Question about solaris CANNOT_STEP_HW_WATCHPOINTS macro
Date: Thu, 22 Apr 2010 15:47:00 -0000 [thread overview]
Message-ID: <003101cae232$e2564ff0$a702efd0$@muller@ics-cnrs.unistra.fr> (raw)
In-Reply-To: <20100422135635.GE13204@adacore.com>
> -----Message d'origine-----
> De : gdb-owner@sourceware.org [mailto:gdb-owner@sourceware.org] De la
> part de Joel Brobecker
> Envoyé : Thursday, April 22, 2010 3:57 PM
> À : Pierre Muller
> Cc : gdb@sourceware.org; 'Pieter Maljaars'; 'Joseph S. Myers'; 'Pedro
> Alves'
> Objet : Re: Question about solaris CANNOT_STEP_HW_WATCHPOINTS macro
>
> > The macro CANNOT_STEP_HW_WATCHPOINTS
> [...]
> > If this bug has been solve before 2.9 version of Solaris,
> > would it be reasonable to just drop that code out?
>
> I think we should still support version 2.8 if we can.
I have no objections
> I'd be happy to do any testing with some of our machines running
> Solaris,
> but I need a reproducer that I can run by hand. I am still under
> strict
> orders to *NOT* run the dejagnu testsuite on our solaris machines, as
> it
> causes them to crash pretty badly :-(.
The main problem is that the comment inside
infrun.c is not that clear...
The patch was discussed in 2000:
http://sourceware.org/ml/gdb-patches/2000-q1/msg00664.html
submitted by Peter Schauer.
But I don't know if this person still is reachable.
I suspect that the problem appears if
1) you are stepping
2) you have a watchpoint on some memory location
3) you modify some other location within the same
protected page.
The kernel stops because of the page protection,
sees that the accessed address is not the one you asked to
watch, thus restarts the debuggee, forgetting that
stepping was required.
This is at least how I understood it.
The problem is that I have no access
to a machine for which we can be sure that this bug
still exists ...
With this source
struct rec
{
int x;
double y;
int z;
};
static struct rec myrec;
int
main ()
{
myrec.x = 5;
myrec.y = 3.4;
myrec.z = 56;
myrec.x = 78;
return myrec.x;
}
setting a watchpoint on myrec.x and
stepping should expose the bug if you
remove the CANNOT_STEP_HW_WATCHPOINT from nm-i386sol2.h
Pierre
next prev parent reply other threads:[~2010-04-22 15:47 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-09 20:07 Pierre Muller
2010-04-22 13:56 ` Joel Brobecker
2010-04-22 15:47 ` Pierre Muller [this message]
2010-04-22 16:51 ` Peter Schauer
2010-04-23 0:00 ` Joel Brobecker
2010-04-23 0:56 ` Pedro Alves
2010-04-23 3:36 ` Joel Brobecker
2010-04-23 7:42 Pieter Maljaars
2010-04-23 12:42 ` Pierre Muller
2010-04-23 12:59 ` Joel Brobecker
2010-04-23 13:27 ` Pedro Alves
2010-04-23 14:08 ` Joel Brobecker
2010-04-23 16:17 ` Pierre Muller
2010-04-23 14:05 Pieter Maljaars
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='003101cae232$e2564ff0$a702efd0$@muller@ics-cnrs.unistra.fr' \
--to=pierre.muller@ics-cnrs.unistra.fr \
--cc=Peter.Schauer@regent.e-technik.tu-muenchen.de \
--cc=brobecker@adacore.com \
--cc=gdb@sourceware.org \
--cc=joseph@codesourcery.com \
--cc=pedro@codesourcery.com \
--cc=pieter.maljaars@altenpts.nl \
/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