less strict so it also works with auto-overlay support.
* lib/gcc-defs.exp (${tool}_check_unsupported_p): Add check
for "exceeds local store" linker errors on the SPU.
* lib/gfortran.exp: Include target-supports.exp.
(gfortran_init): On SPU targets where automatic overlay support
is available, use it to build all Fortran test cases.
* gfortran.dg/pr20257.f90: Skip on spu-*-* targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146242
138bc75d-0d04-0410-961f-
82ee72b054a4
+2009-04-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * lib/gcc-dg.exp (gcc-dg-prune): Make linker message check
+ less strict so it also works with auto-overlay support.
+ * lib/gcc-defs.exp (${tool}_check_unsupported_p): Add check
+ for "exceeds local store" linker errors on the SPU.
+
+ * lib/gfortran.exp: Include target-supports.exp.
+ (gfortran_init): On SPU targets where automatic overlay support
+ is available, use it to build all Fortran test cases.
+
+ * gfortran.dg/pr20257.f90: Skip on spu-*-* targets.
+
2009-04-17 Arnaud Charlet <charlet@adacore.com>
* gnat.dg/ref_type.ads, gnat.dg/ref_type.adb: Fix test after proper
! { dg-do run { target fd_truncate } }
+! { dg-skip-if "Too big for local store" { spu-*-* } { "*" } { "" } }
integer,parameter :: n = 10000
real(8) array(10000)
if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $output] {
return "memory full"
}
+ if {[istarget spu-*-*] && \
+ [string match "*exceeds local store*" $output]} {
+ return "memory full"
+ }
return ""
}
# Likewise, if we see ".text exceeds local store range" or
# similar.
if {[string match "spu-*" $system] && \
- [string match "*exceeds local store range*" $text]} {
+ [string match "*exceeds local store*" $text]} {
# The format here is important. See dg.exp.
return "::unsupported::memory full"
}
load_lib gcc-defs.exp
load_lib timeout.exp
load_lib target-libpath.exp
+load_lib target-supports.exp
#
# GFORTRAN_UNDER_TEST is the compiler under test.
lappend ALWAYS_GFORTRANFLAGS "additional_flags=$TOOL_OPTIONS"
}
+ # On the SPU, most of the fortran test cases exceed local store size.
+ # Use automatic overlay support to make them fit.
+ if { [check_effective_target_spu_auto_overlay] } {
+ lappend ALWAYS_GFORTRANFLAGS "ldflags=-Wl,--auto-overlay"
+ lappend ALWAYS_GFORTRANFLAGS "ldflags=-Wl,--reserved-space=131072"
+ }
+
verbose -log "ALWAYS_GFORTRANFLAGS set to $ALWAYS_GFORTRANFLAGS"
verbose "gfortran is initialized" 3