From 2f7f96b166e840c8b40666e07a027afe4768cef4 Mon Sep 17 00:00:00 2001
From: Joel Brobecker <brobecker@adacore.com>
Date: Mon, 30 Dec 2019 22:26:29 +0000
Subject: [PATCH] Guard aarch64/aapcs64 tests using abitest.S by
 check_weak_available

2019-12-16  Joel Brobecker  <brobecker@adacore.com>
           Olivier Hainque  <hainque@adacore.com>

	* gcc.target/aarch64/aapcs64/aapcs64.exp: Guard tests using
	abitest.S by check_weak_available.

Co-Authored-By: Olivier Hainque <hainque@adacore.com>

From-SVN: r279793
---
 gcc/testsuite/ChangeLog                       |  6 ++++
 .../gcc.target/aarch64/aapcs64/aapcs64.exp    | 36 ++++++++++++-------
 2 files changed, 29 insertions(+), 13 deletions(-)

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0d0bc3999628..dd51f671d8da 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2019-12-30  Joel Brobecker  <brobecker@adacore.com>
+            Olivier Hainque  <hainque@adacore.com>
+
+	* gcc.target/aarch64/aapcs64/aapcs64.exp: Guard tests using
+	abitest.S by check_weak_available.
+
 2019-12-30  Peter Bergner <bergner@linux.ibm.com>
 
        PR target/92923
diff --git a/gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp b/gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
index c17af6c3084d..36687800ecdc 100644
--- a/gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
+++ b/gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
@@ -29,12 +29,16 @@ torture-init
 set-torture-options $C_TORTURE_OPTIONS
 set additional_flags "-W -Wall -Wno-abi"
 
-# Test parameter passing.
-foreach src [lsort [glob -nocomplain $srcdir/$subdir/test_*.c]] {
-    if {[runtest_file_p $runtests $src]} {
+# Test parameter passing.  This uses abitest.S which relies on weak
+# symbols.
+
+if { [check_weak_available] } {
+    foreach src [lsort [glob -nocomplain $srcdir/$subdir/test_*.c]] {
+	if {[runtest_file_p $runtests $src]} {
 	    c-torture-execute [list $src \
 				    $srcdir/$subdir/abitest.S] \
 				    $additional_flags
+	}
     }
 }
 
@@ -48,25 +52,31 @@ foreach src [lsort [glob -nocomplain $srcdir/$subdir/rec_*.c]] {
     }
 }
 
-# Test unnamed argument retrieval via the va_arg macro.
-foreach src [lsort [glob -nocomplain $srcdir/$subdir/va_arg-*.c]] {
-    if {[runtest_file_p $runtests $src]} {
+# Test unnamed argument retrieval via the va_arg macro.  This uses abitest.S
+# which relies on weak symbols.
+if { [check_weak_available] } {
+    foreach src [lsort [glob -nocomplain $srcdir/$subdir/va_arg-*.c]] {
+	if {[runtest_file_p $runtests $src]} {
 	    c-torture-execute [list $src \
 				    $srcdir/$subdir/abitest.S] \
 				    $additional_flags
+	}
     }
 }
 
-# Test function return value.
-#   Disable -fipa-ra to prevent the compiler from generating
-#   conflicting code.
-set additional_flags_for_func_ret $additional_flags
-append additional_flags_for_func_ret " -fno-ipa-ra"
-foreach src [lsort [glob -nocomplain $srcdir/$subdir/func-ret-*.c]] {
-    if {[runtest_file_p $runtests $src]} {
+# Test function return value.  This uses abitest.S which relies on
+# weak symbols.
+if { [check_weak_available] } {
+    #   Disable -fipa-ra to prevent the compiler from generating
+    #   conflicting code.
+    set additional_flags_for_func_ret $additional_flags
+    append additional_flags_for_func_ret " -fno-ipa-ra"
+    foreach src [lsort [glob -nocomplain $srcdir/$subdir/func-ret-*.c]] {
+	if {[runtest_file_p $runtests $src]} {
 	    c-torture-execute [list $src \
 				    $srcdir/$subdir/abitest.S] \
 				    $additional_flags_for_func_ret
+	}
     }
 }
 
-- 
GitLab