target-supports.exp (check_effective_target_spu_auto_overlay): New procedure.
authorUlrich Weigand <uweigand@de.ibm.com>
Tue, 22 Jul 2008 17:21:12 +0000 (17:21 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Tue, 22 Jul 2008 17:21:12 +0000 (17:21 +0000)
* lib/target-supports.exp (check_effective_target_spu_auto_overlay):
New procedure.
* lib/compat.exp (compat-execute): Use it to test whether toolchain
supports automatic overlay generation for the SPU.

From-SVN: r138064

gcc/testsuite/ChangeLog
gcc/testsuite/lib/compat.exp
gcc/testsuite/lib/target-supports.exp

index a35b25f..658be50 100644 (file)
@@ -1,3 +1,10 @@
+2008-07-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * lib/target-supports.exp (check_effective_target_spu_auto_overlay):
+       New procedure.
+       * lib/compat.exp (compat-execute): Use it to test whether toolchain
+       supports automatic overlay generation for the SPU.
+
 2008-07-22  Daniel Kraft  <d@domob.eu>
 
        PR fortran/29835
index ee7cff5..e8ca8fc 100644 (file)
@@ -280,7 +280,7 @@ proc compat-execute { src1 sid use_alt } {
 
     # On the SPU, most of the compat test cases exceed local store size.
     # Use automatic overlay support to make them fit.
-    if { [istarget spu-*-elf*] } {
+    if { [check_effective_target_spu_auto_overlay] } {
        set extra_flags_1 "$extra_flags_1 -Wl,--auto-overlay"
        set extra_flags_1 "$extra_flags_1 -ffunction-sections"
        set extra_flags_2 "$extra_flags_2 -ffunction-sections"
index 9c12ddd..66231c6 100644 (file)
@@ -1390,6 +1390,19 @@ proc check_effective_target_powerpc_altivec { } {
     }
 }
 
+# Return 1 if this is a SPU target with a toolchain that
+# supports automatic overlay generation.
+
+proc check_effective_target_spu_auto_overlay { } {
+    if { [istarget spu*-*-elf*] } {
+       return [check_no_compiler_messages spu_auto_overlay executable {
+               int main (void) { }
+               } "-Wl,--auto-overlay" ]
+    } else {
+       return 0
+    }
+}
+
 # The VxWorks SPARC simulator accepts only EM_SPARC executables and
 # chokes on EM_SPARC32PLUS or EM_SPARCV9 executables.  Return 1 if the
 # test environment appears to run executables on such a simulator.