From: Andreas Arnez Date: Wed, 4 Mar 2015 09:40:40 +0000 (+0100) Subject: breakpoint-in-ro-region.exp: Support targets stopping in mid-line after "si" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c214c7cfd38006369e1da13644000ce2e180a5fa;p=binutils-gdb.git 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. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 159414ee425..f47ac967caa 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2015-03-04 Andreas Arnez + + * 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 * gdb.base/catch-syscall.exp (test_catch_syscall_multi_arch): Set diff --git a/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp b/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp index d27a0bb07c8..2c9bac055c0 100644 --- a/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp +++ b/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp @@ -191,6 +191,7 @@ delete_breakpoints proc test_single_step { always_inserted auto_hw } { global gdb_prompt global decimal + global hex global supports_hbreak global hw_step @@ -215,11 +216,11 @@ proc test_single_step { always_inserted auto_hw } { gdb_assert {!$hw_step && $auto_hw == "off"} \ "$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} \ "$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)} \ "$test (no error)" }