From: Ulrich Weigand Date: Tue, 22 Jul 2008 17:21:12 +0000 (+0000) Subject: target-supports.exp (check_effective_target_spu_auto_overlay): New procedure. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=738832558ff6a73bf29daee4d880bc602aff8e1f;p=platform%2Fupstream%2Fgcc.git 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 --- 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 + + * 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 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.