Blame SOURCES/gdb-rhel5-gcc44.patch

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