32-bit powerpc: gcc8 unable to build devel/llvm80, for example: crtstuff.c:(.text+0x13c): relocation truncated to fit: R_PPC_PLTREL24 against symbol `__cxa_finalize@@FBSD_1.0'

Mark Millard marklmi at yahoo.com
Sun Mar 10 19:17:56 UTC 2019


My ports-mgmt/pouriere-devel based build attempt for building devel/llvm80 failed
with:

[00:01:11] [01] [00:00:00] Building devel/llvm80 | llvm80-8.0.0.r3
[04:30:47] [01] [04:29:36] Saved devel/llvm80 | llvm80-8.0.0.r3 wrkdir to: /usr/local/poudriere/data/wrkdirs/FBSDpowerpc-default/default/llvm80-8.0.0.r3.tbz
[04:30:47] [01] [04:29:36] Finished devel/llvm80 | llvm80-8.0.0.r3: Failed: build
[04:31:10] [01] [04:29:59] Skipping devel/xtoolchain-llvm80 | xtoolchain-llvm80-0.1: Dependent port devel/llvm80 | llvm80-8.0.0.r3 failed
[04:31:11] Stopping 2 builders

The log shows:

/usr/local/lib/gcc8/gcc/powerpc-portbld-freebsd13.0/8.3.0/crtbeginS.o: in function `__do_global_dtors_aux':
crtstuff.c:(.text+0x13c): relocation truncated to fit: R_PPC_PLTREL24 against symbol `__cxa_finalize@@FBSD_1.0' defined in .text section in /lib/libc.so.7
tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndex.cpp.o: in function `llvm::object_deleter<(anonymous namespace)::RegisterFatalErrorHandler>::call(void*)':
CIndex.cpp:(.text._ZN4llvm14object_deleterIN12_GLOBAL__N_125RegisterFatalErrorHandlerEE4callEPv+0x0): relocation truncated to fit: R_PPC_PLTREL24 against symbol `operator delete(void*)@@GLIBCXX_3.4' defined in .text section in /usr/local/lib/gcc8/libstdc++.so
tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndex.cpp.o: in function `llvm::CrashRecoveryContextDeleteCleanup<std::vector<char const*, std::allocator<char const*> > >::recoverResources()':
CIndex.cpp:(.text._ZN4llvm33CrashRecoveryContextDeleteCleanupISt6vectorIPKcSaIS3_EEE16recoverResourcesEv[_ZN4llvm33CrashRecoveryContextDeleteCleanupISt6vectorIPKcSaIS3_EEE16recoverResourcesEv]+0x28): relocation truncated to fit: R_PPC_PLTREL24 against symbol `operator delete(void*)@@GLIBCXX_3.4' defined in .text section in /usr/local/lib/gcc8/libstdc++.so
CIndex.cpp:(.text._ZN4llvm33CrashRecoveryContextDeleteCleanupISt6vectorIPKcSaIS3_EEE16recoverResourcesEv[_ZN4llvm33CrashRecoveryContextDeleteCleanupISt6vectorIPKcSaIS3_EEE16recoverResourcesEv]+0x40): relocation truncated to fit: R_PPC_PLTREL24 against symbol `operator delete(void*)@@GLIBCXX_3.4' defined in .text section in /usr/local/lib/gcc8/libstdc++.so
tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndex.cpp.o: in function `std::_Sp_counted_ptr_inplace<clang::PCHContainerOperations, std::allocator<clang::PCHContainerOperations>, (__gnu_cxx::_Lock_policy)2>::~_Sp_counted_ptr_inplace()':
CIndex.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev[_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED5Ev]+0x0): relocation truncated to fit: R_PPC_PLTREL24 against symbol `operator delete(void*)@@GLIBCXX_3.4' defined in .text section in /usr/local/lib/gcc8/libstdc++.so
tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndex.cpp.o: in function `std::_Sp_counted_ptr_inplace<clang::PCHContainerOperations, std::allocator<clang::PCHContainerOperations>, (__gnu_cxx::_Lock_policy)2>::_M_destroy()':
CIndex.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv[_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv]+0x0): relocation truncated to fit: R_PPC_PLTREL24 against symbol `operator delete(void*)@@GLIBCXX_3.4' defined in .text section in /usr/local/lib/gcc8/libstdc++.so
tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndex.cpp.o: in function `llvm::object_creator<(anonymous namespace)::RegisterFatalErrorHandler>::call()':
CIndex.cpp:(.text._ZN4llvm14object_creatorIN12_GLOBAL__N_125RegisterFatalErrorHandlerEE4callEv+0x2c): relocation truncated to fit: R_PPC_PLTREL24 against symbol `operator new(unsigned int)@@GLIBCXX_3.4' defined in .text section in /usr/local/lib/gcc8/libstdc++.so
CIndex.cpp:(.text._ZN4llvm14object_creatorIN12_GLOBAL__N_125RegisterFatalErrorHandlerEE4callEv+0x3c): relocation truncated to fit: R_PPC_PLTREL24 against symbol `llvm::install_fatal_error_handler(void (*)(void*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool), void*)@@LLVM_8' defined in .text section in lib/libLLVM-8.so
tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndex.cpp.o: in function `fatal_error_handler(void*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)':
CIndex.cpp:(.text._ZL19fatal_error_handlerPvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb+0x38): relocation truncated to fit: R_PPC_PLTREL24 against symbol `fprintf@@FBSD_1.0' defined in .text section in /lib/libc.so.7
CIndex.cpp:(.text._ZL19fatal_error_handlerPvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb+0x3c): relocation truncated to fit: R_PPC_PLTREL24 against symbol `abort@@FBSD_1.0' defined in .text section in /lib/libc.so.7
tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndex.cpp.o: in function `std::_Sp_counted_ptr_inplace<clang::PCHContainerOperations, std::allocator<clang::PCHContainerOperations>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)':
CIndex.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info[_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info]+0x5c): additional relocation overflows omitted from the output
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/llvm80
=>> Cleaning up wrkdir


Context:

# uname -apKU
FreeBSD FBSDG4S 13.0-CURRENT FreeBSD 13.0-CURRENT #14 r344955M: Fri Mar  8 22:39:44 PST 2019     markmi at FBSDFSSD:/usr/obj/powerpcvtsc_clang_gcc421/powerpc.powerpc/usr/src/powerpc.powerpc/sys/GENERICvtsc-NODBG  powerpc powerpc 1300014 1300014

(The 32-bit powerpc is running a gcc 4.2.1 based system. amd64 system-clang built the
bootstrap gcc 4.2.1 toolchain, which in turn built the system. The 32-bit FreeBSD was
running on  a PowerMac G5 [2-sockets, 2 cores each].)

# svnlite info /usr/ports/ | grep 'Re[plv]'
Relative URL: ^/head
Repository Root: svn://svn0.us-west.freebsd.org/ports
Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
Revision: 495006
Last Changed Rev: 495006


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-ports mailing list