[The powerpc64 self-hosted buildworld failure is for undefined references to llvm::sys::CompareAndSwap and llvm::sys::MemoryFence. See later below.]
I cross built TARGET_ARCH=powerpc64 head -r309179 via . . . (has workaround matching -r309201 and my PowerMac G5 booting hack) buildworld via clang 3.9.0 and it using powerpc64-binutils buildkernel via powerpc-xtoolchain-gcc (and so powerpc64-binutils) and installed and booted the combination: > # uname -apKU > FreeBSD FBSDG5L 12.0-CURRENT FreeBSD 12.0-CURRENT #1 r309179M: Mon Nov 28 > 01:23:26 PST 2016 > markmi@FreeBSDx64:/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/sys/GENERIC64vtsc-NODBG > powerpc powerpc64 1200017 1200017 > # clang --version > FreeBSD clang version 3.9.0 (tags/RELEASE_390/final 280324) (based on LLVM > 3.9.0) > Target: powerpc64-unknown-freebsd12.0 > Thread model: posix > InstalledDir: /usr/bin I then attempted a self-hosted buildworld but it failed with: > Building > /usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/usr/src/usr.bin/clang/clang-tblgen/clang-tblgen.full > --- clang-tblgen.full --- > /usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/usr/src/lib/clang/libllvmminimal/libllvmminimal.a(ManagedStatic.o): > In function `getManagedStaticMutex()': > /usr/src/contrib/llvm/lib/Support/ManagedStatic.cpp:(.text+0x1c4): undefined > reference to `llvm::sys::CompareAndSwap(unsigned int volatile*, unsigned int, > unsigned int)' > /usr/src/contrib/llvm/lib/Support/ManagedStatic.cpp:(.text+0x1d8): undefined > reference to `llvm::sys::MemoryFence()' > /usr/src/contrib/llvm/lib/Support/ManagedStatic.cpp:(.text+0x220): undefined > reference to `llvm::sys::MemoryFence()' > clang++: error: linker command failed with exit code 1 (use -v to see > invocation) > *** [clang-tblgen.full] Error code 1 > > make[3]: stopped in /usr/src/usr.bin/clang/clang-tblgen > .ERROR_TARGET='clang-tblgen.full' > .ERROR_META_FILE='/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/usr/src/usr.bin/clang/clang-tblgen/clang-tblgen.full.meta' > .MAKE.LEVEL='3' > MAKEFILE='' > .MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose' > .CURDIR='/usr/src/usr.bin/clang/clang-tblgen' > .MAKE='make' > .OBJDIR='/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/usr/src/usr.bin/clang/clang-tblgen' > .TARGETS='all' > DESTDIR='' > LD_LIBRARY_PATH='' > MACHINE='powerpc' > MACHINE_ARCH='powerpc64' > MAKEOBJDIRPREFIX='/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp' > MAKESYSPATH='/usr/src/share/mk' > MAKE_VERSION='20160818' > PATH='/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/legacy/usr/sbin:/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/legacy/usr/bin:/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/legacy/bin:/sbin:/bin:/usr/sbin:/usr/bin' > SRCTOP='/usr/src' > OBJTOP='/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/usr/src' > .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-clang_altbinutils-bootstrap.powerpc64-host > /usr/src/share/mk/bsd.mkopt.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/usr.bin/clang/clang-tblgen/Makefile > /usr/src/usr.bin/clang/llvm.prog.mk /usr/src/lib/clang/llvm.pre.mk > /usr/src/lib/clang/llvm.build.mk /usr/src/tools/build/mk/bsd.prog.mk > /usr/src/share/mk/bsd.prog.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/usr.bin/clang/clang-tblgen/../Makefile.inc > /usr/src/usr.bin/clang/clang-tblgen/../../Makefile.inc > /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.compiler.mk > /usr/src/share/mk/bsd.compiler.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.nls.mk /usr/src/share/mk/bsd.confs.mk /usr/src/share/mk/bsd.files.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 /usr/src/tools/build/mk/Makefile.boot' > .PATH='. /usr/src/usr.bin/clang/clang-tblgen > /usr/src/contrib/llvm/tools/clang/utils/TableGen' > 1 error . . . > # less > /usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/usr/src/usr.bin/clang/clang-tblgen/clang-tblgen.full.meta > # Meta data file > /usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/usr/src/usr.bin/clang/clang-tblgen/clang-tblgen.full.meta > CMD /usr/bin/clang++ -B /usr/local/powerpc64-freebsd/bin/ -O2 -pipe > -I/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/usr/src/lib/clang/libllvm > -I/usr/src/lib/clang/include -I/usr/src/contrib/llvm/include -DLLVM_ON_UNIX > -DLLVM_ON_FREEBSD -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS > -DLLVM_DEFAULT_TARGET_TRIPLE=\"powerpc64-unknown-freebsd12.0\" > -DLLVM_HOST_TRIPLE=\"powerpc64-unknown-freebsd12.0\" > -DDEFAULT_SYSROOT=\"/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp\" > -g -Qunused-arguments > -I/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/legacy/usr/include > -std=c++11 -fno-exceptions -fno-rtti -stdlib=libc++ -Wno-c++11-extensions > -static > -L/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/legacy/usr/lib > -o clang-tblgen.full ClangASTNodesEmitter.o ClangAttrEmitter.o > ClangCommentCommandInfoEmitter.o > ClangCommentHTMLNamedCharacterReferenceEmitter.o ClangCommentHTMLTagsEmit ter.o ClangDiagnosticsEmitter.o ClangSACheckersEmitter.o NeonEmitter.o TableGen.o /usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/usr/src/lib/clang/libllvmminimal/libllvmminimal.a -lncursesw -lpthread -legacy > CWD > /usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/usr/src/usr.bin/clang/clang-tblgen > TARGET clang-tblgen.full > -- command output -- > /usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tmp/usr/src/lib/clang/libllvmminimal/libllvmminimal.a(ManagedStatic.o): > In function `getManagedStaticMutex()': > /usr/src/contrib/llvm/lib/Support/ManagedStatic.cpp:(.text+0x1c4): undefined > reference to `llvm::sys::CompareAndSwap(unsigned int volatile*, unsigned int, > unsigned int)' > /usr/src/contrib/llvm/lib/Support/ManagedStatic.cpp:(.text+0x1d8): undefined > reference to `llvm::sys::MemoryFence()' > /usr/src/contrib/llvm/lib/Support/ManagedStatic.cpp:(.text+0x220): undefined > reference to `llvm::sys::MemoryFence()' > clang++: error: linker command failed with exit code 1 (use -v to see > invocation) > *** Error code 1 . . . > # svnlite info /usr/src/ | grep "Re[lpv]" > Relative URL: ^/head > Repository Root: https://svn0.us-west.freebsd.org/base > Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f > Revision: 309179 > Last Changed Rev: 309179 === Mark Millard markmi at dsl-only.net _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "[email protected]"
