This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: Darwin -m64 results
- From: howarth at bromo dot msbb dot uc dot edu (Jack Howarth)
- To: howarth at bromo dot msbb dot uc dot edu, mrs at apple dot com
- Cc: fortran at gcc dot gnu dot org, fxcoudert at gmail dot com, gcc at gcc dot gnu dot org, gkeating at apple dot com
- Date: Wed, 23 Aug 2006 19:57:31 -0400 (EDT)
- Subject: Re: Darwin -m64 results
Mike,
I managed to suppress the linker warnings which occur with "-m64 -g" with COMMON blocks
by applying the following patch...
--- gcc-4.2-20060822/gcc/testsuite/lib/prune.exp.org 2006-08-23 18:33:56.000000000 -0400
+++ gcc-4.2-20060822/gcc/testsuite/lib/prune.exp 2006-08-23 18:41:28.000000000 -0400
@@ -43,6 +43,7 @@
regsub -all "(^|\n)\[^\n\]*file path prefix \[^\n\]* never used" $text "" text
regsub -all "(^|\n)\[^\n\]*linker input file unused since linking not done" $text "" text
+ regsub -all "(^|\n)can't find atom for N_GSYM stabs \[^\n\]* in \[^\n\]*" $text "" text
#send_user "After:$text\n"
return $text
Running the fortran testsuite for -m64 now produces...
Native configuration is powerpc-apple-darwin8
=== gfortran tests ===
Running target unix/-m64
FAIL: gfortran.dg/direct_io_6.f90 -O0 execution test
FAIL: gfortran.dg/direct_io_6.f90 -O1 execution test
FAIL: gfortran.dg/direct_io_6.f90 -O2 execution test
FAIL: gfortran.dg/direct_io_6.f90 -O3 -fomit-frame-pointer execution test
FAIL: gfortran.dg/direct_io_6.f90 -O3 -fomit-frame-pointer -funroll-loops execution test
FAIL: gfortran.dg/direct_io_6.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test
FAIL: gfortran.dg/direct_io_6.f90 -O3 -g execution test
FAIL: gfortran.dg/direct_io_6.f90 -Os execution test
FAIL: gfortran.dg/large_real_kind_2.F90 -O0 execution test
FAIL: gfortran.dg/large_real_kind_2.F90 -O1 execution test
FAIL: gfortran.dg/large_real_kind_2.F90 -O2 execution test
FAIL: gfortran.dg/large_real_kind_2.F90 -O3 -fomit-frame-pointer execution test
FAIL: gfortran.dg/large_real_kind_2.F90 -O3 -fomit-frame-pointer -funroll-loops execution test
FAIL: gfortran.dg/large_real_kind_2.F90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test
FAIL: gfortran.dg/large_real_kind_2.F90 -O3 -g execution test
FAIL: gfortran.dg/large_real_kind_2.F90 -Os execution test
FAIL: gfortran.dg/large_real_kind_form_io_2.f90 -O0 execution test
FAIL: gfortran.dg/large_real_kind_form_io_2.f90 -O1 execution test
FAIL: gfortran.dg/large_real_kind_form_io_2.f90 -O2 execution test
FAIL: gfortran.dg/large_real_kind_form_io_2.f90 -O3 -fomit-frame-pointer execution test
FAIL: gfortran.dg/large_real_kind_form_io_2.f90 -O3 -fomit-frame-pointer -funroll-loops execution test
FAIL: gfortran.dg/large_real_kind_form_io_2.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test
FAIL: gfortran.dg/large_real_kind_form_io_2.f90 -O3 -g execution test
FAIL: gfortran.dg/large_real_kind_form_io_2.f90 -Os execution test
XPASS: gfortran.dg/vect/vect-5.f90 -O scan-tree-dump-times vectorized 2 loops 1
XPASS: gfortran.dg/vect/vect-5.f90 -O scan-tree-dump-times Alignment of access forced using peeling 1
XPASS: gfortran.dg/vect/vect-5.f90 -O scan-tree-dump-times Vectorizing an unaligned access 2
=== gfortran Summary ===
# of expected passes 14020
# of unexpected failures 24
# of unexpected successes 3
# of expected failures 7
# of unsupported tests 41
/sw/src/fink.build/gcc4-4.1.999-20060822/darwin_objdir/gcc/testsuite/gfortran/../../gfortran version 4.2.0 20060822 (experimental)
Compiler version: 4.2.0 20060822 (experimental) gfortran
Platform: powerpc-apple-darwin8
configure flags: --prefix=/sw --prefix=/sw/lib/gcc4 --enable-languages=c,c++,fortran --infodir=/sw/lib/gcc4/share/info --with-gmp=/sw --with-included-gettext --host=powerpc-apple-darwin8 --with-as=/sw/lib/odcctools/bin/as --with-ld=/sw/lib/odcctools/bin/ld --with-nm=/sw/lib/odcctools/bin/nm,;t t
...which is quite nice since it is the same number of failures as with -m32 with three additional unexpected passes.
I decided to look at one other issue (with the gdb from Xcode 2.3). I built a small test program...
program test
integer i
common i
i=1248
i=2359
i=3460
end
...with "-O3 -m64 -g" (which produces the linker warning) to see if I could actually see the
contents of the i variable in gdb when it was in a common block. What I found was that I
could set a breakpoint at assign.f90:1 but when I tried to run the program the break point
wasn't honored. At first I though this was due to the common block so I commented it out.
However, that code built at "-O3 -m64 -g", without linker errors, didn't produce a usable
breakpoint which actually worked. I checked both versions of the test program with a -m32
build and the breakpoint worked. Do I need Xcode 2.4 for a 64-bit saavy gdb or do I need
to build from the gdb cvs to have usable breakpoints in fortran code on 64-bit Darwin?
Jack