https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99783
Bug ID: 99783 Summary: relocation truncated to fit: R_OR1K_GOT16 on OpenRISC, building libgeos Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: shorne at gcc dot gnu.org Target Milestone: --- I confirm, when building with libgeos as described by Giulio ''' # git clone git://git.busybox.net/buildroot # wget https://git.busybox.net/buildroot-test/tree/utils/br-reproduce-build - modify BASE_GIT=... with your buildroot path in br-reproduce-build then: # chmod a+x br-reproduce-build # ./br-reproduce-build 3eb9f9d0f6d8274b2d19753c006bd83f7d536e3c ''' - This issue is an overflow in the 16-bit immediate in the l.lwz load instruction generated for R_OR1K_GOT16 by GCC. So the fix has to start with GCC. I will need to have a bit further look on how to handle this. Some of the errors: linux-uclibc/9.3.0/crtbeginS.o: in function `__do_global_dtors_aux': crtstuff.c:(.text+0x118): relocation truncated to fit: R_OR1K_GOT16 against symbol `__cxa_finalize' defined in .text section in /home/shorne/work/openrisc/3eb9f9d0f6d8274b2d19753c006bd83f7d536e3c/output/host/or1k-buildroot-linux-uclibc/sysroot/lib/libc.so. 1 crtstuff.c:(.text+0x140): relocation truncated to fit: R_OR1K_GOT16 against symbol `__deregister_frame_info@@GLIBC_2.0' defined in .text section in /home/shorne/work/openrisc/3eb9f9d0f6d8274b2d19753c006bd83f7d536e3c/output/host/opt/ext-toolchain/bin/../lib /gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/lib/libgcc_s.so /home/shorne/work/openrisc/3eb9f9d0f6d8274b2d19753c006bd83f7d536e3c/output/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot- linux-uclibc/9.3.0/crtbeginS.o: in function `frame_dummy': crtstuff.c:(.text+0x1a0): relocation truncated to fit: R_OR1K_GOT16 against symbol `__register_frame_info@@GLIBC_2.0' defined in .text section in /home/shorne/work/openrisc/3eb9f9d0f6d8274b2d19753c006bd83f7d536e3c/output/host/opt/ext-toolchain/bin/../lib/g cc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/lib/libgcc_s.so CMakeFiles/geos.dir/src/algorithm/BoundaryNodeRule.cpp.o: in function `geos::algorithm::BoundaryNodeRule::~BoundaryNodeRule()': BoundaryNodeRule.cpp:(.text._ZN4geos9algorithm16BoundaryNodeRuleD2Ev[_ZN4geos9algorithm16BoundaryNodeRuleD5Ev]+0x24): relocation truncated to fit: R_OR1K_GOT16 against symbol `vtable for geos::algorithm::BoundaryNodeRule' defined in .data.rel.ro._ZTVN4geos 9algorithm16BoundaryNodeRuleE[_ZTVN4geos9algorithm16BoundaryNodeRuleE] section in CMakeFiles/geos.dir/src/algorithm/BoundaryNode Rule.cpp.o CMakeFiles/geos.dir/src/algorithm/CGAlgorithmsDD.cpp.o: in function `geos::algorithm::CGAlgorithmsDD::orientationIndex(double, d ouble, double, double, double, double)': CGAlgorithmsDD.cpp:(.text+0x308): relocation truncated to fit: R_OR1K_GOT16 against symbol `geos::util::IllegalArgumentException ::~IllegalArgumentException()' defined in .text._ZN4geos4util24IllegalArgumentExceptionD2Ev[_ZN4geos4util24IllegalArgumentExcept ionD5Ev] section in CMakeFiles/geos.dir/src/algorithm/CGAlgorithmsDD.cpp.o CGAlgorithmsDD.cpp:(.text+0x310): relocation truncated to fit: R_OR1K_GOT16 against symbol `typeinfo for geos::util::IllegalArgu mentException' defined in .data.rel.ro._ZTIN4geos4util24IllegalArgumentExceptionE[_ZTIN4geos4util24IllegalArgumentExceptionE] se ction in CMakeFiles/geos.dir/src/algorithm/CGAlgorithmsDD.cpp.o CMakeFiles/geos.dir/src/algorithm/CGAlgorithmsDD.cpp.o: in function `geos::algorithm::CGAlgorithmsDD::signOfDet2x2(double, doubl e, double, double)': CGAlgorithmsDD.cpp:(.text+0xa34): relocation truncated to fit: R_OR1K_GOT16 against symbol `geos::util::IllegalArgumentException ::~IllegalArgumentException()' defined in .text._ZN4geos4util24IllegalArgumentExceptionD2Ev[_ZN4geos4util24IllegalArgumentExcept ionD5Ev] section in CMakeFiles/geos.dir/src/algorithm/CGAlgorithmsDD.cpp.o CGAlgorithmsDD.cpp:(.text+0xa3c): relocation truncated to fit: R_OR1K_GOT16 against symbol `typeinfo for geos::util::IllegalArgu mentException' defined in .data.rel.ro._ZTIN4geos4util24IllegalArgumentExceptionE[_ZTIN4geos4util24IllegalArgumentExceptionE] se ction in CMakeFiles/geos.dir/src/algorithm/CGAlgorithmsDD.cpp.o CMakeFiles/geos.dir/src/algorithm/CGAlgorithmsDD.cpp.o: in function `geos::util::GEOSException::GEOSException(std::__cxx11::basi c_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, s td::allocator<char> > const&)': CGAlgorithmsDD.cpp:(.text._ZN4geos4util13GEOSExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_[_ZN4geos4util 13GEOSExceptionC5ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_]+0xc0): additional relocation overflows omitted from the output collect2: error: ld returned 1 exit status make[4]: *** [CMakeFiles/geos.dir/build.make:5369: lib/libgeos.so.3.9.0] Error 1 make[3]: *** [CMakeFiles/Makefile2:359: CMakeFiles/geos.dir/all] Error 2 make[2]: *** [Makefile:172: all] Error 2 make[1]: *** [package/pkg-generic.mk:250: /home/shorne/work/openrisc/3eb9f9d0f6d8274b2d19753c006bd83f7d536e3c/output/build/libge os-3.9.0/.stamp_built] Error 2 make: *** [Makefile:23: _all] Error 2