Date: Sat, 18 May 2019 21:42:32 -0700 From: Mark Millard <marklmi@yahoo.com> To: FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, "gerald@freebsd.org" <gerald@FreeBSD.org> Cc: ports-list freebsd <freebsd-ports@freebsd.org> Subject: Re: FYI: Unable to build -r501994 ports' lang/gcc8 on clang 8 based powerpc64 system (no -O1 use): "does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or ..." Message-ID: <489849A2-9425-4BD9-8D4F-ACE9ECB6CDA7@yahoo.com> In-Reply-To: <D50B8528-6BCB-4EC6-9E34-E901E7036CDF@yahoo.com> References: <D50B8528-6BCB-4EC6-9E34-E901E7036CDF@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2019-May-18, at 21:11, Mark Millard <marklmi at yahoo.com> wrote: > This was in a poudriere bulk build on a head -r347549 based powerpc64 > system with system clang 8 for cc and c++ and base/binutils > for ld. I was attempting a build with the -O1 changes disabled. (Note: > the system is self hosting for buildworld buildkernel via the clang 8 > and base/binutils combination.) >=20 > So having issues with building lang/gcc8 is not limited to gcc = 4.2.1's > tool chain for powerpc64. (I've not yet tested -O1 use as the bulk = build > still has lots of other things to build.) >=20 > . . . > c++: warning: argument unused during compilation: '-nopie' = [-Wunused-command-line-argument] > /usr/bin/ld: libbackend.a(ipa-inline.o)(.text+0x540): sibling call = optimization to = `_ZN16function_summaryIP14ipa_fn_summaryE3getEP11cgraph_node' does not = allow automatic multiple TOCs; recompile with=20 > -mminimal-toc or -fno-optimize-sibling-calls, or make = `_ZN16function_summaryIP14ipa_fn_summaryE3getEP11cgraph_node' extern > /usr/bin/ld: libbackend.a(ipa-inline.o)(.text+0xa58): sibling call = optimization to = `_ZN16function_summaryIP14ipa_fn_summaryE3getEP11cgraph_node' does not = allow automatic multiple TOCs; recompile with=20 > -mminimal-toc or -fno-optimize-sibling-calls, or make = `_ZN16function_summaryIP14ipa_fn_summaryE3getEP11cgraph_node' extern > . . . > /usr/bin/ld: libbackend.a(ipa-inline.o)(.text+0x1150): sibling call = optimization to = `_ZN10hash_tableIN8hash_mapI8int_hashIiLi0ELin1EEP16ipa_call_summary21simp= le_hashmap_traitsI19default_hash_traitsIS2 > = _ES4_EE10hash_entryE11xcallocatorE19find_slot_with_hashERKij13insert_optio= n' does not allow automatic multiple TOCs; recompile with -mminimal-toc = or -fno-optimize-sibling-calls, or make `_ZN10hash_tab > = leIN8hash_mapI8int_hashIiLi0ELin1EEP16ipa_call_summary21simple_hashmap_tra= itsI19default_hash_traitsIS2_ES4_EE10hash_entryE11xcallocatorE19find_slot_= with_hashERKij13insert_option' extern > /usr/bin/ld: libbackend.a(ipa-inline.o)(.text+0x1224): sibling call = optimization to = `_ZN10hash_tableIN8hash_mapI8int_hashIiLi0ELin1EEP16ipa_call_summary21simp= le_hashmap_traitsI19default_hash_traitsIS2 > = _ES4_EE10hash_entryE11xcallocatorE19find_slot_with_hashERKij13insert_optio= n' does not allow automatic multiple TOCs; recompile with -mminimal-toc = or -fno-optimize-sibling-calls, or make `_ZN10hash_tab > = leIN8hash_mapI8int_hashIiLi0ELin1EEP16ipa_call_summary21simple_hashmap_tra= itsI19default_hash_traitsIS2_ES4_EE10hash_entryE11xcallocatorE19find_slot_= with_hashERKij13insert_option' extern > . . . >=20 >=20 > For reference . . . >=20 > # cc -v > FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on = LLVM 8.0.0) > Target: powerpc64-unknown-freebsd13.0 > Thread model: posix > InstalledDir: /usr/bin >=20 > # c++ -v > FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on = LLVM 8.0.0) > Target: powerpc64-unknown-freebsd13.0 > Thread model: posix > InstalledDir: /usr/bin >=20 > # ld -v > GNU ld (GNU Binutils) 2.32 >=20 >=20 > I used: >=20 > # svnlite diff /usr/ports/lang/gcc8/ | more > Index: /usr/ports/lang/gcc8/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- /usr/ports/lang/gcc8/Makefile (revision 501994) > +++ /usr/ports/lang/gcc8/Makefile (working copy) > @@ -62,7 +62,7 @@ >=20 > .elif ${ARCH} =3D=3D powerpc64 > CONFIGURE_ENV+=3D UNAME_m=3D"powerpc64" > -MAKE_ARGS+=3D CFLAGS_FOR_TARGET=3D"-O1" CXXFLAGS_FOR_TARGET=3D"-O1" = BOOT_CFLAGS=3D"-O1" # PR235975 > +#MAKE_ARGS+=3D CFLAGS_FOR_TARGET=3D"-O1" CXXFLAGS_FOR_TARGET=3D"-O1" = BOOT_CFLAGS=3D"-O1" # PR235975 >=20 > .elif ${ARCH} =3D=3D powerpcspe > CONFIGURE_ARGS+=3D --with-cpu=3D8548 --enable-e500_double = --without-fp > @@ -80,7 +80,7 @@ > CONFIGURE_ARGS+=3D--with-build-config=3Dbootstrap-debug > ALL_TARGET=3D bootstrap-lean > .endif > -INSTALL_TARGET=3D install-strip > +#INSTALL_TARGET=3D install-strip > .if ${UID} !=3D 0 > BINMODE=3D 755 > .endif >=20 I managed to not have poudriere using base/binutils but instead: # = /usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils-poud/usr/bin/ld= -v GNU ld 2.17.50 [FreeBSD] 2007-07-03 cc and c++ were as they should have been: # = /usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils-poud/usr/bin/cc= -v FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on = LLVM 8.0.0) Target: powerpc64-unknown-freebsd13.0 Thread model: posix InstalledDir: = /usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils-poud/usr/bin # = /usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils-poud/usr/bin/c+= + -v FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on = LLVM 8.0.0) Target: powerpc64-unknown-freebsd13.0 Thread model: posix InstalledDir: = /usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils-poud/usr/bin So I was not testing the tools combination that I thought/intended. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?489849A2-9425-4BD9-8D4F-ACE9ECB6CDA7>