Some functionality is available on RHEL-5.4+ only with gcc44 and gfortran44 as the default gcc and gfortran binaries are from gcc-4.1. Index: gdb-7.4.50.20111218/gdb/testsuite/gdb.base/vla.exp =================================================================== --- gdb-7.4.50.20111218.orig/gdb/testsuite/gdb.base/vla.exp 2011-12-18 23:35:23.000000000 +0100 +++ gdb-7.4.50.20111218/gdb/testsuite/gdb.base/vla.exp 2011-12-19 02:27:16.745327844 +0100 @@ -16,7 +16,25 @@ set testfile vla set srcfile ${testfile}.c set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { +# Temporarily provide compiler=gcc44 saving the original value around. + +set board [target_info name] +if [board_info $board exists compiler] { + set old_compiler [board_info $board compiler] + unset_board_info compiler +} elseif [info exists old_compiler] { + unset old_compiler +} +set_board_info compiler gcc44 + +set err [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug quiet}] + +unset_board_info compiler +if [info exists old_compiler] { + set_board_info compiler $old_compiler +} + +if { $err != "" } { untested "Couldn't compile test program" return -1 } Index: gdb-7.4.50.20111218/gdb/testsuite/gdb.base/break-interp.exp =================================================================== --- gdb-7.4.50.20111218.orig/gdb/testsuite/gdb.base/break-interp.exp 2011-12-19 02:21:56.000000000 +0100 +++ gdb-7.4.50.20111218/gdb/testsuite/gdb.base/break-interp.exp 2011-12-19 02:27:16.745327844 +0100 @@ -34,9 +34,29 @@ if [get_compiler_info ${binfile_lib}] { return -1 } +# Temporarily provide compiler=gcc44 saving the original value around. +# RHEL-5 workaround of its: +# gcc: -soname: linker input file unused because linking not done + +set board [target_info name] +if [board_info $board exists compiler] { + set old_compiler [board_info $board compiler] + unset_board_info compiler +} elseif [info exists old_compiler] { + unset old_compiler +} +set_board_info compiler gcc44 + # Use -soname so that the new library gets copied by build_executable_own_libs. -if {[gdb_compile_shlib ${srcdir}/${subdir}/${srcfile_lib} ${binfile_lib} [list debug ldflags=-Wl,-soname,${test}.so]] != ""} { +set err [gdb_compile_shlib ${srcdir}/${subdir}/${srcfile_lib} ${binfile_lib} [list debug ldflags=-Wl,-soname,${test}.so]] + +unset_board_info compiler +if [info exists old_compiler] { + set_board_info compiler $old_compiler +} + +if { $err != "" } { return -1 } Index: gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/common-block.exp =================================================================== --- gdb-7.4.50.20111218.orig/gdb/testsuite/gdb.fortran/common-block.exp 2011-12-19 01:31:24.000000000 +0100 +++ gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/common-block.exp 2011-12-19 02:27:16.746327840 +0100 @@ -20,7 +20,25 @@ set testfile "common-block" set srcfile ${testfile}.f90 set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f90 quiet}] != "" } { +# Temporarily provide f90compiler=gfortran44 saving the original value around. + +set board [target_info name] +if [board_info $board exists f90compiler] { + set old_f90compiler [board_info $board f90compiler] + unset_board_info f90compiler +} elseif [info exists old_f90compiler] { + unset old_f90compiler +} +set_board_info f90compiler gfortran44 + +set err [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f90 quiet}] + +unset_board_info f90compiler +if [info exists old_f90compiler] { + set_board_info f90compiler $old_f90compiler +} + +if { $err != "" } { untested "Couldn't compile ${srcfile}" return -1 } Index: gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/dwarf-stride.exp =================================================================== --- gdb-7.4.50.20111218.orig/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2011-12-18 23:35:23.000000000 +0100 +++ gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2011-12-19 02:27:16.746327840 +0100 @@ -27,7 +27,25 @@ set testfile dwarf-stride set srcfile ${testfile}.f90 -if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug f90}] } { +# Temporarily provide f90compiler=gfortran44 saving the original value around. + +set board [target_info name] +if [board_info $board exists f90compiler] { + set old_f90compiler [board_info $board f90compiler] + unset_board_info f90compiler +} elseif [info exists old_f90compiler] { + unset old_f90compiler +} +set_board_info f90compiler gfortran44 + +set err [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug f90}] + +unset_board_info f90compiler +if [info exists old_f90compiler] { + set_board_info f90compiler $old_f90compiler +} + +if $err { return -1 } Index: gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/dynamic.exp =================================================================== --- gdb-7.4.50.20111218.orig/gdb/testsuite/gdb.fortran/dynamic.exp 2011-12-18 23:35:23.000000000 +0100 +++ gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/dynamic.exp 2011-12-19 02:27:16.746327840 +0100 @@ -25,7 +25,25 @@ set testfile "dynamic" set srcfile ${testfile}.f90 set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f90 quiet}] != "" } { +# Temporarily provide f90compiler=gfortran44 saving the original value around. + +set board [target_info name] +if [board_info $board exists f90compiler] { + set old_f90compiler [board_info $board f90compiler] + unset_board_info f90compiler +} elseif [info exists old_f90compiler] { + unset old_f90compiler +} +set_board_info f90compiler gfortran44 + +set err [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f90 quiet}] + +unset_board_info f90compiler +if [info exists old_f90compiler] { + set_board_info f90compiler $old_f90compiler +} + +if { $err != "" } { untested "Couldn't compile ${srcfile}" return -1 } Index: gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/library-module.exp =================================================================== --- gdb-7.4.50.20111218.orig/gdb/testsuite/gdb.fortran/library-module.exp 2011-11-30 09:24:32.000000000 +0100 +++ gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/library-module.exp 2011-12-19 02:31:10.991318026 +0100 @@ -25,16 +25,34 @@ if [get_compiler_info not-used] { return -1 } -if { [gdb_compile_shlib "${srcdir}/${subdir}/${srclibfile}" $objdir/$subdir/$libfile {debug f90}] != "" } { - untested "Couldn't compile ${srclibfile}" - return -1 +# Temporarily provide f90compiler=gfortran44 saving the original value around. + +set board [target_info name] +if [board_info $board exists f90compiler] { + set old_f90compiler [board_info $board f90compiler] + unset_board_info f90compiler +} elseif [info exists old_f90compiler] { + unset old_f90compiler } +set_board_info f90compiler gfortran44 # prepare_for_testing cannot be used as linking with $libfile cannot be passed # just for the linking phase (and not the source compilation phase). And any # warnings on ignored $libfile abort the process. -if { [gdb_compile $srcdir/$subdir/$srcfile $objdir/$subdir/$binfile executable [list debug f90 shlib=$objdir/$subdir/$libfile]] != "" } { +set err1 [gdb_compile_shlib "${srcdir}/${subdir}/${srclibfile}" $objdir/$subdir/$libfile {debug f90}] +set err2 [gdb_compile $srcdir/$subdir/$srcfile $objdir/$subdir/$binfile executable [list debug f90 shlib=$objdir/$subdir/$libfile]] + +unset_board_info f90compiler +if [info exists old_f90compiler] { + set_board_info f90compiler $old_f90compiler +} + +if { $err1 != "" } { + untested "Couldn't compile ${srclibfile}" + return -1 +} +if { $err2 != "" } { untested "Couldn't compile ${srcfile}" return -1 } Index: gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/module.exp =================================================================== --- gdb-7.4.50.20111218.orig/gdb/testsuite/gdb.fortran/module.exp 2011-06-30 00:05:16.000000000 +0200 +++ gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/module.exp 2011-12-19 02:27:16.747327836 +0100 @@ -16,7 +16,25 @@ set testfile "module" set srcfile ${testfile}.f90 -if { [prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}] } { +# Temporarily provide f90compiler=gfortran44 saving the original value around. + +set board [target_info name] +if [board_info $board exists f90compiler] { + set old_f90compiler [board_info $board f90compiler] + unset_board_info f90compiler +} elseif [info exists old_f90compiler] { + unset old_f90compiler +} +set_board_info f90compiler gfortran44 + +set err [prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}] + +unset_board_info f90compiler +if [info exists old_f90compiler] { + set_board_info f90compiler $old_f90compiler +} + +if $err { return -1 } Index: gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/string.exp =================================================================== --- gdb-7.4.50.20111218.orig/gdb/testsuite/gdb.fortran/string.exp 2011-12-18 23:35:23.000000000 +0100 +++ gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/string.exp 2011-12-19 02:27:16.747327836 +0100 @@ -23,7 +23,25 @@ set testfile "string" set srcfile ${testfile}.f90 set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f90 quiet}] != "" } { +# Temporarily provide f90compiler=gfortran44 saving the original value around. + +set board [target_info name] +if [board_info $board exists f90compiler] { + set old_f90compiler [board_info $board f90compiler] + unset_board_info f90compiler +} elseif [info exists old_f90compiler] { + unset old_f90compiler +} +set_board_info f90compiler gfortran44 + +set err [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f90 quiet}] + +unset_board_info f90compiler +if [info exists old_f90compiler] { + set_board_info f90compiler $old_f90compiler +} + +if { $err != "" } { untested "Couldn't compile ${srcfile}" return -1 } Index: gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/omp-step.exp =================================================================== --- gdb-7.4.50.20111218.orig/gdb/testsuite/gdb.fortran/omp-step.exp 2011-12-19 01:31:24.000000000 +0100 +++ gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/omp-step.exp 2011-12-19 02:27:16.748327832 +0100 @@ -15,7 +15,26 @@ set testfile "omp-step" set srcfile ${testfile}.f90 -if { [prepare_for_testing $testfile.exp $testfile $srcfile {debug f90 additional_flags=-fopenmp}] } { + +# Temporarily provide f90compiler=gfortran44 saving the original value around. + +set board [target_info name] +if [board_info $board exists f90compiler] { + set old_f90compiler [board_info $board f90compiler] + unset_board_info f90compiler +} elseif [info exists old_f90compiler] { + unset old_f90compiler +} +set_board_info f90compiler gfortran44 + +set err [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug f90 additional_flags=-fopenmp}] + +unset_board_info f90compiler +if [info exists old_f90compiler] { + set_board_info f90compiler $old_f90compiler +} + +if $err { return -1 } Index: gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/derived-type.exp =================================================================== --- gdb-7.4.50.20111218.orig/gdb/testsuite/gdb.fortran/derived-type.exp 2011-06-29 19:50:47.000000000 +0200 +++ gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/derived-type.exp 2011-12-19 02:27:16.748327832 +0100 @@ -28,8 +28,26 @@ set testfile "derived-type" set srcfile ${testfile}.f90 set binfile ${objdir}/${subdir}/${testfile} -if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ - executable {debug f90}] != ""} { +# Temporarily provide f90compiler=gfortran44 saving the original value around. + +set board [target_info name] +if [board_info $board exists f90compiler] { + set old_f90compiler [board_info $board f90compiler] + unset_board_info f90compiler +} elseif [info exists old_f90compiler] { + unset old_f90compiler +} +set_board_info f90compiler gfortran44 + +set err [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ + executable {debug f90}] + +unset_board_info f90compiler +if [info exists old_f90compiler] { + set_board_info f90compiler $old_f90compiler +} + +if { $err != "" } { return -1 } Index: gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/subarray.exp =================================================================== --- gdb-7.4.50.20111218.orig/gdb/testsuite/gdb.fortran/subarray.exp 2011-06-29 19:50:47.000000000 +0200 +++ gdb-7.4.50.20111218/gdb/testsuite/gdb.fortran/subarray.exp 2011-12-19 02:27:16.748327832 +0100 @@ -28,8 +28,26 @@ set testfile "subarray" set srcfile ${testfile}.f set binfile ${objdir}/${subdir}/${testfile} -if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ - executable {debug f90}] != ""} { +# Temporarily provide f90compiler=gfortran44 saving the original value around. + +set board [target_info name] +if [board_info $board exists f90compiler] { + set old_f90compiler [board_info $board f90compiler] + unset_board_info f90compiler +} elseif [info exists old_f90compiler] { + unset old_f90compiler +} +set_board_info f90compiler gfortran44 + +set err [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ + executable {debug f90}] + +unset_board_info f90compiler +if [info exists old_f90compiler] { + set_board_info f90compiler $old_f90compiler +} + +if { $err != "" } { return -1 } Index: gdb-7.4.50.20111218/gdb/testsuite/gdb.threads/tls-sepdebug.exp =================================================================== --- gdb-7.4.50.20111218.orig/gdb/testsuite/gdb.threads/tls-sepdebug.exp 2011-12-19 00:28:11.000000000 +0100 +++ gdb-7.4.50.20111218/gdb/testsuite/gdb.threads/tls-sepdebug.exp 2011-12-19 02:27:16.748327832 +0100 @@ -32,7 +32,25 @@ set binshareddebugfile ${objdir}/${subdi # FIXME: gcc dependency (-Wl,-soname). -if { [gdb_compile_shlib "${srcdir}/${subdir}/${srcsharedfile}" "${binsharedfile}" [list debug additional_flags=-Wl,-soname=${binsharedbase}]] != "" } { +# Temporarily provide compiler=gcc44 saving the original value around. + +set board [target_info name] +if [board_info $board exists compiler] { + set old_compiler [board_info $board compiler] + unset_board_info compiler +} elseif [info exists old_compiler] { + unset old_compiler +} +set_board_info compiler gcc44 + +set err [gdb_compile_shlib "${srcdir}/${subdir}/${srcsharedfile}" "${binsharedfile}" [list debug additional_flags=-Wl,-soname=${binsharedbase}]] + +unset_board_info compiler +if [info exists old_compiler] { + set_board_info compiler $old_compiler +} + +if { $err != "" } { untested "Couldn't compile test library" return -1 } Index: gdb-7.4.50.20111218/gdb/testsuite/lib/prelink-support.exp =================================================================== --- gdb-7.4.50.20111218.orig/gdb/testsuite/lib/prelink-support.exp 2011-12-19 02:21:56.000000000 +0100 +++ gdb-7.4.50.20111218/gdb/testsuite/lib/prelink-support.exp 2011-12-19 02:27:16.749327828 +0100 @@ -119,9 +119,31 @@ proc file_copy {src dest} { proc build_executable_own_libs {testname executable sources options {interp ""} {dir ""}} { global objdir subdir - if {[build_executable $testname $executable $sources $options] == -1} { - return "" + # Temporarily provide compiler=gcc44 saving the original value around. + # RHEL-5 workaround of its: + # gcc: -rpath: linker input file unused because linking not done + # gcc: --dynamic-linker: linker input file unused because linking not done + + set board [target_info name] + if [board_info $board exists compiler] { + set old_compiler [board_info $board compiler] + unset_board_info compiler + } elseif [info exists old_compiler] { + unset old_compiler + } + set_board_info compiler gcc44 + + set err [build_executable $testname $executable $sources $options] + + unset_board_info compiler + if [info exists old_compiler] { + set_board_info compiler $old_compiler } + + if { $err == -1 } { + return "" + } + set binfile ${objdir}/${subdir}/${executable} set command "ldd $binfile"