[gcc(refs/users/aoliva/heads/testme)] [testsuite] Adjust for fixed x18, static chain x9 on aarch64-vxworks
Alexandre Oliva
aoliva@gcc.gnu.org
Thu Mar 16 14:22:47 GMT 2023
https://gcc.gnu.org/g:0a9a8a8dd7d8581550b88f8c29162588ec583477
commit 0a9a8a8dd7d8581550b88f8c29162588ec583477
Author: Alexandre Oliva <oliva@adacore.com>
Date: Thu Mar 9 05:15:54 2023 -0300
[testsuite] Adjust for fixed x18, static chain x9 on aarch64-vxworks
r18 is reserved (fixed) by VxWorks so we use a different reg for the
static chain.
for gcc/testsuite/ChangeLog
* gcc.dg/cwsc1.c (CHAIN, aarch64): x9 instead x18 for __vxworks.
* gcc.target/aarch64/shadow_call_stack_1.c: Don't expect
-ffixed-x18 error on vxworks.
Diff:
---
gcc/testsuite/gcc.dg/cwsc1.c | 6 +++++-
gcc/testsuite/gcc.target/aarch64/shadow_call_stack_1.c | 3 ++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/gcc/testsuite/gcc.dg/cwsc1.c b/gcc/testsuite/gcc.dg/cwsc1.c
index e793e26116a..cccf4139c35 100644
--- a/gcc/testsuite/gcc.dg/cwsc1.c
+++ b/gcc/testsuite/gcc.dg/cwsc1.c
@@ -6,7 +6,11 @@
#elif defined(__i386__)
# define CHAIN "%ecx"
#elif defined(__aarch64__)
-# define CHAIN "x18"
+# if defined __vxworks
+# define CHAIN "x9"
+# else
+# define CHAIN "x18"
+# endif
#elif defined(__alpha__)
# define CHAIN "$1"
#elif defined(__arm__)
diff --git a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_1.c b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_1.c
index ab68d6e8482..c7c230fc194 100644
--- a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_1.c
+++ b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_1.c
@@ -3,4 +3,5 @@
int i;
-/* { dg-error "'-fsanitize=shadow-call-stack' requires '-ffixed-x18'" "" {target "aarch64*-*-*" } 0 } */
+/* aarch64-*-vxworks has x18 as a fixed register. */
+/* { dg-error "'-fsanitize=shadow-call-stack' requires '-ffixed-x18'" "" { target { aarch64*-*-* && { ! aarch64-*-vxworks* } } } 0 } */
More information about the Gcc-cvs
mailing list