breakpoint-in-ro-region.exp: Support targets stopping in mid-line after "si"

On some targets each of the assignments "i = 0" in the C source for
"breakpoint-in-ro-region.exp" are compiled to a single instruction.
Then each "si" stops at the beginning of the next source line.  But on
some other targets (like s390) such an assignment compiles to multiple
instructions.  Then "si" may stop in mid-line, and GDB displays the PC
address in addition to the source line number.  This was not considered
by the regexp for this case.

gdb/testsuite/ChangeLog:

	* gdb.base/breakpoint-in-ro-region.exp (test_single_step): In the
	regexps for GDB's current line display, accept a hex address
	preceding the line number.
This commit is contained in:
Andreas Arnez 2015-03-04 10:40:40 +01:00 committed by Andreas Krebbel
parent 6d74a497ba
commit c214c7cfd3
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
* gdb.base/breakpoint-in-ro-region.exp (test_single_step): In the
regexps for GDB's current line display, accept a hex address
preceding the line number.
2015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com> 2015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
* gdb.base/catch-syscall.exp (test_catch_syscall_multi_arch): Set * gdb.base/catch-syscall.exp (test_catch_syscall_multi_arch): Set

View File

@ -191,6 +191,7 @@ delete_breakpoints
proc test_single_step { always_inserted auto_hw } { proc test_single_step { always_inserted auto_hw } {
global gdb_prompt global gdb_prompt
global decimal global decimal
global hex
global supports_hbreak global supports_hbreak
global hw_step global hw_step
@ -215,11 +216,11 @@ proc test_single_step { always_inserted auto_hw } {
gdb_assert {!$hw_step && $auto_hw == "off"} \ gdb_assert {!$hw_step && $auto_hw == "off"} \
"$test (cannot insert sw break)" "$test (cannot insert sw break)"
} }
-re "^si\r\nNote: automatically using hardware breakpoints for read-only addresses\.\r\n${decimal}\[ \t\]+i = 0;\r\n$gdb_prompt $" { -re "^si\r\nNote: automatically using hardware breakpoints for read-only addresses\.\r\n\(\?\:${hex}\[ \t\]\)\?${decimal}\[ \t\]+i = 0;\r\n$gdb_prompt $" {
gdb_assert {!$hw_step && $auto_hw == "on" && $supports_hbreak} \ gdb_assert {!$hw_step && $auto_hw == "on" && $supports_hbreak} \
"$test (auto-hw)" "$test (auto-hw)"
} }
-re "^si\r\n${decimal}\[ \t\]+i = 0;\r\n$gdb_prompt $" { -re "^si\r\n\(\?\:${hex}\[ \t\]\)\?${decimal}\[ \t\]+i = 0;\r\n$gdb_prompt $" {
gdb_assert {$hw_step || ($auto_hw == "on" && $supports_hbreak)} \ gdb_assert {$hw_step || ($auto_hw == "on" && $supports_hbreak)} \
"$test (no error)" "$test (no error)"
} }