diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0d0bc39996288b1603944c40e4e91f0209659c95..dd51f671d8da3498339002dad13ba9abd02e91a4 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 c17af6c3084d3d8fdcb10f2cdc8fcf1843600025..36687800ecdcc927cfec7bec8ce11978bf29f1b9 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
+	}
     }
 }