Date: Sun, 11 Oct 2015 13:02:50 -0700 From: Mark Millard <markmi@dsl-only.net> To: FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org> Subject: powerpc64-xtoolchain-gcc gets ". . . include/c++/v1/utility:284:28: error: use of deleted function . . ." (llvm-cov 3.6.1's CodeCoverage.cpp) Message-ID: <367B6C91-B466-4996-A01A-61DD6CD26F2A@dsl-only.net>
next in thread | raw e-mail | index | archive | help
For a amd64 11.0 context doing make -j 6 CROSS_TOOLCHAIN=3Dpowerpc64-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=3DGENERIC64-NODBG \ TARGET=3Dpowerpc TARGET_ARCH=3Dpowerpc64 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/Str= ingRef.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/Rende= ringSupport.h:13, from = /usr/src/usr.bin/clang/llvm-cov/../../../contrib/llvm/tools/llvm-cov/CodeC= overage.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 =3D std::__1::basic_string<char, = std::__1::char_traits<char>, std::__1::allocator<char> >; _T2 =3D = 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/Str= ingRef.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/Rende= ringSupport.h:13, from = /usr/src/usr.bin/clang/llvm-cov/../../../contrib/llvm/tools/llvm-cov/CodeC= overage.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@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@FreeBSDx64:/usr/obj/usr/src/sys/GENERIC-NODEBUG amd64 1100079 = 1100079 root@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@FreeBSDx64:/usr/src # more /etc/src.conf # World: NO_WERROR=3D # Kernel: WERROR=3D root@FreeBSDx64:/usr/src # more /etc/make.conf /etc/make.conf: No such file or directory root@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@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@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@FreeBSDx64:/usr/src # svnlite status /usr/ports ? /usr/ports/ion root@FreeBSDx64:/usr/src # more = /usr/src/sys/powerpc/conf/GENERIC64-NODBG=20 . . . (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@FreeBSDx64:/usr/src # svnlite diff sys/boot/powerpc/Makefile.inc=20 Index: sys/boot/powerpc/Makefile.inc =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/boot/powerpc/Makefile.inc (revision 288459) +++ sys/boot/powerpc/Makefile.inc (working copy) @@ -2,7 +2,7 @@ .if ${MACHINE_ARCH} =3D=3D "powerpc64" CFLAGS+=3D -m32 -mcpu=3Dpowerpc -LDFLAGS+=3D -m elf32ppc_fbsd +LDFLAGS+=3D -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@FreeBSDx64:/usr/src # svnlite diff /usr/src Index: /usr/src/lib/csu/powerpc64/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- /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:=3D gcc -COMPILER_TYPE:=3D gcc +#CC:=3D gcc +#COMPILER_TYPE:=3D gcc FILES=3D ${OBJS} FILESMODE=3D ${LIBMODE} =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?367B6C91-B466-4996-A01A-61DD6CD26F2A>