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.)
> 
> 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.)
> 
> . . .
> 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 
> -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 
> -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_summary21simple_hashmap_traitsI19default_hash_traitsIS2
> _ES4_EE10hash_entryE11xcallocatorE19find_slot_with_hashERKij13insert_option' 
> 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_traitsI19default_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_summary21simple_hashmap_traitsI19default_hash_traitsIS2
> _ES4_EE10hash_entryE11xcallocatorE19find_slot_with_hashERKij13insert_option' 
> 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_traitsI19default_hash_traitsIS2_ES4_EE10hash_entryE11xcallocatorE19find_slot_with_hashERKij13insert_option'
>  extern
> . . .
> 
> 
> For reference . . .
> 
> # 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
> 
> # 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
> 
> # ld -v
> GNU ld (GNU Binutils) 2.32
> 
> 
> I used:
> 
> # svnlite diff /usr/ports/lang/gcc8/ | more
> Index: /usr/ports/lang/gcc8/Makefile
> ===================================================================
> --- /usr/ports/lang/gcc8/Makefile       (revision 501994)
> +++ /usr/ports/lang/gcc8/Makefile       (working copy)
> @@ -62,7 +62,7 @@
> 
> .elif ${ARCH} == powerpc64
> CONFIGURE_ENV+=        UNAME_m="powerpc64"
> -MAKE_ARGS+=    CFLAGS_FOR_TARGET="-O1" CXXFLAGS_FOR_TARGET="-O1" 
> BOOT_CFLAGS="-O1" # PR235975
> +#MAKE_ARGS+=   CFLAGS_FOR_TARGET="-O1" CXXFLAGS_FOR_TARGET="-O1" 
> BOOT_CFLAGS="-O1" # PR235975
> 
> .elif ${ARCH} == powerpcspe
> CONFIGURE_ARGS+=       --with-cpu=8548 --enable-e500_double --without-fp
> @@ -80,7 +80,7 @@
> CONFIGURE_ARGS+=--with-build-config=bootstrap-debug
> ALL_TARGET=    bootstrap-lean
> .endif
> -INSTALL_TARGET=        install-strip
> +#INSTALL_TARGET=       install-strip
> .if ${UID} != 0
> BINMODE=       755
> .endif
> 

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.


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

_______________________________________________
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to