powerpc64-xtoolchain-gcc gets ". . . include/c++/v1/utility:284:28: error: use of deleted function . . ." (llvm-cov 3.6.1's CodeCoverage.cpp)
Mark Millard
markmi at dsl-only.net
Sun Oct 11 20:03:00 UTC 2015
For a amd64 11.0 context doing
make -j 6 CROSS_TOOLCHAIN=powerpc64-gcc \
-DWITH_GCC -DWITH_GCC_BOOTSTRAP -DWITH_GNUCXX \
-DWITHCLANG -DWITHOUT_CLANG_BOOTSTRAP -DWITH_CLANG_FULL -DWITHOUT_CLANG_IS_CC \
-DWITH_CLANG_EXTRAS -DWITH_LLDB \
-DWITHOUT_BOOT -DWITHOUT_LIB32 \
buildworld buildkernel KERNCONF=GENERIC64-NODBG \
TARGET=powerpc TARGET_ARCH=powerpc64
the results are the following:
[The clang/lldb being built is still V3.6.1 based for this context. Overall environment
context details are given later. But I will note here that powerpc64-xtoolchain-gcc/powerpc64-gcc
is based on gcc5.2 these days.]
In file included from /usr/obj/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/algorithm:627:0,
from /usr/src/usr.bin/clang/llvm-cov/../../../contrib/llvm/include/llvm/ADT/StringRef.h:13,
from /usr/src/usr.bin/clang/llvm-cov/../../../contrib/llvm/include/llvm/Support/raw_ostream.h:17,
from /usr/src/usr.bin/clang/llvm-cov/../../../contrib/llvm/tools/llvm-cov/RenderingSupport.h:13,
from /usr/src/usr.bin/clang/llvm-cov/../../../contrib/llvm/tools/llvm-cov/CodeCoverage.cpp:16:
/usr/obj/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/utility: In instantiation of 'std::__1::pair<_T1, _T2>::pair(const std::__1::pair<_T1, _T2>&) [with _T1 = std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >; _T2 = std::__1::unique_ptr<llvm::MemoryBuffer>]':
. . . (omited "required from" messages) . . .
/usr/obj/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/utility:284:28: error: use of deleted function 'constexpr std::__1::unique_ptr<llvm::MemoryBuffer>::unique_ptr(const std::__1::unique_ptr<llvm::MemoryBuffer>&)'
second(__p.second)
^
In file included from /usr/obj/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/algorithm:628:0,
from /usr/src/usr.bin/clang/llvm-cov/../../../contrib/llvm/include/llvm/ADT/StringRef.h:13,
from /usr/src/usr.bin/clang/llvm-cov/../../../contrib/llvm/include/llvm/Support/raw_ostream.h:17,
from /usr/src/usr.bin/clang/llvm-cov/../../../contrib/llvm/tools/llvm-cov/RenderingSupport.h:13,
from /usr/src/usr.bin/clang/llvm-cov/../../../contrib/llvm/tools/llvm-cov/CodeCoverage.cpp:16:
/usr/obj/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/memory:2459:29: note: 'constexpr std::__1::unique_ptr<llvm::MemoryBuffer>::unique_ptr(const std::__1::unique_ptr<llvm::MemoryBuffer>&)' is implicitly declared as deleted because 'std::__1::unique_ptr<llvm::MemoryBuffer>' declares a move constructor or move assignment operator
class _LIBCPP_TYPE_VIS_ONLY unique_ptr
The context details follow.
Mac OS X 10.10.5 using a VirtualBox V5.0.4 VM with. . .
root at FreeBSDx64:/usr/src # freebsd-version -ku; uname -aKU
11.0-CURRENT
11.0-CURRENT
FreeBSD FreeBSDx64 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r288459: Sat Oct 3 03:42:08 PDT 2015 root at FreeBSDx64:/usr/obj/usr/src/sys/GENERIC-NODEBUG amd64 1100079 1100079
root at FreeBSDx64:/usr/src # svnlite info /usr/src
Path: .
Working Copy Root Path: /usr/src
URL: https://svn.freebsd.org/base/head
Relative URL: ^/head
Repository Root: https://svn.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 288459
Node Kind: directory
Schedule: normal
Last Changed Author: gjb
Last Changed Rev: 288459
Last Changed Date: 2015-10-01 12:48:10 -0700 (Thu, 01 Oct 2015)
root at FreeBSDx64:/usr/src # more /etc/src.conf
# World:
NO_WERROR=
# Kernel:
WERROR=
root at FreeBSDx64:/usr/src # more /etc/make.conf
/etc/make.conf: No such file or directory
root at FreeBSDx64:/usr/src # svnlite info /usr/ports
Path: /usr/ports
Working Copy Root Path: /usr/ports
URL: https://svn.freebsd.org/ports/head
Relative URL: ^/head
Repository Root: https://svn.freebsd.org/ports
Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
Revision: 398559
Node Kind: directory
Schedule: normal
Last Changed Author: jbeich
Last Changed Rev: 398559
Last Changed Date: 2015-10-03 17:42:55 -0700 (Sat, 03 Oct 2015)
root at FreeBSDx64:/usr/src # portmaster --list-origins
net/avahi
devel/boost-all
lang/clang37
ports-mgmt/dialog4ports
lang/gcc5
devel/git-lite
x11/lumina
sysutils/lxterminal
www/midori
net/netatalk3
ports-mgmt/pkg
ports-mgmt/portmaster
devel/powerpc64-xtoolchain-gcc
devel/qtcreator
security/sudo
mail/thunderbird
emulators/virtualbox-ose-additions
Very little is non-default source code. . .
root at FreeBSDx64:/usr/src # svnlite status
M lib/csu/powerpc64/Makefile
? sys/arm/conf/RPI2-NODBG
M sys/boot/powerpc/Makefile.inc
? sys/powerpc/conf/GENERIC64-NODBG
root at FreeBSDx64:/usr/src # svnlite status /usr/ports
? /usr/ports/ion
root at FreeBSDx64:/usr/src # more /usr/src/sys/powerpc/conf/GENERIC64-NODBG
. . . (comments omitted) . . .
include GENERIC64
ident GENERIC-NODBG
nooptions INVARIANTS
nooptions INVARIANT_SUPPORT
nooptions WITNESS
nooptions WITNESS_SKIPSPIN
nooptions DEADLKRES
(The copy->paste sequence for the below diffs likely turned tabs into spaces.)
root at FreeBSDx64:/usr/src # svnlite diff sys/boot/powerpc/Makefile.inc
Index: sys/boot/powerpc/Makefile.inc
===================================================================
--- sys/boot/powerpc/Makefile.inc (revision 288459)
+++ sys/boot/powerpc/Makefile.inc (working copy)
@@ -2,7 +2,7 @@
.if ${MACHINE_ARCH} == "powerpc64"
CFLAGS+= -m32 -mcpu=powerpc
-LDFLAGS+= -m elf32ppc_fbsd
+LDFLAGS+= -Wl,-m -Wl,elf32ppc_fbsd -Wl,-M,--verbose
.endif
.include "../Makefile.inc"
The following is my personal, local workaround for /usr/src/lib/csu/powerpc64/Makefile forcing use of the gcc command even when the context does not have one.
root at FreeBSDx64:/usr/src # svnlite diff /usr/src
Index: /usr/src/lib/csu/powerpc64/Makefile
===================================================================
--- /usr/src/lib/csu/powerpc64/Makefile (revision 288459)
+++ /usr/src/lib/csu/powerpc64/Makefile (working copy)
@@ -13,8 +13,8 @@
# clang doesn't support -mlongcall, and testing shows a clang linked with a
# clang-built csu segfaults, this must currently be compiled with gcc. Once
# clang supports -mlongcall, or we get a fixed ld, this can be revisited.
-CC:= gcc
-COMPILER_TYPE:= gcc
+#CC:= gcc
+#COMPILER_TYPE:= gcc
FILES= ${OBJS}
FILESMODE= ${LIBMODE}
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-toolchain
mailing list