|
| View previous topic :: View next topic |
| Author |
Message |
wkellar
Joined: 19 Aug 2004 Posts: 1
|
Posted: Thu Aug 19, 2004 4:16 am Post subject: >2Gb data objects: pgf77 v5.2 -mcmodel=medium -Mlarge_arr |
|
|
hardware - IBM amd64 single proc server 8Gb RAM
OS - suse8.0SLES 64bit (kernel 2.4.21-143-smp)
i have assembler issues with single arrays >2Gb.
the test prog on p47 of the 5.2 release notes works OK (obviously) : if you don't use -mcmodel=medium &c then you get 'relocation truncated' error. however, if you increase the array param in this test prog a bit further, eg to 22000, you get a different class of error:
/tmp/pgf77aaaaasEeaD.s: Assembler messages:
/tmp/pgf77aaaaasEeaD.s:60: Error: .COMMon length (-2054967296.) <0! Ignored.
/tmp/pgf77aaaaasEeaD.s:60: Warning: rest of line ignored; first ignored character is `,'
(or similar). this also happens with my alternative test prog (see base of this post), this prog manifests this alternative error if you change the array limit between about 130M and 140M.
Q: the options suggested by 5.2 release notes (-mcmodel=medium &c) seem *only* to behave the same as -fpic used to do in v5.1. they get me slightly larger arrays than otherwise, as did -fpic in 5.1, but nothing like the proper 5.2 64bit addressing as described in the release-notes table.
in summary - 5.1 & 5.2 both get some mileage out of -fpic for large single arrays, but any extra features in 5.2 seem to add nothing.
do i need to upgrade binutils (in my suse8.0 SLES) or something, to go along with my 5.1-->5.2 upgrade? otherwise, it would seem that the documented 5.2 64bit addressing upgrade is essentially ineffective.
cheers
will
--------------------
my test prog, which won't assemble:
program TEST1
parameter(i_1=140000000)
integer*4 i1(i_1,4)
do i=1,i_1
do j=1,4
i1(i,j) = 0
end do
end do
stop
end |
|
| Back to top |
|
 |
mkcolg
Joined: 30 Jun 2004 Posts: 4996 Location: The Portland Group Inc.
|
Posted: Thu Aug 19, 2004 10:42 am Post subject: Need to upgrade binutils |
|
|
Hi Will,
You need to have at least binutils version 2.14.90.0.5 installed for large array support. From our 5.2-1 release notes http://www.pgroup.com/support/new_rel.htm
| Quote: | The 5.2-1 release (and later) PGF90, PGF77 and PGCC compilers now allow individual data objects larger than 2GB, with the addition of the -Mlarge_arrays switch. Note that for the -Mlarge_arrays switch to work properly
1. Options -mcmodel=medium and -Mlarge_arrays are used
2. The 'binutils' version is at least 2.14.90.0.5 (such as the binutils installed in SuSE 9.0)
3. The swap space is 'large'
|
Your sample program works on a SuSE9.0 and SuSE9.1 system.
Hope this helps,
Mat |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2002 phpBB Group
|