This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Severe problems running the g77 test suite on the main line


After applying the following patch the g77 testsuite runs again. I
confirmed that it links versus the libg2c included in the build tree.
I know next to nothing of dejagnu, therefore this patch may be
inelegant, or even incorrect. 

I generated this patch by gleaning the necessary bits from objc.exp.

All test cases pass after applying this patch on the i686-pc-linux-gnu
target. 

Hope this helps.

2001-10-04  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* gcc/testsuite/lib/g77.exp: set libg2c_dir correctly.

*** gcc/testsuite/lib/g77.exp.orig	Thu Oct  4 02:02:50 2001
--- gcc/testsuite/lib/g77.exp	Thu Oct  4 02:25:42 2001
*************** proc g77_init { args } {
*** 116,125 ****
--- 116,129 ----
  }
  
  proc g77_target_compile { source dest type options } {
+     global rootme
      global tmpdir;
      global gluefile wrap_flags;
      global G77_UNDER_TEST
      global TOOL_OPTIONS
+     global ld_library_path
+ 
+     set ld_library_path ".:${rootme}"
  
      if { [target_info needs_status_wrapper]!="" && [info exists gluefile] } {
  	lappend options "libs=${gluefile}"
*************** proc g77_target_compile { source dest ty
*** 143,154 ****
      }
      if ![is_remote host] {
        set gccpath "[get_multilibs]"
!       set libg2c_dir [lookfor_file ${gccpath} libf2c/libg2c.a]
        if { $libg2c_dir != "" } {
  	set libg2c_link_flags "-L[file dirname ${libg2c_dir}]"
  	lappend options "additional_flags=${libg2c_link_flags}"
        }
      }
      lappend options "compiler=$G77_UNDER_TEST"
      return [target_compile $source $dest $type $options]
  }
--- 147,167 ----
      }
      if ![is_remote host] {
        set gccpath "[get_multilibs]"
!       set libg2c_dir [lookfor_file ${gccpath} libf2c/libg2c.la]
        if { $libg2c_dir != "" } {
  	set libg2c_link_flags "-L[file dirname ${libg2c_dir}]"
  	lappend options "additional_flags=${libg2c_link_flags}"
        }
      }
+     set g2cpath "[get_multilibs]"
+     set libg2c_dir [lookfor_file ${g2cpath} libf2c/.libs/libg2c.a]
+     if { $libg2c_dir != "" } {
+         set libg2c_dir [file dirname ${libg2c_dir}]
+         set g2c_link_flags "-L${libg2c_dir}"
+         lappend options "additional_flags=${g2c_link_flags}"
+         append ld_library_path ":${libg2c_dir}"
+     }
+  
      lappend options "compiler=$G77_UNDER_TEST"
      return [target_compile $source $dest $type $options]
  }


make check-g77
(rootme=`pwd`; export rootme; \
srcdir=`cd ../../gcc/gcc; pwd` ; export srcdir ; \
cd testsuite; \
EXPECT=`if [ -f ${rootme}/../expect/expect ] ; then echo ${rootme}/../expect/expect ; else echo expect ; fi` ; export EXPECT ; \
if [ -f ${rootme}/../expect/expect ] ; then  \
   TCL_LIBRARY=`cd .. ; cd ../../gcc/gcc/../tcl/library ; pwd` ; \
   export TCL_LIBRARY ; fi ; \
`if [ -f ${srcdir}/../dejagnu/runtest ] ; then echo ${srcdir}/../dejagnu/runtest ; else echo runtest; fi` --tool g77 )
WARNING: Couldn't find the global config file.
Test Run By peter on Thu Oct  4 02:25:48 2001
Native configuration is i686-pc-linux-gnu

		=== g77 tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/local/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/local/share/dejagnu/config/unix.exp as generic interface file for target.
Using /mnt/egcs/gcc/gcc/testsuite/config/default.exp as tool-and-target-specific interface file.
Running /mnt/egcs/gcc/gcc/testsuite/g77.dg/bprob/bprob.exp ...
Running /mnt/egcs/gcc/gcc/testsuite/g77.dg/dg.exp ...
Running /mnt/egcs/gcc/gcc/testsuite/g77.dg/gcov/gcov.exp ...
Running /mnt/egcs/gcc/gcc/testsuite/g77.f-torture/compile/compile.exp ...
Running /mnt/egcs/gcc/gcc/testsuite/g77.f-torture/execute/execute.exp ...
Running /mnt/egcs/gcc/gcc/testsuite/g77.f-torture/noncompile/noncompile.exp ...

		=== g77 Summary ===

# of expected passes		1360
/mnt/egcs/build/gcc/g77 g77 version 3.1 20011003 (experimental) (Fortran Frontend version 0.5.27 20011003 (experimental))


Excerpts from g77.log:

Executing on host: /mnt/egcs/build/gcc/g77 -B/mnt/egcs/build/gcc/ /mnt/egcs/gcc/gcc/testsuite/g77.f-torture/execute/short.f  -w  -O0  -L/mnt/egcs/build/i686-pc-linux-gnu/libf2c -L/mnt/egcs/build/i686-pc-linux-gnu/libf2c/.libs  -lm   -o /mnt/egcs/build/gcc/testsuite/short.x    (timeout = 300)
PASS: g77.f-torture/execute/short.f compilation,  -O0 
PASS: g77.f-torture/execute/short.f execution,  -O0 
Executing on host: /mnt/egcs/build/gcc/g77 -B/mnt/egcs/build/gcc/ /mnt/egcs/gcc/gcc/testsuite/g77.f-torture/execute/short.f  -w  -O1  -L/mnt/egcs/build/i686-pc-linux-gnu/libf2c -L/mnt/egcs/build/i686-pc-linux-gnu/libf2c/.libs  -lm   -o /mnt/egcs/build/gcc/testsuite/short.x    (timeout = 300)
PASS: g77.f-torture/execute/short.f compilation,  -O1 
PASS: g77.f-torture/execute/short.f execution,  -O1 
Executing on host: /mnt/egcs/build/gcc/g77 -B/mnt/egcs/build/gcc/ /mnt/egcs/gcc/gcc/testsuite/g77.f-torture/execute/short.f  -w  -O2  -L/mnt/egcs/build/i686-pc-linux-gnu/libf2c -L/mnt/egcs/build/i686-pc-linux-gnu/libf2c/.libs  -lm   -o /mnt/egcs/build/gcc/testsuite/short.x    (timeout = 300)
PASS: g77.f-torture/execute/short.f compilation,  -O2 
PASS: g77.f-torture/execute/short.f execution,  -O2



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]