Variable argument call does not work on 64-bit gfortran
Bob Deen
Bob.Deen@jpl.nasa.gov
Tue Jun 1 07:28:00 GMT 2010
Hi Tobias...
> With all the caveats with you mentioned: If I try your program on my
> x86-64 Linux, I get the same "Segmentation fault" with 4.1.2 20070115;
> however, all my 4.2, 4.3, 4.4, 4.5, and 4.6 compiler work (including
> -flto -fwhole-program, -fwhole-file). However, I could not find anything
> in the release notes, which indicates a change, cf.
> http://gcc.gnu.org/gcc-4.2/changes.html, thus, I do not know why it now
> works and how stable it is.
>
>> I'm also okay with moving to gfortran 4.4 if that would help
>
> It seems as if it would help. I think 4.4 is also a good choice: It is a
> still supported version [4.3.x is also supported, but essentially no
> longer maintained] - using 4.5.0 would be an alternative, unless, you
> want to try the currently developed 4.6.
That works! The SA installed 4.4 and it seems to be working well... all
my (more extensive) tests passed. Now on to building the main code.
It's a little disturbing that you don't know *why* it got fixed, but it
is comforting to know it works in all of 4.2 to 4.6. Hopefully it'll
keep working moving forward! ;-) From my (admittedly selfish)
perspective it would be great if you could throw the simple test case
into the regression test suite so it doesn't inadvertently break for no
reason (and it seems a useful capability to have, even if non-standard).
But it is certainly a special and non-standard case and I understand
if you don't want to. FYI, these routines consist of keyword-value
argument pairs with a blank keyword indicating the end of the arg list.
Thanks for your help...
-Bob
Bob Deen @ NASA-JPL Multimission Image Processing Lab
Bob.Deen@jpl.nasa.gov
More information about the Fortran
mailing list