This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: Buggy ssereg float function return on amd64
- From: Tobias Burnus <burnus at net-b dot de>
- To: Camm Maguire <camm at enhanced dot com>
- Cc: fortran at gcc dot gnu dot org, Matthias Klose <doko at cs dot tu-berlin dot de>, debian-toolchain at lists dot debian dot org, Bart Oldeman <bartoldeman at users dot sourceforge dot net>, kamaraju at bluebottle dot com
- Date: Wed, 28 Nov 2007 18:22:38 +0100
- Subject: Re: Buggy ssereg float function return on amd64
- References: <20071104222631.GA6775@kos.to> <54hcjum57a.fsf@intech19.enhanced.com> <20071112222011.GA26379@kos.to> <547ikbzmza.fsf@intech19.enhanced.com> <18247.19246.376320.20611@gargle.gargle.HOWL> <54d4tujsw1.fsf_-_@intech19.enhanced.com>
Greetings,
I start with a comment to:
http://wiki.debian.org/GfortranTransition
"getarg and some other g77 specific functions have been removed from
gfortran."
This is not the case. See:
http://gcc.gnu.org/onlinedocs/gfortran/GETARG.html
My guess would be that the program contained an
EXTERNAL GETARG
which instructs gfortran to regard GETARG a user-supplied function.
Simply removing the EXTERNAL line or using
INTRINSIC GETARG
should work.
Camm Maguire wrote:
> Greetings! I am having the following problem building blas on amd64
> with gcc/gfortran 4.2.
Ideally, you would provide a small - self-contained - test case
illustrating what goes wrong. Currently, one has to guess the packages
together - and the used compiler options for both BLAS and CBLAS.
I now have:
- LAPACK 3.1.1, which contains all BLAS routines incl. and "BLAS/TESTING"
- cblas.tgz
I compiled them with gfortran 4.3.0,
FORTRAN = gfortran
OPTS = -funroll-loops -O3 -march=native -msse3
CFLAGS = -O3 -DADD_
FFLAGS = -O3
and all tests of CBLAS passed. As this is seemingly not the case on your
x86-64, I need more details such as compiler options for all the
libraries. If you had a small, self-contained test it would also be
great. Maybe I also run the wrong tests, but I only followed the
CBLAS/README.
$ gfortran -mnosseregparam -pipe -g -c c_sblat1.f
f951: error: unrecognized command line option "-mnosseregparam"
Well, as "man gcc" reveals, the option is spelled differently and there
is no "no-" version; see:
-msseregparm
Use SSE register passing conventions for float and double
arguments and return values.
Note that the -m* options are target-system-dependent options and are
best asked at gcc-help@. They are general GCC options and are not
specific to gfortran.
Tobias
PS: I will try now to find out more about what goes wrong.