mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-24 12:35:55 +08:00
* gdb.base/value-double-free.exp: Respect gdb,no_hardware_watchpoints.
* gdb.base/watchpoint-solib.exp: Likewise. Update tests to handle software watchpoints. * gdb.base/watch_thread_num.exp: Likewise.
This commit is contained in:
parent
37c585d46d
commit
2992cbe020
@ -1,3 +1,10 @@
|
||||
2008-09-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
|
||||
|
||||
* gdb.base/value-double-free.exp: Respect gdb,no_hardware_watchpoints.
|
||||
* gdb.base/watchpoint-solib.exp: Likewise. Update tests to handle
|
||||
software watchpoints.
|
||||
* gdb.base/watch_thread_num.exp: Likewise.
|
||||
|
||||
2008-09-03 Aleksandar Ristovski <aristovski@qnx.com>
|
||||
|
||||
* gdb.arch/i386-bp_permanent.exp: New test.
|
||||
|
@ -31,6 +31,12 @@ gdb_load ${binfile}
|
||||
if ![runto_main] {
|
||||
return -1
|
||||
}
|
||||
|
||||
# Disable hardware watchpoints if necessary.
|
||||
if [target_info exists gdb,no_hardware_watchpoints] {
|
||||
gdb_test "set can-use-hw-watchpoints 0" "" ""
|
||||
}
|
||||
|
||||
gdb_test "watch var" "atchpoint \[0-9\]+: var"
|
||||
gdb_test "continue" "atchpoint \[0-9\]+: var.*Old value = 0.*New value = \[12\].*"
|
||||
gdb_test "print empty()" " = void"
|
||||
|
@ -47,6 +47,11 @@ if { ![runto main] } then {
|
||||
return
|
||||
}
|
||||
|
||||
# Disable hardware watchpoints if necessary.
|
||||
if [target_info exists gdb,no_hardware_watchpoints] {
|
||||
gdb_test "set can-use-hw-watchpoints 0" "" ""
|
||||
}
|
||||
|
||||
gdb_test "watch shared_var thread 0" "Unknown thread 0\." "Watchpoint on invalid thread"
|
||||
gdb_test "watch shared_var thread" "A syntax error in expression, near `thread'\." "Invalid watch syntax"
|
||||
|
||||
@ -67,19 +72,14 @@ gdb_expect {
|
||||
set thread_num "$expect_out(1,string)"
|
||||
|
||||
gdb_test "disable 2" "" "Disable breakpoint 2"
|
||||
gdb_test "watch shared_var thread $thread_num" "Hardware watchpoint 3: shared_var" "Watchpoint on shared variable"
|
||||
gdb_test "watch shared_var thread $thread_num" "atchpoint 3: shared_var" "Watchpoint on shared variable"
|
||||
gdb_test "info breakpoint 3" "stop only in thread $thread_num"
|
||||
|
||||
for {set i 1} {$i <= 10} {incr i 1} {
|
||||
set watchpoint "Watchpoint triggered iteration $i"
|
||||
set check "Check thread that triggered iteration $i"
|
||||
|
||||
if {[target_info exists gdb,no_hardware_watchpoints]} {
|
||||
unsupported $watchpoint
|
||||
unsupported $check
|
||||
} else {
|
||||
gdb_test "continue" "Hardware watchpoint 3: shared_var.*" $watchpoint
|
||||
gdb_test "thread" ".*Current thread is $thread_num .*" $check
|
||||
}
|
||||
gdb_test "continue" "atchpoint 3: shared_var.*" $watchpoint
|
||||
gdb_test "thread" ".*Current thread is $thread_num .*" $check
|
||||
}
|
||||
|
||||
|
@ -69,6 +69,11 @@ if [target_info exists gdb_stub] {
|
||||
|
||||
runto_main
|
||||
|
||||
# Disable hardware watchpoints if necessary.
|
||||
if [target_info exists gdb,no_hardware_watchpoints] {
|
||||
gdb_test "set can-use-hw-watchpoints 0" "" ""
|
||||
}
|
||||
|
||||
# Test that if we set a watchpoint on a global variable
|
||||
# in a explicitly loaded shared library, and then
|
||||
# re-run the application, gdb does not crash.
|
||||
@ -79,7 +84,7 @@ gdb_test_multiple "break foo" "set pending breakpoint" {
|
||||
}
|
||||
|
||||
gdb_test "continue" ".*Breakpoint 2.*foo.*" "continue to foo"
|
||||
gdb_test "watch g" "Hardware watchpoint 3: g" "set watchpoint on g"
|
||||
gdb_test "watch g" "atchpoint 3: g" "set watchpoint on g"
|
||||
gdb_test "continue" ".*New value = 1.*" "continue to watchpoint hit"
|
||||
rerun_to_main
|
||||
gdb_test "continue" ".*Breakpoint 2.*foo.*" "continue to foo again"
|
||||
|
Loading…
Reference in New Issue
Block a user