Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Nov 2016 11:05:48 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 214902] head -r309179 buildworld on powerpc64 via clang 3.9.0: llvm::sys::CompareAndSwap and llvm::sys::MemoryFence undefined so build stops
Message-ID:  <bug-214902-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D214902

            Bug ID: 214902
           Summary: head -r309179 buildworld on powerpc64 via clang 3.9.0:
                    llvm::sys::CompareAndSwap and llvm::sys::MemoryFence
                    undefined so build stops
           Product: Base System
           Version: CURRENT
          Hardware: powerpc
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: markmi@dsl-only.net

[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=20=20=20=20
markmi@FreeBSDx64:/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc6=
4/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/tm=
p/usr/src/usr.bin/clang/clang-tblgen/clang-tblgen.full
--- clang-tblgen.full ---
/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tm=
p/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 in=
t,
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=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.full.=
meta'
.MAKE.LEVEL=3D'3'
MAKEFILE=3D''
.MAKE.MODE=3D'meta missing-filemon=3Dyes missing-meta=3Dyes silent=3Dyes ve=
rbose'
.CURDIR=3D'/usr/src/usr.bin/clang/clang-tblgen'
.MAKE=3D'make'
.OBJDIR=3D'/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64=
/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/us=
r/src/tmp/legacy/usr/sbin:/usr/obj/powerpc64vtsc_clang_altbinutils_world/po=
werpc.powerpc64/usr/src/tmp/legacy/usr/bin:/usr/obj/powerpc64vtsc_clang_alt=
binutils_world/powerpc.powerpc64/usr/src/tmp/legacy/bin:/sbin:/bin:/usr/sbi=
n:/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/tm=
p/usr/src/usr.bin/clang/clang-tblgen/clang-tblgen.full.meta
# Meta data file
/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tm=
p/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/powerp=
c.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-extensio=
ns=20
-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 ClangCommentHTMLTagsEmitte=
r.o
ClangDiagnosticsEmitter.o ClangSACheckersEmitter.o NeonEmitter.o TableGen.o
/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tm=
p/usr/src/lib/clang/libllvmminimal/libllvmminimal.a
 -lncursesw  -lpthread -legacy
CWD
/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tm=
p/usr/src/usr.bin/clang/clang-tblgen
TARGET clang-tblgen.full
-- command output --
/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64/usr/src/tm=
p/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 in=
t,
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

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-214902-8>