[MITgcm-support] Bug R_X86_64_PC32

Martin Losch mlosch at awi-bremerhaven.de
Wed Sep 6 04:14:24 EDT 2006


I have tried to reproduce your problem on a linux box (2GB RAM) with  
g77 (gcc version 3.2.2 20030222, Red Hat Linus 3.2.2.-5, very old), I  
used the default file tools/build_options/linux_ia32_g77, used the  
files from verification/tutorial_oce_latlon/code and modified SIZE.h,  
so that sNx=1000, sNy=50, Nr=90, nSx=nSy=nPx=nPy=1 (attached), and ....

I could not reproduce your problem Everything compiles fine even  
without mcmodel=medium. Please provide more details (eg. content of  
SIZE.h, output of genmake2 ...), there is something else going wrong.

M.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SIZE.h
Type: application/octet-stream
Size: 2182 bytes
Desc: not available
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20060906/f34acba6/attachment.obj>
-------------- next part --------------

On Sep 5, 2006, at 6:06 PM, Nataliya Stashchuk wrote:

> My grid is 1000x50x90. I use gcc/g77. Should I change compiler?
>
>
> Nataliya
>
> -----Original Message-----
> From: mitgcm-support-bounces at mitgcm.org
> [mailto:mitgcm-support-bounces at mitgcm.org] On Behalf Of Martin Losch
> Sent: 05 September 2006 15:09
> To: mitgcm-support at mitgcm.org
> Subject: Re: [MITgcm-support] Bug R_X86_64_PC32
>
> I guess you can try -mcmodel=large,
> but if that doesn't work, you'll have to reduce your number of nodes
> per CPU. What are your domain dimensions (that is, content of SIZE.h)?
>
> Martin
>
> On Sep 5, 2006, at 4:02 PM, Nataliya Stashchuk wrote:
>
>>
>> Dear all,
>>
>> I added -mcmodel=medium to FFLAGS, but I still have "relocation
>> truncated to fit: R_X86_64_PC32 against symbol". What should I do
>> next?
>>
>> Regards,
>> Nataliya
>>
>>
>> FC=g77
>> DEFINES='-D_BYTESWAPIO -DWORDLENGTH=4'
>> CPP='cpp  -traditional -P'
>> NOOPTFLAGS='-O0'
>> #MAKEDEPEND=/usr/X11R6/bin/gccmakedep
>> MAKEDEPEND=/usr/X11R6/bin/makedepend
>> #  For IEEE, use the "-ffloat-store" option
>> if test "x$IEEE" = x ; then
>>     FFLAGS='-Wimplicit -Wunused -Wuninitialized -mcmodel=medium'
>>     FOPTIM='-O3 -funroll-loops'
>> else
>>     FFLAGS='-Wimplicit -Wunused -ffloat-store -mcmodel=medium'
>>     FOPTIM='-O0 '
>> Fi
>>
>>
>>
>>
>>
>> -----Original Message-----
>> From: mitgcm-support-bounces at mitgcm.org
>> [mailto:mitgcm-support-bounces at mitgcm.org] On Behalf Of Martin Losch
>> Sent: 05 September 2006 13:03
>> To: mitgcm-support at mitgcm.org
>> Subject: Re: [MITgcm-support] Bug R_X86_64_PC32
>>
>> Nataliya,
>>
>> this is not a bug, but your model dimensions are so large that the
>> compiler cannot allocate the fileds on stack. Only last month there
>> were postings on this list about that, if you do a search (on http://
>> mitgcm.org/search.html, the source of wisdom (o:) on "relocation
>> truncated", you'll get these messages
>>
>> http://mitgcm.org/pipermail/mitgcm-support/2006-July/004145.html
>> http://mitgcm.org/pipermail/mitgcm-support/2006-July/004147.html
>> http://mitgcm.org/pipermail/mitgcm-support/2006-August/004158.html
>>
>> Depending on your compiler you have to use a different memory model
>> (whatever that means). For pgf77 this is done by adding the option "-
>> mcmodel=medium" to the compiler flags FFLAGS (in the build_options
>> file, whichever you use), other compilers may have different options.
>>
>> Martin
>>
>> On Sep 5, 2006, at 1:30 PM, Nataliya Stashchuk wrote:
>>
>>> Dear all,
>>>
>>>
>>> I tried to enlarge grid in my MIT code and found the following bug:
>>>
>>>
>>>
>>> mon_init.o: In function `mon_init__': mon_init.f:(.text+0x32):
>>> relocation truncated to fit: R_X86_64_PC32 against symbol `mon_l__'
>>> defined in COMMON section in mon_advcfl.o
>>>
>>> monitor.o: In function `monitor_': monitor.f:(.text+0x3ce):
>>> relocation truncated to fit: R_X86_64_PC32 against symbol `mon_l__'
>>> defined in COMMON section in mon_advcfl.o
>>>
>>> monitor.f:(.text+0x530): relocation truncated to fit: R_X86_64_PC32
>>> against symbol `mon_l__' defined in COMMON section in mon_advcfl.o
>>>
>>> monitor.f:(.text+0x66f): relocation truncated to fit: R_X86_64_PC32
>>> against symbol `mon_l__' defined in COMMON section in mon_advcfl.o
>>>
>>> monitor.f:(.text+0x679): relocation truncated to fit: R_X86_64_PC32
>>> against symbol `mon_l__' defined in COMMON section in mon_advcfl.o
>>>
>>> mon_out.o: In function `mon_out_all__': mon_out.f:(.text+0x11e):
>>> relocation truncated to fit: R_X86_64_PC32 against symbol `mon_i__'
>>> defined in COMMON section in mon_advcfl.o
>>>
>>> mon_out.f:(.text+0x13e): relocation truncated to fit: R_X86_64_PC32
>>> against symbol `mon_i__' defined in COMMON section in mon_advcfl.o
>>>
>>> mon_out.f:(.text+0x22c): relocation truncated to fit: R_X86_64_PC32
>>> against symbol `mon_l__' defined in COMMON section in mon_advcfl.o
>>>
>>> mon_out.f:(.text+0x2f3): relocation truncated to fit: R_X86_64_PC32
>>> against symbol `mon_i__' defined in COMMON section in mon_advcfl.o
>>>
>>> mon_out.f:(.text+0x312): relocation truncated to fit: R_X86_64_PC32
>>> against symbol `mon_i__' defined in COMMON section in mon_advcfl.o
>>>
>>> mon_set_iounit.o: In function `mon_set_iounit__':
>>>
>>> mon_set_iounit.f:(.text+0x1c): additional relocation overflows
>>> omitted from the output
>>>
>>> make: *** [mitgcmuv] Error 1
>>>
>>>
>>>
>>> Could anybody help me with this stuff?
>>>
>>>
>>> Regards,
>>>
>>>
>>> Nataliya Stashchuk
>>>
>>>
>>> _______________________________________________
>>> MITgcm-support mailing list
>>> MITgcm-support at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>
>> _______________________________________________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>
>> _______________________________________________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support



More information about the MITgcm-support mailing list