aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2008-07-22 17:21:12 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2008-07-22 17:21:12 +0000
commit738832558ff6a73bf29daee4d880bc602aff8e1f (patch)
treed4ff05d5a78c518f3751f1e45fee85265842cd06 /gcc
parent9cad01cefbf1620fe2264feab58011ea3c23ccee (diff)
downloadgcc-738832558ff6a73bf29daee4d880bc602aff8e1f.zip
gcc-738832558ff6a73bf29daee4d880bc602aff8e1f.tar.gz
gcc-738832558ff6a73bf29daee4d880bc602aff8e1f.tar.bz2
target-supports.exp (check_effective_target_spu_auto_overlay): New procedure.
* 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/lib/compat.exp2
-rw-r--r--gcc/testsuite/lib/target-supports.exp13
3 files changed, 21 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a35b25f..658be50 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/lib/compat.exp b/gcc/testsuite/lib/compat.exp
index ee7cff5..e8ca8fc 100644
--- a/gcc/testsuite/lib/compat.exp
+++ b/gcc/testsuite/lib/compat.exp
@@ -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"
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 9c12ddd..66231c6 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -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.