From owner-freebsd-toolchain@freebsd.org Sat Dec 3 03:38:54 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 1B414C630BE for ; Sat, 3 Dec 2016 03:38:54 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Received: from mail-oi0-x22d.google.com (mail-oi0-x22d.google.com [IPv6:2607:f8b0:4003:c06::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DB6AB11F9 for ; Sat, 3 Dec 2016 03:38:53 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Received: by mail-oi0-x22d.google.com with SMTP id w63so287752216oiw.0 for ; Fri, 02 Dec 2016 19:38:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kev009.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Eu9VsKR39yHDor3NA0BIEWLf/cyMmlux4d0ACooSo+8=; b=DojDAE4uoOQy/AEcxp3OU4qynRsT8PWDJpHVT/JpREM/G8/OmB06yQ49LpQqYn1Uye y3CXdhu7bNYQXKsogHPxmF1Q63t2iTfFxvEXyjn+QkpV3naUQiCRq0/y0PV16/jcHl98 wzKijJOKbi/fqX7PxFsEeNyvAmznCAPz3c+oI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Eu9VsKR39yHDor3NA0BIEWLf/cyMmlux4d0ACooSo+8=; b=Ir2tGPT4X+Xmj0kFcbxmUhHrqnyU/sOQeDAUE6pwPGbpSZ311dGN7ykffBogWLA1pY Wn603RfoF4A8MMz8gIYTROFmOgpJQIzRalABHs6lKLFdJ6+Ch6TyVFuoTgKFA2HZ4k2O PCTQ0WCprZ2dwhksk7HAxLKlNNjVDy8F76IkVHIERitfMUuRkiHkMnBJ0jyu1TCxIQs6 YXZjsQ7JaQQ7E13vciZdeGbPouaRR2vD1YzwZ0zI5fPVXVSOvRv3YDt+BqsrftYiYS8C n+19SmtEc6Uejkpa/bPqrvIXark5/0D2Xze8S1xPs55qDkDTyfhvvxwnyQS3ggd5T/kT DzGQ== X-Gm-Message-State: AKaTC01W6mUYJZfCMOAW4iWsjkZzl9Ahfvvj8vSfKfbFlkSEmE7gs1lUVTQ3FFVFxWNgWSfXGvEDrSv+L+DIMg== X-Received: by 10.157.7.38 with SMTP id 35mr27608424ote.87.1480736332812; Fri, 02 Dec 2016 19:38:52 -0800 (PST) MIME-Version: 1.0 Received: by 10.157.50.228 with HTTP; Fri, 2 Dec 2016 19:38:52 -0800 (PST) In-Reply-To: <0BC8D9FA-2822-41CA-8CAE-89DCF9C4918F@dsl-only.net> References: <0BC8D9FA-2822-41CA-8CAE-89DCF9C4918F@dsl-only.net> From: Kevin Bowling Date: Fri, 2 Dec 2016 20:38:52 -0700 Message-ID: Subject: Re: 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 To: Mark Millard Cc: FreeBSD Toolchain , FreeBSD PowerPC ML , Dimitry Andric , Justin Hibbits Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 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: Sat, 03 Dec 2016 03:38:54 -0000 Interesting, that is quite a lot of progress if it boots with a crossbuild. I wonder if editing /usr/src/contrib/llvm/lib/Support/Atomic.cpp so the GNU_ATOMICS path is taken will work around these errors until someone more knowledgeable can comment. On Mon, Nov 28, 2016 at 4:02 AM, Mark Millard wrote: > [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 > > _______________________________________________ > freebsd-ppc@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-ppc > To unsubscribe, send any mail to "freebsd-ppc-unsubscribe@freebsd.org" >