This patch adds support for unwinding frames that use the SVE pseudo VG register. We want this register to act like a normal register if the CFI explicitly sets it, but want to provide a default value otherwise. Computing the default value requires an SVE target, so we only want to compute it on demand. aarch64_vg uses a hard-coded .inst in order to avoid a build dependency on binutils 2.28 or later. 2018-01-13 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * doc/tm.texi.in (DWARF_LAZY_REGISTER_VALUE): Document. * doc/tm.texi: Regenerate. libgcc/ * config/aarch64/value-unwind.h (aarch64_vg): New function. (DWARF_LAZY_REGISTER_VALUE): Define. * unwind-dw2.c (_Unwind_GetGR): Use DWARF_LAZY_REGISTER_VALUE to provide a fallback register value. gcc/testsuite/ * g++.target/aarch64/sve/aarch64-sve.exp: New harness. * g++.target/aarch64/sve/catch_1.C: New test. * g++.target/aarch64/sve/catch_2.C: Likewise. * g++.target/aarch64/sve/catch_3.C: Likewise. * g++.target/aarch64/sve/catch_4.C: Likewise. * g++.target/aarch64/sve/catch_5.C: Likewise. * g++.target/aarch64/sve/catch_6.C: Likewise. Reviewed-by: James Greenhalgh <james.greenhalgh@arm.com> From-SVN: r256615
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
aarch64 | Loading commit data... | |
alpha | Loading commit data... | |
arc | Loading commit data... | |
arm | Loading commit data... | |
avr | Loading commit data... | |
bfin | Loading commit data... | |
c6x | Loading commit data... | |
cr16 | Loading commit data... | |
cris | Loading commit data... | |
epiphany | Loading commit data... | |
fr30 | Loading commit data... | |
frv | Loading commit data... | |
ft32 | Loading commit data... | |
h8300 | Loading commit data... | |
i386 | Loading commit data... | |
ia64 | Loading commit data... | |
iq2000 | Loading commit data... | |
libbid | Loading commit data... | |
lm32 | Loading commit data... | |
m32c | Loading commit data... | |
m32r | Loading commit data... | |
m68k | Loading commit data... | |
mcore | Loading commit data... | |
microblaze | Loading commit data... | |
mips | Loading commit data... | |
mmix | Loading commit data... | |
moxie | Loading commit data... | |
msp430 | Loading commit data... | |
nds32 | Loading commit data... | |
nios2 | Loading commit data... | |
nvptx | Loading commit data... | |
pa | Loading commit data... | |
pdp11 | Loading commit data... | |
riscv | Loading commit data... | |
rl78 | Loading commit data... | |
rs6000 | Loading commit data... | |
rx | Loading commit data... | |
s390 | Loading commit data... | |
score | Loading commit data... | |
sh | Loading commit data... | |
sol2 | Loading commit data... | |
sparc | Loading commit data... | |
spu | Loading commit data... | |
stormy16 | Loading commit data... | |
tilegx | Loading commit data... | |
tilepro | Loading commit data... | |
v850 | Loading commit data... | |
vax | Loading commit data... | |
visium | Loading commit data... | |
vms | Loading commit data... | |
xtensa | Loading commit data... | |
darwin-64.c | Loading commit data... | |
darwin-crt-tm.c | Loading commit data... | |
darwin-crt3.c | Loading commit data... | |
gthr-lynx.h | Loading commit data... | |
gthr-rtems.h | Loading commit data... | |
gthr-vxworks.h | Loading commit data... | |
hardfp.c | Loading commit data... | |
libgcc-glibc.ver | Loading commit data... | |
libgcc-libsystem.ver | Loading commit data... | |
no-sfp-machine.h | Loading commit data... | |
no-unwind.h | Loading commit data... | |
t-crtfm | Loading commit data... | |
t-crtstuff-pic | Loading commit data... | |
t-darwin | Loading commit data... | |
t-dfprules | Loading commit data... | |
t-eh-dw2-dip | Loading commit data... | |
t-fdpbit | Loading commit data... | |
t-fixedpoint-gnu-prefix | Loading commit data... | |
t-fpbit | Loading commit data... | |
t-freebsd-thread | Loading commit data... | |
t-gnu-prefix | Loading commit data... | |
t-hardfp | Loading commit data... | |
t-hardfp-sfdf | Loading commit data... | |
t-libgcc-pic | Loading commit data... | |
t-libunwind | Loading commit data... | |
t-libunwind-elf | Loading commit data... | |
t-linux | Loading commit data... | |
t-openbsd-thread | Loading commit data... | |
t-rtems | Loading commit data... | |
t-slibgcc | Loading commit data... | |
t-slibgcc-darwin | Loading commit data... | |
t-slibgcc-elf-ver | Loading commit data... | |
t-slibgcc-fuchsia | Loading commit data... | |
t-slibgcc-gld | Loading commit data... | |
t-slibgcc-gld-nover | Loading commit data... | |
t-slibgcc-hpux | Loading commit data... | |
t-slibgcc-libgcc | Loading commit data... | |
t-slibgcc-nolc-override | Loading commit data... | |
t-slibgcc-sld | Loading commit data... | |
t-slibgcc-vms | Loading commit data... | |
t-softfp | Loading commit data... | |
t-softfp-compat | Loading commit data... | |
t-softfp-excl | Loading commit data... | |
t-softfp-sfdf | Loading commit data... | |
t-softfp-sfdftf | Loading commit data... | |
t-softfp-tf | Loading commit data... | |
t-stack | Loading commit data... | |
t-tls | Loading commit data... | |
t-vxworks | Loading commit data... | |
t-vxworks7 | Loading commit data... | |
unwind-dw2-fde-darwin.c | Loading commit data... | |
vxlib-tls.c | Loading commit data... | |
vxlib.c | Loading commit data... |