This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Bug with watchpoints on Linux

At 13:12 21/11/2001 , Pierre Muller a écrit:
>At 13:01 21/11/2001 , vous avez écrit:
>>   There seems to be a big problem with
>>hardware watchpoints under Linux.
>>   If I compile a simple program :
>>/* START of twatch.c */
>>static int x,y;
>>main ()
>>   x = 5;
>>   y = x * 2;
>>   x = y / 2;
>>   x = 7;
>>   return 0;
>>/* END of twatch.c */
>>and set a hardware watchpoint on variable 'x',
>>the debugger correctly stops at each program location where this global 
>>var is changed.
>>   But at the second run, the program is never stopped because
>>of the changes to this global variable.
>>   It seems like there is a problem with the hardware watchpoint
>>   I tested this on only one Linux machine,
>>but both the main and the 5.1 branches show this problem.
>>   The current main CVS tree with a patch (not yet submitted)
>>to add hardware watchpoints on cygwin target does not
>>have this problem (It works but there are still some problems).
>Whoops, I was too fast once again...
>I do see the same problem in my cygwin implementation ...

   I now see :
   only the go32-nat.c code does call
   i386_clean_dregs function.
I didn't have it in my cygwin patch,
and it also does not appear in
any other gdb dir source.

    This is probably the cause of the problem,
it does indeed solve the bug for cygwin if I add this call to
child_mourn_inferior as go32-nat code does.

   Probably the same will fix the bug for linux too, but I can't try this 
out now...

Pierre Muller
Institut Charles Sadron
6,rue Boussingault
Phone : (33)-3-88-41-40-07  Fax : (33)-3-88-41-40-99

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]