Alignment Trouble When Using pgf90 on AMD64

Hi all,

We have some fortran90 code that successfully compiles and runs on 32 bit Linux systems, eg Fedora Core 1. On a Opteron system running the 64 bit Fedora Core 2 and using pgf90, ld issues the following warnings:

  • /usr/bin/ld: Warning: alignment 16 of symbol sib_const_module_0_' in sib_const_module.o is smaller than 32 in SiBDRV.o /usr/bin/ld: Warning: alignment 16 of symbol sib_io_module_0_’ in sib_io_module.o is smaller than 32 in SiBDRV.o

and when run, the program dies with a seg fault.

It appears that the modules sib_io_module and sib_const_module have different alignment from the routines that use them even though they were all compiled with the same compiler switches. I tried using the -Mdalign, -Mllalign and -Mfunc32 switches but this had no effect.

Has anyone else seen this problem? Is there a fix?

Details:
Compiler: pgf90 v.5.1
OS: Fedora Core 2 64 bit
Hardware: Dual Opteron

John Kleist

Hi,

Are you using modules? If so, did you remove the *.mod files before rebuilding?

-Mark

Mark, thanks for the reply.

Yes, we are using modules and yes, we do remove the .mod’s and .o’s before compiling. This code uses several modules yet only 2 of them cause the alignment warnings.

I think I’ll revert to pgf90-5.0 and see if works. I’m pretty sure we successfully compiled and ran an older version of this code on an Opteron a few months ago.

John

Hi,

Have you tried 5.2 yet?

-Mark

Hi John,

Looking through our techincal problem reports, I saw one that was similar to what you described. This problem was fixed in release 5.2, so you might want to try downloading the latest release at seeing if it works. You can download 5.2 at http://www.pgroup.com/support/download_release.php

Thanks,
Mat

Mat, Mark,

we’re downloading 5.2 now. The server is slow…:-)

I was able to compile and run the code on another opteron using 5.1. That machine was running Fedora Core 1. So this may be a Fedora Core 2 issue.

Thanks for you help.

5.2 fixed the problem. Thanks for your help.