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 via freebsd-toolchain <[email protected]>
Newsgroups gmane.os.freebsd.devel.toolchain,gmane.os.freebsd.devel.ports,gmane.os.freebsd.devel.ppc
Message-ID <[email protected]>
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@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)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.