When I disable a hardware watchpoint, my SMP machine will lockup hard when I start another gdb session.
Could you give an example? (and please try the new gdb version (5.0rh-9 or higher) at http://people.redhat.com/teg/gdb/ )
The new gdb does the same. # cat gdb.c int x = 0; foo () { x = 1; } bar () { x = 2; } main () { foo (); bar (); } # gcc -g gdb.c # gdb a.out (gdb) watch x (gdb) r Starting program: /home/hjl/tmp/a.out Hardware watchpoint 1: x Hardware watchpoint 1: x Hardware watchpoint 1: x Old value = 0 New value = 1 foo () at gdb.c:6 6 } (gdb) c Continuing. Hardware watchpoint 1: x Old value = 1 New value = 2 bar () at gdb.c:11 11 }(gdb) c Continuing. Program exited with code 01. (gdb) dis 1 (gdb) r Starting program: /home/hjl/tmp/a.out My SMP machine locks up at this point. It works fine on UP machine. It may be a kernel bug. Can you try that on your SMP machine?
Doesn't happen on my machine... I'll try another later.
I've tried it on another SMP machine, this time with our standard kernel: It doesn't crash there either...