tools: Help with "relocation truncated to fit" error

Hello, can I have some insight about this particular error?

>>> stage 4.3: building everything

cc1_main.o: In function `cc1_main(llvm::ArrayRef<char const*>, char const*, void*)':
cc1_main.cpp:(.text._Z8cc1_mainN4llvm8ArrayRefIPKcEES2_Pv+0x45c): relocation truncated to fit: R_ARM_CALL against symbol `llvm::install_fatal_error_handler(void (*)(void*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool), void*)' defined in .text._ZN4llvm27install_fatal_error_handlerEPFvPvRKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEbES0_ section in /usr/obj/arm.armv6/usr/src/lib/clang/libllvm/libllvm.a(ErrorHandling.o)
cc1_main.cpp:(.text._Z8cc1_mainN4llvm8ArrayRefIPKcEES2_Pv+0x484): relocation truncated to fit: R_ARM_CALL against symbol `llvm::TimerGroup::printAll(llvm::raw_ostream&)' defined in .text._ZN4llvm10TimerGroup8printAllERNS_11raw_ostreamE section in /usr/obj/arm.armv6/usr/src/lib/clang/libllvm/libllvm.a(Timer.o)
cc1_main.cpp:(.text._Z8cc1_mainN4llvm8ArrayRefIPKcEES2_Pv+0x488): relocation truncated to fit: R_ARM_CALL against symbol `llvm::remove_fatal_error_handler()' defined in .text._ZN4llvm26remove_fatal_error_handlerEv section in /usr/obj/arm.armv6/usr/src/lib/clang/libllvm/libllvm.a(ErrorHandling.o)
cc1_main.o: In function `_GLOBAL__sub_I_cc1_main.cpp':
cc1_main.cpp:(.text._GLOBAL__sub_I_cc1_main.cpp+0x34): relocation truncated to fit: R_ARM_CALL against symbol `llvm::createBasicAAWrapperPass()' defined in .text._ZN4llvm24createBasicAAWrapperPassEv section in /usr/obj/arm.armv6/usr/src/lib/clang/libllvm/libllvm.a(BasicAliasAnalysis.o)
cc1_main.cpp:(.text._GLOBAL__sub_I_cc1_main.cpp+0x38): relocation truncated to fit: R_ARM_CALL against symbol `llvm::createSCEVAAWrapperPass()' defined in .text._ZN4llvm23createSCEVAAWrapperPassEv section in /usr/obj/arm.armv6/usr/src/lib/clang/libllvm/libllvm.a(ScalarEvolutionAliasAnalysis.o)
cc1_main.cpp:(.text._GLOBAL__sub_I_cc1_main.cpp+0x3c): relocation truncated to fit: R_ARM_CALL against symbol `llvm::createTypeBasedAAWrapperPass()' defined in .text._ZN4llvm28createTypeBasedAAWrapperPassEv section in /usr/obj/arm.armv6/usr/src/lib/clang/libllvm/libllvm.a(TypeBasedAliasAnalysis.o)
cc1_main.cpp:(.text._GLOBAL__sub_I_cc1_main.cpp+0x40): relocation truncated to fit: R_ARM_CALL against symbol `llvm::createScopedNoAliasAAWrapperPass()' defined in .text._ZN4llvm32createScopedNoAliasAAWrapperPassEv section in /usr/obj/arm.armv6/usr/src/lib/clang/libllvm/libllvm.a(ScopedNoAliasAA.o)
cc1_main.cpp:(.text._GLOBAL__sub_I_cc1_main.cpp+0xa4): relocation truncated to fit: R_ARM_CALL against symbol `llvm::createCFLAndersAAWrapperPass()' defined in .text._ZN4llvm28createCFLAndersAAWrapperPassEv section in /usr/obj/arm.armv6/usr/src/lib/clang/libllvm/libllvm.a(CFLAndersAliasAnalysis.o)
cc1_main.cpp:(.text._GLOBAL__sub_I_cc1_main.cpp+0xa8): relocation truncated to fit: R_ARM_CALL against symbol `llvm::createCFLSteensAAWrapperPass()' defined in .text._ZN4llvm28createCFLSteensAAWrapperPassEv section in /usr/obj/arm.armv6/usr/src/lib/clang/libllvm/libllvm.a(CFLSteensAliasAnalysis.o)
cc1_main.cpp:(.text._GLOBAL__sub_I_cc1_main.cpp+0x170): relocation truncated to fit: R_ARM_CALL against symbol `llvm::createGlobalsAAWrapperPass()' defined in .text._ZN4llvm26createGlobalsAAWrapperPassEv section in /usr/obj/arm.armv6/usr/src/lib/clang/libllvm/libllvm.a(GlobalsModRef.o)
cc1_main.cpp:(.text._GLOBAL__sub_I_cc1_main.cpp+0x1a0): additional relocation overflows omitted from the output

I have tried compiling it without CFLAGS+= -mlong-calls but still got the same error on /usr/src/usr.bin/clang/clang/Makefile while everything else was built successfully.

I was trying to cross compiling armv6 from i386 host.

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 17 (17 by maintainers)

Commits related to this issue

Most upvoted comments

Nice, thanks for the fix. Cloning git now to test it.