aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.arch
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2016-09-02 09:22:13 +0100
committerYao Qi <yao.qi@linaro.org>2016-09-02 09:22:13 +0100
commit27aba0477a4818fd760accd5b29a210d0ade2f42 (patch)
tree0e54f603d93389dcbdfe06d99480c973d5e40d43 /gdb/testsuite/gdb.arch
parentdb0a1c2b666b9612d77ee40b25875b286801f22d (diff)
downloadgdb-27aba0477a4818fd760accd5b29a210d0ade2f42.zip
gdb-27aba0477a4818fd760accd5b29a210d0ade2f42.tar.gz
gdb-27aba0477a4818fd760accd5b29a210d0ade2f42.tar.bz2
Detect broken ptrace in gdb_skip_float_test
We recently found a ARM kernel ptrace bug http://lists.infradead.org/pipermail/linux-arm-kernel/2016-May/431962.html Details can be found in the comment in gdb_skip_float_test. We can skip floating point tests if the kernel bug is detected. This patch adds more code in gdb_skip_float_test to detect the broken ptrace on arm-linux. Such detection should be done at the beginning of the test, because it starts a fresh GDB, so change the test cases to invoke gdb_skip_float_test at the beginning of test, and use its return value afterwards. Since gdb_skip_float_test becomes a gdb_caching_proc, so it can't have an argument, this patch also removes argument "msg", which isn't useful. gdb/testsuite: 2016-09-02 Yao Qi <yao.qi@linaro.org> * gdb.arch/arm-neon.exp: Skip it if gdb_skip_float_test returns true. * gdb.base/call-ar-st.exp: Invoke gdb_skip_float_test. * gdb.base/call-rt-st.exp: Likewise. * gdb.base/call-sc.exp: Invoke gdb_skip_float_test and use its return value instead of gdb,skip_float_test. * gdb.base/callfuncs.exp: Invoke gdb_skip_float_test. (do_function_calls): Use its return value instead of gdb,skip_float_test. * gdb.base/finish.exp: Likewise. * gdb.base/funcargs.exp: Likewise. * gdb.base/return.exp: Likewise. * gdb.base/return2.exp: Likewise. * gdb.base/varargs.exp: Likewise. * lib/gdb.exp (gdb_skip_float_test): Change it to gdb_caching_proc. Detect the broken ptrace on arm-linux.
Diffstat (limited to 'gdb/testsuite/gdb.arch')
-rw-r--r--gdb/testsuite/gdb.arch/arm-neon.exp5
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.arch/arm-neon.exp b/gdb/testsuite/gdb.arch/arm-neon.exp
index 053170f..e4612f9 100644
--- a/gdb/testsuite/gdb.arch/arm-neon.exp
+++ b/gdb/testsuite/gdb.arch/arm-neon.exp
@@ -20,6 +20,11 @@ if {![istarget "aarch64*-*-*"] && ![istarget "arm*-*-*"]} {
return
}
+if { [gdb_skip_float_test] } {
+ verbose "Skipping ${gdb_test_file_name}."
+ return
+}
+
standard_testfile
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug quiet}] } {
unsupported "ARM NEON is not supported"