Menu

#102 crt2.o compiler error

v1.0 (example)
open
nobody
None
5
2015-04-29
2015-04-29
David Boots
No

I'm attempting to compile a Fortran program with the 64-bit compiler. When a certain variable (the maximum number of bodies allowed in the simulation) is set to 5 or less everything works, but changing it to anything higher results in the following compiler error.

gfortran -std=legacy -ffixed-form -ffixed-line-length-none -fno-align-commons articulate.o init_s2a.o COMBINED_C.o gnvp-3_sp.coupled.o geomet-3_sp.o basica-3_sp.o librar-3_sp.o i
nitia-3_sp.coupled.o movebo-3_sp.coupled.o inflow-3_sp.o elemen-3_sp.o rescpv-3_sp.coupled2.o deform-3_sp.coupled.o groupc-3_sp.o matrix-3_sp.o thickw-3_sp.o applic-3_sp.o neleme
-3_sp.o multilevel.o cupostpr.o init_eaxis.o blade_deform.o FORCE_NODE.o couple.o elast_bc.o Acoustics_1A.o bladeartic.o odeblade.o odepack_sub1.o odepack_sub2.o -static -g -o
SMARTROTOR
c:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o: In function __tmainCRTStartup': C:/crossdev/src/mingw-w64-v3-git/mingw-w64-crt/crt/crtexe.c:254:(.text+0x1fe): relocation truncated to fit: R_X86_64_PC32 against symbolimp_Sleep' defined in .idata$5 section i
n c:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/lib/../lib\libkernel32.a(dgnms01196.o)
C:/crossdev/src/mingw-w64-v3-git/mingw-w64-crt/crt/crtexe.c:281:(.text+0x286): relocation truncated to fit: R_X86_64_PC32 against symbol __imp_SetUnhandledExceptionFilter' defined in .idata$5 section in c:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/lib/../lib\libkernel32.a(dgnms01183.o) C:/crossdev/src/mingw-w64-v3-git/mingw-w64-crt/crt/crtexe.c:241:(.text+0x495): relocation truncated to fit: R_X86_64_PC32 against symbol
imp_GetStartupInfoA' defined in .idata$5
section in c:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/lib/../lib\libkernel32.a(dgnms00627.o)
articulate.o:articulate.f:(.text+0x112): relocation truncated to fit: R_X86_64_PC32 against symbol paramc1_' defined in COMMON section in articulate.o articulate.o:articulate.f:(.text+0x1a1): relocation truncated to fit: R_X86_64_PC32 against symbolparamc1_' defined in COMMON section in articulate.o
articulate.o:articulate.f:(.text+0x237): relocation truncated to fit: R_X86_64_PC32 against symbol paramc1_' defined in COMMON section in articulate.o init_s2a.o:init_s2a.f:(.text+0x219): relocation truncated to fit: R_X86_64_PC32 against symbolelfbk_' defined in COMMON section in articulate.o
init_s2a.o:init_s2a.f:(.text+0x22a): relocation truncated to fit: R_X86_64_PC32 against symbol elfbk_' defined in COMMON section in articulate.o init_s2a.o:init_s2a.f:(.text+0x23b): relocation truncated to fit: R_X86_64_PC32 against symbolelfbk_' defined in COMMON section in articulate.o
init_s2a.o:init_s2a.f:(.text+0x29e): relocation truncated to fit: R_X86_64_PC32 against symbol `elfbk_' defined in COMMON section in articulate.o
init_s2a.o:init_s2a.f:(.text+0x2cf): additional relocation overflows omitted from the output
collect2.exe: error: ld returned 1 exit status
make: *** [SMARTROTOR] Error 1

What is it about __tmainCRTStartup, crt2.o, or crtexe.c that would give relocation truncated messages? More confusingly, why does it only do that when changing one of the dimensions of certain arrays from 5 to 6?

Thanks!

Discussion


Log in to post a comment.