My first attempt to cross buildworld buildkernel amd64->powerpc64 via devel/llvm90 without involving devel/powerpc64-binutils (or other such) failed with:
--- gnu/lib/libssp/libssp_nonshared__PL --- /usr/local/llvm90/bin/llvm-ranlib: error: Exactly one archive should be specified. OVERVIEW: LLVM Ranlib (llvm-ranlib) This program generates an index to speed access to archives USAGE: llvm-ranlib <archive-file> OPTIONS: -help - Display available options -version - Display the version of this program *** [libssp_nonshared.a] Error code 1 make[4]: *** libssp_nonshared.a removed make[4]: stopped in /usr/src/gnu/lib/libssp/libssp_nonshared .ERROR_TARGET='libssp_nonshared.a' .ERROR_META_FILE='/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/src/powerpc.powerpc64/gnu/lib/libssp/libssp_nonshared/libssp_nonshared.a.meta' .MAKE.LEVEL='4' MAKEFILE='' .MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose' _ERROR_CMD='@echo building static ssp_nonshared library; @rm -f libssp_nonshared.a; /usr/local/llvm90/bin/llvm-ar -crD libssp_nonshared.a `NM='/usr/local/llvm90/bin/llvm-nm' NMFLAGS='' lorder ssp-local.o | tsort -q` ; /usr/local/llvm90/bin/llvm-ranlib -D libssp_nonshared.a;' .CURDIR='/usr/src/gnu/lib/libssp/libssp_nonshared' .MAKE='make' .OBJDIR='/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/src/powerpc.powerpc64/gnu/lib/libssp/libssp_nonshared' .TARGETS='all' DESTDIR='/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp' LD_LIBRARY_PATH='' MACHINE='powerpc' MACHINE_ARCH='powerpc64' MAKEOBJDIRPREFIX='' MAKESYSPATH='/usr/src/share/mk' MAKE_VERSION='20181221' PATH='/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/usr/sbin:/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/usr/bin:/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/legacy/usr/sbin:/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/legacy/usr/bin:/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/legacy/bin::/sbin:/bin:/usr/sbin:/usr/bin' SRCTOP='/usr/src' OBJTOP='/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc64/usr/src/powerpc.powerpc64' .MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk /root/src.configs/src.conf.powerpc64-xtoolchain-llvm.amd64-host /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/src.sys.obj.mk /usr/src/share/mk/auto.obj.mk /usr/src/share/mk/bsd.suffixes.mk /root/src.configs/make.conf /usr/src/share/mk/local.sys.mk /usr/src/share/mk/src.sys.mk /dev/null /usr/src/gnu/lib/libssp/libssp_nonshared/Makefile /usr/src/share/mk/bsd.lib.mk /usr/src/share/mk/bsd.init.mk /usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init.mk /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.linker.mk /usr/src/share/mk/bsd.linker.mk /usr/src/share/mk/bsd.libnames.mk /usr/src/share/mk/src.libnames.mk /usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.symver.mk /usr/src/share/mk/bsd.nls.mk /usr/src/share/mk/bsd.confs.mk /usr/src/share/mk/bsd.files.mk /usr/src/share/mk/bs d.dirs.mk /usr/src/share/mk/bsd.incs.mk /usr/src/share/mk/bsd.links.mk /usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk /usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.subdir.mk /usr/src/share/mk/bsd.sys.mk' .PATH='. /usr/src/gnu/lib/libssp/libssp_nonshared /usr/src/contrib/gcclibs/libssp /usr/src/contrib/gcclibs/libssp/ssp' 1 error This was based on head -r351102 trying to cross-build itself and on using: # more ~/src.configs/src.conf.powerpc64-xtoolchain-llvm.amd64-host TO_TYPE=powerpc64 LLVM_VINTAGE=llvm90 # KERNCONF=GENERIC64vtsc-NODBG TARGET=powerpc .if ${.MAKE.LEVEL} == 0 TARGET_ARCH=${TO_TYPE} .export TARGET_ARCH .endif # WITHOUT_CROSS_COMPILER= WITHOUT_SYSTEM_COMPILER= WITHOUT_SYSTEM_LINKER= # WITH_LLVM_LIBUNWIND= WITH_LIBCPLUSPLUS= WITHOUT_LLD_BOOTSTRAP= WITHOUT_BINUTILS_BOOTSTRAP= WITHOUT_ELFTOOLCHAIN_BOOTSTRAP= WITHOUT_LLVM_TARGET_ALL= WITHOUT_CLANG_BOOTSTRAP= WITH_CLANG= WITH_CLANG_IS_CC= WITH_CLANG_FULL= WITH_CLANG_EXTRAS= WITH_LLD= WITH_LLD_IS_LD= WITHOUT_BINUTILS= WITHOUT_PORT_BASE_BINUTILS= WITH_LLDB= # WITH_BOOT= WITH_LIB32= # LOADER_DEFAULT_INTERP=4th # WITHOUT_GCC_BOOTSTRAP= WITHOUT_GCC= WITHOUT_GCC_IS_CC= WITHOUT_GNUCXX= # NO_WERROR= # # Avoid build aborting for the likes of, for example, # sign mismatch errors for integer types. Avoids: # [-Werror,-Wpointer-sign] # WERROR= MALLOC_PRODUCTION= # # Avoid stripping but do not control host -g status as well: DEBUG_FLAGS+= # WITH_REPRODUCIBLE_BUILD= WITH_DEBUG_FILES= # # # For TO (so-called "cross") stages . . . # CROSS_TOOLCHAIN=${LLVM_VINTAGE} #X_COMPILER_TYPE=clang CROSS_BINUTILS_PREFIX=/usr/local/${LLVM_VINTAGE}/bin/ .if ${.MAKE.LEVEL} == 0 XCC=/usr/local/bin/clang90 XCXX=/usr/local/bin/clang++90 XCPP=/usr/local/bin/clang-cpp90 .export XCC .export XCXX .export XCPP XAS=/usr/local/${LLVM_VINTAGE}/bin/llvm-as XAR=/usr/local/${LLVM_VINTAGE}/bin/llvm-ar XLD=/usr/local/${LLVM_VINTAGE}/bin/ld XNM=/usr/local/${LLVM_VINTAGE}/bin/llvm-nm XOBJCOPY=/usr/local/${LLVM_VINTAGE}/bin/llvm-objcopy XOBJDUMP=/usr/local/${LLVM_VINTAGE}/bin/llvm-objdump XRANLIB=/usr/local/${LLVM_VINTAGE}/bin/llvm-ranlib XSIZE=/usr/local/${LLVM_VINTAGE}/bin/llvm-size XSTRINGS=/usr/local/${LLVM_VINTAGE}/bin/llvm-strings .export XAS .export XAR .export XLD .export XNM .export XOBJCOPY .export XOBJDUMP .export XRANLIB .export XSIZE .export XSTRINGS .endif # # # From based on clang (via system). . . # .if ${.MAKE.LEVEL} == 0 CC=/usr/bin/clang CXX=/usr/bin/clang++ CPP=/usr/bin/clang-cpp .export CC .export CXX .export CPP .endif It may well be that the use of some of llvm-as, llvm-ar, llvm-nm, llvm-objcopy, llvm-objdump, llvm-ranlib, llvm-size, and llvm-strings is not intended. But I've not seen a description of the intent. (My build with devel/powerpc64-binutils involved completed just fine.) For reference, devel/llvm90 here is based on ports head -r509054 providing rc2 of llvm90. === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar) _______________________________________________ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"