[gdb/testsuite] Fix gdb.arch/altivec-regs.exp with gcc 4.8.5
authorTom de Vries <tdevries@suse.de>
Mon, 28 Nov 2022 12:57:17 +0000 (13:57 +0100)
committerTom de Vries <tdevries@suse.de>
Mon, 28 Nov 2022 12:57:17 +0000 (13:57 +0100)
commit85819864f7cbf813cde00cf3bed30a38414e1bd8
tree2a0299083b933addf6d099726b8c1cf16dece7d0
parent2650ea9730e31fc5c9111afc1a689dbca76707f5
[gdb/testsuite] Fix gdb.arch/altivec-regs.exp with gcc 4.8.5

On powerpc64le-linux, using gcc 4.8.5, I run into:
...
(gdb) PASS: gdb.arch/altivec-regs.exp: next (1)
next^M
11        c = vec_add (a, b);^M
(gdb) PASS: gdb.arch/altivec-regs.exp: next (2)
print/x a^M
$67 = {0xfefefefe, 0xfefefefe, 0xfefefefe, 0xfefefefe}^M
(gdb) FAIL: gdb.arch/altivec-regs.exp: print vector parameter a
...

Looking at the disassembly and the debug info, it's clear why there's
a FAIL.

The debug info says that the variable can be found at some stack location, but
the instructions don't seem to be writing there.

We can work around this by marking variable a volatile.  Likewise for b.

Note that marking the variables as volatile doesn't change the location
information.

Tested on power64le-linux.
gdb/testsuite/gdb.arch/altivec-regs.c