Fix fails in gdb.trace/unavailable.exp
authorYao Qi <yao.qi@linaro.org>
Fri, 22 Apr 2016 16:23:23 +0000 (17:23 +0100)
committerYao Qi <yao.qi@linaro.org>
Fri, 22 Apr 2016 16:23:23 +0000 (17:23 +0100)
I am seeing some test fails in gdb.trace/unavailable.exp on aarch64-linux,
like this,

print derived_whole^M
$43 = (Derived) {<Middle> = {<Base> = {x = 2}, _vptr.Middle = 0x401860 <VTT for Derived>, y = 3}, _vptr.Derived = 0x401848 <vtable for Derived+32>, z = 4}^M
(gdb) FAIL: gdb.trace/unavailable.exp: collect globals: print object on: print derived_whole

print derived_whole^M
$47 = {<Middle> = {<Base> = {x = 2}, _vptr.Middle = 0x401860 <VTT for Derived>, y = 3}, _vptr.Derived = 0x401848 <vtable for Derived+32>, z = 4}^M
(gdb) FAIL: gdb.trace/unavailable.exp: collect globals: print object off: print derived_whole

these fails are also found by recent x86_64-linux buildbot,
https://sourceware.org/ml/gdb-testers/2016-q2/msg00622.html

The fix is exactly the same as this one
http://www.sourceware.org/ml/gdb-patches/2015-10/msg00252.html (the
extra "VTT" after hex), in which we match extra things after $hex.

gdb/testsuite:

2016-04-22  Yao Qi  <yao.qi@linaro.org>

* gdb.trace/unavailable.exp (gdb_collect_globals_test_1): Match
more after $hex.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.trace/unavailable.exp

index e49220e..c7c9d58 100644 (file)
@@ -1,5 +1,10 @@
 2016-04-22  Yao Qi  <yao.qi@linaro.org>
 
+       * gdb.trace/unavailable.exp (gdb_collect_globals_test_1): Match
+       more after $hex.
+
+2016-04-22  Yao Qi  <yao.qi@linaro.org>
+
        * gdb.base/annota1.exp: Set breakpoint on line $main_line.
        * gdb.base/annota3.exp: Likewise.
 
index 343ac64..ed1b533 100644 (file)
@@ -613,7 +613,7 @@ proc gdb_collect_globals_test_1 { } {
 
        # whole object available
        gdb_test "print derived_whole" \
-           " = \\(Derived\\) {<Middle> = {<Base> = {x = 2}, _vptr.Middle = $hex, y = 3}, _vptr.Derived = $hex <vtable for Derived.*>, z = 4}"
+           " = \\(Derived\\) {<Middle> = {<Base> = {x = 2}, _vptr.Middle = ${hex}( <\[^>]*>)?, y = 3}, _vptr.Derived = $hex <vtable for Derived.*>, z = 4}"
     }
 
     gdb_test_no_output "set print object off"
@@ -631,7 +631,7 @@ proc gdb_collect_globals_test_1 { } {
 
        # whole object available
        gdb_test "print derived_whole" \
-           " = {<Middle> = {<Base> = {x = 2}, _vptr.Middle = $hex, y = 3}, _vptr.Derived = $hex <vtable for Derived.*>, z = 4}"
+           " = {<Middle> = {<Base> = {x = 2}, _vptr.Middle = ${hex}( <\[^>]*>)?, y = 3}, _vptr.Derived = $hex <vtable for Derived.*>, z = 4}"
     }
 
     # An instance of a virtual class where we collected everything but