Index: gdb.threads/schedlock.c =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/schedlock.c,v retrieving revision 1.5 diff -u -p -r1.5 schedlock.c --- gdb.threads/schedlock.c 27 Aug 2004 11:13:28 -0000 1.5 +++ gdb.threads/schedlock.c 28 Sep 2004 21:37:43 -0000 @@ -36,7 +36,7 @@ int main() { for (i = 0; i < NUM; i++) { - args[i] = 1; + args[i] = 1; /* Init value. */ res = pthread_create(&threads[i], NULL, thread_function, @@ -58,7 +58,7 @@ void *thread_function(void *arg) { while (*myp > 0) { /* schedlock.exp: main loop. */ - (*myp) ++; + (*myp) ++; /* Loop increment. */ } pthread_exit(NULL); Index: gdb.threads/schedlock.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/schedlock.exp,v retrieving revision 1.4 diff -u -p -r1.4 schedlock.exp --- gdb.threads/schedlock.exp 8 May 2003 19:23:29 -0000 1.4 +++ gdb.threads/schedlock.exp 28 Sep 2004 21:37:43 -0000 @@ -125,7 +125,7 @@ proc step_ten_loops { msg } { send_gdb "step\n" set other_step 0 gdb_expect { - -re ".*myp\\) \\+\\+;\[\r\n\]+$gdb_prompt $" { + -re ".*myp\\) \\+\\+;.*Loop increment.*\[\r\n\]+$gdb_prompt $" { pass "step to increment ($msg $i)" } -re "$gdb_prompt $" { Index: gdb.threads/watchthreads.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/watchthreads.exp,v retrieving revision 1.1 diff -u -p -r1.1 watchthreads.exp --- gdb.threads/watchthreads.exp 27 Jul 2004 23:40:49 -0000 1.1 +++ gdb.threads/watchthreads.exp 28 Sep 2004 21:37:43 -0000 @@ -60,17 +60,20 @@ set args_1 0 gdb_test "watch args\[0\]" "Hardware watchpoint 2: args\\\[0\\\]" gdb_test "watch args\[1\]" "Hardware watchpoint 3: args\\\[1\\\]" +set init_line [expr [gdb_get_line_number "Init value"]+1] +set inc_line [gdb_get_line_number "Loop increment"] + # Loop and continue to allow both watchpoints to be triggered. for {set i 0} {$i < 30} {incr i} { set test_flag 0 gdb_test_multiple "continue" "threaded watch loop" { - -re "Hardware watchpoint 2: args\\\[0\\\].*Old value = 0.*New value = 1.*main \\\(\\\) at .*schedlock.c:21.*$gdb_prompt $" + -re "Hardware watchpoint 2: args\\\[0\\\].*Old value = 0.*New value = 1.*main \\\(\\\) at .*schedlock.c:$init_line.*$gdb_prompt $" { set args_0 1; set test_flag 1 } - -re "Hardware watchpoint 3: args\\\[1\\\].*Old value = 0.*New value = 1.*main \\\(\\\) at .*schedlock.c:21.*$gdb_prompt $" + -re "Hardware watchpoint 3: args\\\[1\\\].*Old value = 0.*New value = 1.*main \\\(\\\) at .*schedlock.c:$init_line.*$gdb_prompt $" { set args_1 1; set test_flag 1 } - -re "Hardware watchpoint 2: args\\\[0\\\].*Old value = $args_0.*New value = [expr $args_0+1].*in thread_function \\\(arg=0x0\\\) at .*schedlock.c:42.*$gdb_prompt $" + -re "Hardware watchpoint 2: args\\\[0\\\].*Old value = $args_0.*New value = [expr $args_0+1].*in thread_function \\\(arg=0x0\\\) at .*schedlock.c:$inc_line.*$gdb_prompt $" { set args_0 [expr $args_0+1]; set test_flag 1 } - -re "Hardware watchpoint 3: args\\\[1\\\].*Old value = $args_1.*New value = [expr $args_1+1].*in thread_function \\\(arg=0x1\\\) at .*schedlock.c:42.*$gdb_prompt $" + -re "Hardware watchpoint 3: args\\\[1\\\].*Old value = $args_1.*New value = [expr $args_1+1].*in thread_function \\\(arg=0x1\\\) at .*schedlock.c:$inc_line.*$gdb_prompt $" { set args_1 [expr $args_1+1]; set test_flag 1 } } # If we fail above, don't bother continuing loop