From: Tom de Vries Date: Sun, 13 Dec 2020 16:22:40 +0000 (+0100) Subject: [gdb/testsuite] Fix gdb.base/endianity.exp with gcc-4.8 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=862fcbd8f02b03cbf37b452e35bff8361d7a0208;p=binutils-gdb.git [gdb/testsuite] Fix gdb.base/endianity.exp with gcc-4.8 When running test-case gdb.base/endianity.exp using gcc-4.8, we get: ... (gdb) x/x &o.v^M 0x7fffffffd120: 0x00000004^M (gdb) XFAIL: gdb.base/endianity.exp: x/x &o.v x/xh &o.w^M 0x7fffffffd124: 0x0003^M (gdb) FAIL: gdb.base/endianity.exp: x/xh &o.w ... The gcc 4.8 compiler does not support the scalar_storage_order attribute, so the testcase is compiled without that attribute, and the expected results are different. Fix this by rather than xfailing, skipping the tests if the compiler does not support the scalar_storage_order attribute. Tested on x86_64-linux, with gcc-4.8, gcc-7, and clang-10. gdb/testsuite/ChangeLog: 2020-12-13 Tom de Vries PR testsuite/26953 * gdb.base/endianity.exp: Skip tests requiring scalar_storage_order attribute support if compiler doesn't support it. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index ca723929534..c33f0b29251 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2020-12-13 Tom de Vries + + PR testsuite/26953 + * gdb.base/endianity.exp: Skip tests requiring scalar_storage_order + attribute support if compiler doesn't support it. + 2020-12-13 Tom de Vries * lib/gdb.exp (gdb_compile_shlib): Handle ada. diff --git a/gdb/testsuite/gdb.base/endianity.exp b/gdb/testsuite/gdb.base/endianity.exp index 2fa9ed3bf16..4520799d04e 100644 --- a/gdb/testsuite/gdb.base/endianity.exp +++ b/gdb/testsuite/gdb.base/endianity.exp @@ -34,12 +34,15 @@ gdb_test "print o.x = 2" "= 2" gdb_test "print o.f = 1.5" "= 1.5" gdb_test "print o.d = -23.125" "= -23.125" -# scalar_storage_order requires gcc >= 6 +gdb_test "print o" "= {v = 4, w = 3, x = 2, f = 1.5, cplx = 1.25 \\+ 7.25i, d = -23.125}" \ + "print o after assignment" + if { ([test_compiler_info {gcc-[0-5]-*}] || ![test_compiler_info gcc*]) } { - setup_xfail "*-*-*" + # The rest of the testcase requires Scalar Storage Order support. + # This compiler does not support it, so skip the rest. + return -1 } + gdb_test "x/x &o.v" "0x04000000" gdb_test "x/xh &o.w" "0x0300" -gdb_test "print o" "= {v = 4, w = 3, x = 2, f = 1.5, cplx = 1.25 \\+ 7.25i, d = -23.125}" \ - "print o after assignment"