| Index: gdb/testsuite/gdb.arch/s390-tdbregs.exp
|
| diff --git a/gdb/testsuite/gdb.arch/s390-tdbregs.exp b/gdb/testsuite/gdb.arch/s390-tdbregs.exp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..31d1f3b8a64411e363dc80188d0ca126e5555b11
|
| --- /dev/null
|
| +++ b/gdb/testsuite/gdb.arch/s390-tdbregs.exp
|
| @@ -0,0 +1,75 @@
|
| +# Copyright 2004-2013 Free Software Foundation, Inc.
|
| +
|
| +# This program is free software; you can redistribute it and/or modify
|
| +# it under the terms of the GNU General Public License as published by
|
| +# the Free Software Foundation; either version 3 of the License, or
|
| +# (at your option) any later version.
|
| +#
|
| +# This program is distributed in the hope that it will be useful,
|
| +# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
| +# GNU General Public License for more details.
|
| +#
|
| +# You should have received a copy of the GNU General Public License
|
| +# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
| +
|
| +# Please email any bugs, comments, and/or additions to this file to:
|
| +# bug-gdb@gnu.org
|
| +
|
| +# This file is part of the gdb testsuite.
|
| +
|
| +
|
| +if { ![istarget s390-*-*] && ![istarget s390x-*-* ] } {
|
| + verbose "Skipping s390 TDB register tests."
|
| + return
|
| +}
|
| +
|
| +set testfile "s390-tdbregs"
|
| +set srcfile ${testfile}.c
|
| +set binfile ${objdir}/${subdir}/${testfile}
|
| +
|
| +if { [get_compiler_info] } {
|
| + return -1
|
| +}
|
| +
|
| +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
|
| + executable [list debug]] != "" } {
|
| + fail "compile failed"
|
| + return
|
| +}
|
| +
|
| +gdb_exit
|
| +gdb_start
|
| +gdb_reinitialize_dir $srcdir/$subdir
|
| +gdb_load ${binfile}
|
| +
|
| +if { ![runto_main] } then {
|
| + gdb_suppress_tests
|
| +}
|
| +
|
| +gdb_test_multiple "next" "check for TE support" {
|
| + -re "Program received signal SIGILL,.*\r\n$gdb_prompt $" {
|
| + unsupported "No TE support."
|
| + return
|
| + }
|
| + -re "\[0-9\]+.*\r\n$gdb_prompt $" {
|
| + pass "TE support available"
|
| + }
|
| + -re "$gdb_prompt $" {
|
| + unsupported "No TE support (unknown error)."
|
| + return
|
| + }
|
| +}
|
| +
|
| +set crashline [gdb_get_line_number "FAULT"]
|
| +
|
| +gdb_test "print \$tdb0" "\\\$\[0-9\]+ = <unavailable>" "tdb0 unavailable"
|
| +gdb_test "print \$tr0" "\\\$\[0-9\]+ = <unavailable>" "tr0 unavailable"
|
| +gdb_test "next" \
|
| + "Program received signal SIGSEGV, .*" \
|
| + "crash in transaction"
|
| +gdb_test "print/x \$tdb0" "\\\$\[0-9\]+ = 0x1.*" "tdb0 available"
|
| +gdb_test "set print symbol-filename" "" "set print symbol-filename"
|
| +gdb_test "print/a \$atia" \
|
| + "<crash_in_transaction.*:$crashline>" \
|
| + "ATIA points to crash"
|
|
|