From owner-freebsd-toolchain@freebsd.org Mon Nov 28 11:02:27 2016 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 34CFDC594ED for ; Mon, 28 Nov 2016 11:02:27 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-35.reflexion.net [208.70.210.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EE1A4135E for ; Mon, 28 Nov 2016 11:02:26 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 9882 invoked from network); 28 Nov 2016 11:02:05 -0000 Received: from unknown (HELO mail-cs-01.app.dca.reflexion.local) (10.81.19.1) by 0 (rfx-qmail) with SMTP; 28 Nov 2016 11:02:05 -0000 Received: by mail-cs-01.app.dca.reflexion.local (Reflexion email security v8.20.0) with SMTP; Mon, 28 Nov 2016 06:02:31 -0500 (EST) Received: (qmail 15091 invoked from network); 28 Nov 2016 11:02:30 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 28 Nov 2016 11:02:30 -0000 Received: from [192.168.1.106] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id 8C376EC7B39; Mon, 28 Nov 2016 03:02:19 -0800 (PST) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.1 \(3251\)) Subject: Cross built head -r309179 TARGET_ARCH=powerpc64 with clang 3.9.0/powerpc64-binutils based buildworld operates; but fails "self-hosted buildworld" for undefined references Message-Id: <0BC8D9FA-2822-41CA-8CAE-89DCF9C4918F@dsl-only.net> Date: Mon, 28 Nov 2016 03:02:18 -0800 Cc: Dimitry Andric , Ed Maste , Justin Hibbits , Nathan Whitehorn To: FreeBSD Toolchain , FreeBSD PowerPC ML X-Mailer: Apple Mail (2.3251) X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Nov 2016 11:02:27 -0000 [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=3Dpowerpc64 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.powerpc= 64/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/t= mp/usr/src/usr.bin/clang/clang-tblgen/clang-tblgen.full > --- clang-tblgen.full --- > = /usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/t= mp/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 >=20 > make[3]: stopped in /usr/src/usr.bin/clang/clang-tblgen > .ERROR_TARGET=3D'clang-tblgen.full' > = .ERROR_META_FILE=3D'/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc= .powerpc64/usr/src/tmp/usr/src/usr.bin/clang/clang-tblgen/clang-tblgen.ful= l.meta' > .MAKE.LEVEL=3D'3' > MAKEFILE=3D'' > .MAKE.MODE=3D'meta missing-filemon=3Dyes missing-meta=3Dyes silent=3Dyes= verbose' > .CURDIR=3D'/usr/src/usr.bin/clang/clang-tblgen' > .MAKE=3D'make' > = .OBJDIR=3D'/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc6= 4/usr/src/tmp/usr/src/usr.bin/clang/clang-tblgen' > .TARGETS=3D'all' > DESTDIR=3D'' > LD_LIBRARY_PATH=3D'' > MACHINE=3D'powerpc' > MACHINE_ARCH=3D'powerpc64' > = MAKEOBJDIRPREFIX=3D'/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc= .powerpc64/usr/src/tmp' > MAKESYSPATH=3D'/usr/src/share/mk' > MAKE_VERSION=3D'20160818' > = PATH=3D'/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/u= sr/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=3D'/usr/src' > = OBJTOP=3D'/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64= /usr/src/tmp/usr/src' > .MAKE.MAKEFILES=3D'/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=3D'. /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/t= mp/usr/src/usr.bin/clang/clang-tblgen/clang-tblgen.full.meta > # Meta data file = /usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/t= mp/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=3D\"powerpc64-unknown-freebsd12.0\" = -DLLVM_HOST_TRIPLE=3D\"powerpc64-unknown-freebsd12.0\" = -DDEFAULT_SYSROOT=3D\"/usr/obj/powerpc64vtsc_clang_altbinutils_world/power= pc.powerpc64/usr/src/tmp\" -g -Qunused-arguments = -I/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src= /tmp/legacy/usr/include -std=3Dc++11 -fno-exceptions -fno-rtti = -stdlib=3Dlibc++ -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 = ClangCommentHTMLTagsEmitter.o ClangDiagnosticsEmitter.o = ClangSACheckersEmitter.o NeonEmitter.o TableGen.o = /usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/t= mp/usr/src/lib/clang/libllvmminimal/libllvmminimal.a -lncursesw = -lpthread -legacy > CWD = /usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/t= mp/usr/src/usr.bin/clang/clang-tblgen > TARGET clang-tblgen.full > -- command output -- > = /usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/t= mp/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 =3D=3D=3D Mark Millard markmi at dsl-only.net