breakpoint-in-ro-region.exp: Support targets stopping in mid-line after "si"
authorAndreas Arnez <arnez@linux.vnet.ibm.com>
Wed, 4 Mar 2015 09:40:40 +0000 (10:40 +0100)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Wed, 4 Mar 2015 09:40:40 +0000 (10:40 +0100)
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.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp

index 159414ee425d5761d4c5f5a385247d38ee3c1973..f47ac967caa8f32adbc1fb287d3aa5502727acd0 100644 (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>
 
        * gdb.base/catch-syscall.exp (test_catch_syscall_multi_arch): Set
index d27a0bb07c8d36ba7040bc26d99027d2522d90ea..2c9bac055c0ecc39d2380fde269e2e0d94f50a80 100644 (file)
@@ -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)"
        }