2000-05-12 Michael Snyder <msnyder@.cygnus.com>
authorMichael Snyder <msnyder@vmware.com>
Wed, 17 May 2000 17:10:19 +0000 (17:10 +0000)
committerMichael Snyder <msnyder@vmware.com>
Wed, 17 May 2000 17:10:19 +0000 (17:10 +0000)
        * gdb.base/break.exp (bp on small function, optimized file):
        Add a second pass pattern.  The behavior differs here between stabs
        and dwarf for one-line functions.  Stabs preserves two line symbols
        (one before the prologue and one after) with the same line number,
        but dwarf regards these as duplicates and discards one of them.
        Therefore the address after the prologue (where the breakpoint is)
        has no exactly matching line symbol, and GDB reports the breakpoint
        as if it were in the middle of a line rather than at the beginning.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/break.exp

index d2248a1ab05c8fa1946dda6832a1174230fcde85..0f7d436aaa80d6d79d24274a21be3cc2ec6c1121 100644 (file)
@@ -5,6 +5,17 @@
        Instead, it is permissible for gdb to stop on the line of the
        call itself.
 
+2000-05-12  Michael Snyder  <msnyder@.cygnus.com>
+
+       * gdb.base/break.exp (bp on small function, optimized file):
+       Add a second pass pattern.  The behavior differs here between stabs
+       and dwarf for one-line functions.  Stabs preserves two line symbols
+       (one before the prologue and one after) with the same line number,
+       but dwarf regards these as duplicates and discards one of them.
+       Therefore the address after the prologue (where the breakpoint is)
+       has no exactly matching line symbol, and GDB reports the breakpoint
+       as if it were in the middle of a line rather than at the beginning.
+
 2000-05-08  Michael Snyder  <msnyder@seadog.cygnus.com>
 
        * gdb.base/interrupt.exp: Make "pass" message say "send" 
index aaad20a737034258154cbbdee0feda50e8005ea5..aa9fba5571612f2f2240d5200150eec0ffcc5419 100644 (file)
@@ -872,8 +872,31 @@ if ![target_info exists use_gdb_stub] {
 #
 # run until the breakpoint at a small function
 #
-gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, marker4 \\(d=177601976\\) at .*$srcfile:51.*51\[\t \]+void.*marker4.*" \
-                       "run until breakpoint set at small function, optimized file"
+
+#
+# Add a second pass pattern.  The behavior differs here between stabs
+# and dwarf for one-line functions.  Stabs preserves two line symbols
+# (one before the prologue and one after) with the same line number, 
+# but dwarf regards these as duplicates and discards one of them.
+# Therefore the address after the prologue (where the breakpoint is)
+# has no exactly matching line symbol, and GDB reports the breakpoint
+# as if it were in the middle of a line rather than at the beginning.
+
+send_gdb "continue\n"
+gdb_expect {
+    -re "Breakpoint $decimal, marker4 \\(d=177601976\\) at .*$srcfile:51\[\r\n\]+51\[\t \]+void marker4.*" {
+       pass "run until breakpoint set at small function, optimized file"
+    }
+    -re "Breakpoint $decimal, $hex in marker4 \\(d=177601976\\) at .*$srcfile:51\[\r\n\]+51\[\t \]+void marker4.*" {
+       pass "run until breakpoint set at small function, optimized file"
+    }
+    -re ".*$gdb_prompt " {
+       fail "run until breakpoint set at small function, optimized file"
+    }
+    timeout {
+       fail "run until breakpoint set at small function, optimized file (timeout)"
+    }
+}
 
 
 # Reset the default arguments for VxWorks