relocation truncated to fit: R_PPC_REL24

This forum is for general developer support questions.
Post Reply
kas1e
Beta Tester
Beta Tester
Posts: 542
Joined: Sat Jun 18, 2011 7:56 am
Contact:

relocation truncated to fit: R_PPC_REL24

Post by kas1e »

Lately when i build some big project which in end leads to big binary, i meet with such kind of errors from libc.a (newlib):
main.cpp:(.text+0x130): relocation truncated to fit: R_PPC_REL24 against symbol `setjmp' defined in .text section in /usr/local/amiga/ppc-amigaos/SDK/newlib/lib/libc.a(stub_setjmp.o)
../Tools/OWBLauncher/CMakeFiles/owb.dir/MorphOS/main.cpp.obj: In function `create_application(char*)':
main.cpp:(.text+0x374): relocation truncated to fit: R_PPC_REL24 against symbol `__getreent' defined in .text section in /usr/local/amiga/ppc-amigaos/SDK/newlib/lib/libc.a(stub___getreent.o)
main.cpp:(.text+0x38c): relocation truncated to fit: R_PPC_REL24 against symbol `fwrite' defined in .text section in /usr/local/amiga/ppc-amigaos/SDK/newlib/lib/libc.a(stub_fwrite.o)
../Tools/OWBLauncher/CMakeFiles/owb.dir/MorphOS/main.cpp.obj: In function `open_libs()':
main.cpp:(.text+0xa5c): relocation truncated to fit: R_PPC_REL24 against symbol `__getreent' defined in .text section in /usr/local/amiga/ppc-amigaos/SDK/newlib/lib/libc.a(stub___getreent.o)
main.cpp:(.text+0xa74): relocation truncated to fit: R_PPC_REL24 against symbol `fwrite' defined in .text section in /usr/local/amiga/ppc-amigaos/SDK/newlib/lib/libc.a(stub_fwrite.o)
main.cpp:(.text+0xaa0): relocation truncated to fit: R_PPC_REL24 against symbol `__getreent' defined in .text section in /usr/local/amiga/ppc-amigaos/SDK/newlib/lib/libc.a(stub___getreent.o)
main.cpp:(.text+0xab8): relocation truncated to fit: R_PPC_REL24 against symbol `fwrite' defined in .text section in /usr/local/amiga/ppc-amigaos/SDK/newlib/lib/libc.a(stub_fwrite.o)
main.cpp:(.text+0xac4): relocation truncated to fit: R_PPC_REL24 against symbol `__getreent' defined in .text section in /usr/local/amiga/ppc-amigaos/SDK/newlib/lib/libc.a(stub___getreent.o)
main.cpp:(.text+0xadc): relocation truncated to fit: R_PPC_REL24 against symbol `fwrite' defined in .text section in /usr/local/amiga/ppc-amigaos/SDK/newlib/lib/libc.a(stub_fwrite.o)
main.cpp:(.text+0xc14): relocation truncated to fit: R_PPC_REL24 against symbol `__getreent' defined in .text section in /usr/local/amiga/ppc-amigaos/SDK/newlib/lib/libc.a(stub___getreent.o)
main.cpp:(.text+0xc2c): additional relocation overflows

And there is more , for almost all usual amiga functions from lib.a, and in all the objects.

Binary is pretty big, more than 100mb.

All what i found currently is that thread: http://www.amigans.net/modules/xforum/v ... t_id=47726
which in end mean "recompiling everything with -mlongcall", but problem that the code gets slightly slower then and so you know what results is.. I already do test if -mlongcall will help on one of objects, and it is, i can recompile everything with it, but it also mean code will be slower.

All my code are static, without shared objects or anything like that.

Any ideas / suggestions except of recompiling with -mlongcall ? I am on gcc 4.4.3
Post Reply