1 # Copyright
(C
) 2018-2024 Free Software Foundation
, Inc.
3 # This
program is free software
; you can redistribute it and
/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation
; either version
3 of the License
, or
6 #
(at your option
) any later version.
8 # This
program is distributed in the hope that it will be useful
,
9 # but WITHOUT
ANY WARRANTY
; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License
for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this
program.
If not
, see
<http
://www.gnu.org
/licenses
/>.
16 # This file is part of the gdb testsuite.
18 # This test checks that generating and loading a core file preserves
19 # the correct VSX register state.
21 require
{istarget
"powerpc*-*-linux*"} allow_vsx_tests
25 set gen_src
[standard_output_file $srcfile
]
27 gdb_produce_source $gen_src
{
33 if {[build_executable
"compile" $binfile $gen_src] == -1} {
37 clean_restart $binfile
43 # Check
if VSX register access through gdb is supported
44 proc check_vsx_access
{} {
47 set test
"vsx register access"
48 gdb_test_multiple
"info reg vs0" "$test" {
49 -re
"Invalid register.*\r\n$gdb_prompt $" {
53 -re
"\r\nvs0.*\r\n$gdb_prompt $" {
61 if { ![check_vsx_access
] } {
65 for {set i
0} {$i
< 64} {incr i
1} {
66 gdb_test_no_output
"set \$vs$i.uint128 = $i"
69 set core_filename
[standard_output_file
"$testfile.core"]
70 set core_generated
[gdb_gcore_cmd
"$core_filename" "generate core file"]
72 if { !$core_generated
} {
78 set core_loaded
[gdb_core_cmd
"$core_filename" "load core file"]
80 if { $core_loaded
!= 1 } {
84 for {set i
0} {$i
< 64} {incr i
1} {
85 gdb_test
"print \$vs$i.uint128" ".* = $i" "print vs$i"