Re: Buggy ssereg float function return on amd64
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.
Reply to: