Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Relocation truncated to fit

Gabriele_B_
Beginner
1,933 Views

Hi,

I tried to increase the size of some arrays in COMMON, but when I compile the code I got many messages like this:

for_diags_intel.c:(.text+0x13aa): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /usr/local/intel/Composer/composer_xe_2013_sp1.2.144/compiler/lib/intel64/libifcore.a(for_diags_intel.o)

What does it mean? how can I avoid it?

Thanks

GB

0 Kudos
1 Solution
Steven_L_Intel1
Employee
1,933 Views

Try adding "-mcmodel medium" to your compile/link options. This is needed when you have static data that exceeds 2GB. As an alternative, consider using allocatable arrays rather than huge COMMONs.

View solution in original post

0 Kudos
4 Replies
Steven_L_Intel1
Employee
1,934 Views

Try adding "-mcmodel medium" to your compile/link options. This is needed when you have static data that exceeds 2GB. As an alternative, consider using allocatable arrays rather than huge COMMONs.

0 Kudos
Gabriele_B_
Beginner
1,933 Views

Thanks,

the first method works.

GB

0 Kudos
Gabriele_B_
Beginner
1,933 Views

Is it possible that this option disable the -traceback ? Should I use -g -O2 or -g -O0?

Thanks

GB

0 Kudos
Steven_L_Intel1
Employee
1,933 Views

No, -mcmodel medium should have no effect on traceback. -g implies -O0.

0 Kudos
Reply