This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Question about solaris CANNOT_STEP_HW_WATCHPOINTS macro
- From: Pedro Alves <pedro at codesourcery dot com>
- To: pieter dot maljaars at altenpts dot nl
- Cc: "Joel Brobecker" <brobecker at adacore dot com>, "Pierre Muller" <pierre dot muller at ics-cnrs dot unistra dot fr>, Peter dot Schauer at regent dot e-technik dot tu-muenchen dot de, gdb at sourceware dot org, "'Joseph S. Myers'" <joseph at codesourcery dot com>
- Date: Fri, 23 Apr 2010 14:27:19 +0100
- Subject: Re: Question about solaris CANNOT_STEP_HW_WATCHPOINTS macro
- References: <20100423074150.24ae59af@mail.altenpts.nl>
On Friday 23 April 2010 08:41:50, Pieter Maljaars wrote:
> I have tested this with Solaris 2.10 and GDB-7.1. I have removed
> the CANNOT_STEP_HW_WATCHPOINT define. Here this bug does not occur.
>
> (gdb) start
> Temporary breakpoint 1 at 0x8050681: file watchp.c, line 13.
> Starting program: [...]/watchp
>
> Temporary breakpoint 1, main () at watchp.c:13
> 13 myrec.x = 5;
> (gdb) print myrec.x
> $1 = 0
> (gdb) watch myrec.x
> Hardware watchpoint 2: myrec.x
> (gdb) s
> Hardware watchpoint 2: myrec.x
>
> Old value = 0
> New value = 5
> main () at watchp.c:14
> 14 myrec.y = 3.4;
>
>
> Here it works as expected. GDB stops also at the other watchpoint.
> So with "step" and "continue" both watchpoints are triggered, like
> it behaves on x86-linux.
(I assume this was x86 or x86-64 solaris, not sparc.) If you
_don't_ remove the CANNOT_STEP_HW_WATCHPOINT, then I suppose
you'll see watchpoints being missed when you step (since
the workaround works by removing watchpoints
when single-stepping) on Solaris 10 as well.
--
Pedro Alves