[gcc r12-1632] [Ada] Fix inaccuracies in signal handler trampoline for aarch64-vxworks
Pierre-Marie de Rodat
pmderodat@gcc.gnu.org
Fri Jun 18 08:39:26 GMT 2021
https://gcc.gnu.org/g:548280b996ea7e6283193d6c8a3c03d44ef36681
commit r12-1632-g548280b996ea7e6283193d6c8a3c03d44ef36681
Author: Olivier Hainque <hainque@adacore.com>
Date: Sat Mar 20 21:10:49 2021 +0000
[Ada] Fix inaccuracies in signal handler trampoline for aarch64-vxworks
gcc/ada/
* sigtramp-vxworks-target.inc (__aarch64__): Sync
REGNO_PC_OFFSET with the back-end DWARF_ALT_FRAME_RETURN_COLUMN.
In CFI_COMMON_REGS, leave r18 alone, VxWorks private.
Diff:
---
gcc/ada/sigtramp-vxworks-target.inc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/ada/sigtramp-vxworks-target.inc b/gcc/ada/sigtramp-vxworks-target.inc
index 13601c6565c..5a37b879510 100644
--- a/gcc/ada/sigtramp-vxworks-target.inc
+++ b/gcc/ada/sigtramp-vxworks-target.inc
@@ -100,7 +100,7 @@
#define FUNCTION "%function"
#ifdef __aarch64__
-#define REGNO_PC_OFFSET 80 /* aka V16, a scratch register */
+#define REGNO_PC_OFFSET 96 /* DWARF_ALT_FRAME_RETURN_COLUMN */
#else
#define REGNO_PC_OFFSET 15 /* PC_REGNUM */
#endif
@@ -375,7 +375,7 @@ TCR(COMMON_CFI(G_REG_OFFSET(14))) \
TCR(COMMON_CFI(G_REG_OFFSET(15))) \
TCR(COMMON_CFI(G_REG_OFFSET(16))) \
TCR(COMMON_CFI(G_REG_OFFSET(17))) \
-TCR(COMMON_CFI(G_REG_OFFSET(18))) \
+CR("# Leave alone R18, VxWorks reserved\n") \
TCR(COMMON_CFI(G_REG_OFFSET(19))) \
TCR(COMMON_CFI(G_REG_OFFSET(20))) \
TCR(COMMON_CFI(G_REG_OFFSET(21))) \
More information about the Gcc-cvs
mailing list