From e3465b24a22bd1f783313e680aa76bac83c8aaf5 Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Mon, 1 Aug 2016 09:18:02 +0100 Subject: [PATCH] Tweak gdb.cp tests for aarch32 There are some gdb.cp/ tests fails if the program is compiled for arm 32-bit but GDB/GDBserver is aarch64 64-bit program, because target triplet doesn't match "arm*-*-*". Instead, we can use is_aarch32_target. gdb/testsuite: 2016-08-01 Yao Qi * gdb.cp/anon-struct.exp: Check is_aarch32_target. * gdb.cp/cpexprs.exp: Likewise. * gdb.cp/m-static.exp: Likewise. --- gdb/testsuite/ChangeLog | 6 ++++++ gdb/testsuite/gdb.cp/anon-struct.exp | 4 ++-- gdb/testsuite/gdb.cp/cpexprs.exp | 4 ++-- gdb/testsuite/gdb.cp/m-static.exp | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 1ba1d91a9fc..e9e8eff3b36 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2016-08-01 Yao Qi + + * gdb.cp/anon-struct.exp: Check is_aarch32_target. + * gdb.cp/cpexprs.exp: Likewise. + * gdb.cp/m-static.exp: Likewise. + 2016-07-26 Tom Tromey PR python/20190: diff --git a/gdb/testsuite/gdb.cp/anon-struct.exp b/gdb/testsuite/gdb.cp/anon-struct.exp index 4c4d8b13b98..624d5606653 100644 --- a/gdb/testsuite/gdb.cp/anon-struct.exp +++ b/gdb/testsuite/gdb.cp/anon-struct.exp @@ -20,7 +20,7 @@ if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } return -1 } -if { [istarget arm*-*-*] } { +if { [is_aarch32_target] } { gdb_test "ptype t::t" "type = struct t {\r\n C m;\r\n} \\*\\(t \\* const\\)" \ "print type of t::t" } else { @@ -31,7 +31,7 @@ if { [istarget arm*-*-*] } { gdb_test "ptype X::t2" "type = struct X::t2 {\[\r\n \]*X::C2 m;\[\r\n \]*}" \ "print type of X::t2" -if { [istarget arm*-*-*] } { +if { [is_aarch32_target] } { gdb_test "ptype X::t2::t2" "type = struct X::t2 {\r\n X::C2 m;\r\n} \\*\\(X::t2 \\* const\\)" \ "print type of X::t2::t2" gdb_test "ptype t3::~t3" "type = void \\*\\(t3 \\* const\\)" \ diff --git a/gdb/testsuite/gdb.cp/cpexprs.exp b/gdb/testsuite/gdb.cp/cpexprs.exp index baf0801ba56..1acd8753e09 100644 --- a/gdb/testsuite/gdb.cp/cpexprs.exp +++ b/gdb/testsuite/gdb.cp/cpexprs.exp @@ -144,7 +144,7 @@ add {base2::a_function} \ # On targets using the ARM EABI, the constructor is expected to return # "this". proc ctor_ret { type } { - if { [istarget arm*-*eabi*] } { + if { [istarget arm*-*eabi*] || [is_aarch32_target] } { return "$type *" } else { return "void " @@ -195,7 +195,7 @@ add {base::base(int)} \ # GCC returns void * instead of $type *; RealView appears to do # the same. proc dtor { type } { - if { [istarget arm*-*eabi*] } { + if { [istarget arm*-*eabi*] || [is_aarch32_target] } { set ret "void *" } else { set ret "void " diff --git a/gdb/testsuite/gdb.cp/m-static.exp b/gdb/testsuite/gdb.cp/m-static.exp index 8972aeb3723..9c73c69a16c 100644 --- a/gdb/testsuite/gdb.cp/m-static.exp +++ b/gdb/testsuite/gdb.cp/m-static.exp @@ -69,7 +69,7 @@ gdb_test "print test1.key2" "\\$\[0-9\]* = 77" "simple object, static long" # simple object, static enum gdb_test "print test1.value" "\\$\[0-9\]* = oriental" "simple object, static enum" -if { [istarget arm*-*-*] } { +if { [is_aarch32_target] } { gdb_test "print test5.single_constructor" \ { = {single_constructor \*\(single_constructor \* const\)} 0x[0-9a-f]+ } \ "simple object instance, print constructor" -- 2.30.2