[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