Date: Tue, 20 Jun 2017 01:37:43 -0700 From: Mark Millard <markmi@dsl-only.net> To: Emmanuel Vadot <manu@bidouilliste.com> Cc: manu@FreeBSD.org, svn-src-head@freebsd.org, Ed Maste <emaste@freebsd.org>, Warner Losh <imp@bsdimp.com>, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org> Subject: Re: svn commit: r320127 - in head: . share/mk Message-ID: <1577D8FE-84FE-43F7-9B30-EDC8ED698DAD@dsl-only.net> In-Reply-To: <20170620095434.48a8f8eb3d62df4ae65cf095@bidouilliste.com> References: <9BF6B86D-4CBC-4502-8EB7-849E3461CA4C@dsl-only.net> <20170620095434.48a8f8eb3d62df4ae65cf095@bidouilliste.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2017-Jun-20, at 12:54 AM, Emmanuel Vadot <manu at bidouilliste.com> wrote: > On Tue, 20 Jun 2017 00:31:30 -0700 > Mark Millard <markmi at dsl-only.net> wrote: > >> [Because powerpc64 (and pweorpc) buildworld is broken for >> clang 4 as of the INO64 changes I've been using >> devel/powerpc64-xtoolchain-gcc and its devel/powerpc64-gcc >> recently.] >> >> Emmanuel Vadot manu at FreeBSD.org wrote/committed on Tue Jun 20 02:09:52 UTC 2017 >> >>> Author: manu >>> Date: Tue Jun 20 02:09:50 2017 >>> New Revision: 320127 >>> URL: >>> https://svnweb.freebsd.org/changeset/base/320127 >>> >>> >>> Log: >>> Switch back to the BSDL DTC (Device Tree Compiler). >>> The BSDL dtc has grown the needed features (overlays mostly) and is able to >>> compile all of our base DTS. >>> You can use WITH_GPL_DTC is you need the GPL one or DTC= in make.conf(5) >>> to specify an alternate location for the compiler to use. >>> >>> Discussed with: emaste, imp >>> >>> Modified: >>> head/UPDATING >>> head/share/mk/src.opts.mk >> >> Unfortunately now devel/powerpc64-gcc no longer completes buildworld >> (this is a libc++ based amd64 -> powerpc64 cross build as I experiment >> with libc++ capable compilers for powerpc64): >> >> --- input_buffer.o --- >> /usr/src/usr.bin/dtc/input_buffer.cc:658:2: error: 'result' does not name a type >> result operator()() override >> ^~~~~~ >> . . . >> --- all_subdir_usr.bin --- >> *** [input_buffer.o] Error code 1 > > Hello Mark, > > Could you report the issue upstream please : > https://github.com/davidchisnall/dtc ? > > As soon as it's fixed I'll update our in-tree copy. > > Thanks, Sure. But I probably know what the problem is: a missing keyword. . . (So more than powerpc64 is likely going to have problems with the source code.) FYI: The code structure is: typedef unsigned long long valty; . . . struct expression { . . . typedef std::pair<valty, bool> result; . . . }; . . . struct binary_operator_base : public expression { using expression::expression; . . . }; . . . template<int Precedence, class Op> struct binary_operator : public binary_operator_base { . . . }; . . . template<typename T> struct divmod : public binary_operator<5, T> { using binary_operator<5, T>::binary_operator; using binary_operator_base::result; result operator()() override { result r = (*binary_operator_base::rhs)(); if (r.second && (r.first == 0)) { expression::loc.report_error("Division by zero"); return {0, false}; } return binary_operator<5, T>::operator()(); } }; Looks to me that there is a "typename" missing: using binary_operator_base::result; should be: using typename binary_operator_base::result; So making that change and trying the buildworld buildkernel again results in. . . buildworld completed and buildkernel is in process So it looks like I was right. >> make[4]: stopped in /usr/src/usr.bin/dtc >> .ERROR_TARGET='input_buffer.o' >> .ERROR_META_FILE='/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/usr.bin/dtc/input_buffer.o.meta' >> .MAKE.LEVEL='4' >> MAKEFILE='' >> .MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose' >> . . . >> --- all_subdir_usr.bin --- >> >> make[4]: stopped in /usr/src/usr.bin/dtc >> .ERROR_TARGET='input_buffer.o' >> .ERROR_META_FILE='/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/usr.bin/dtc/input_buffer.o.meta' >> .MAKE.LEVEL='4' >> MAKEFILE='' >> .MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose' >> _ERROR_CMD='/usr/local/bin/powerpc64-unknown-freebsd12.0-g++ -isystem /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1 -std=c++11 -nostdinc++ -isystem /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/include -L/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/lib -B/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/lib --sysroot=/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp -B/usr/local/powerpc64-freebsd/bin/ -O2 -pipe -g -fstack-protector-strong -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wpointer-arith -Wno-uninitialized -Wno-error=address -Wno-error=array-bounds -Wno-error=attributes -Wno-error=bool-compare -Wno-error=cast-align -Wno-error=clobbered -Wno-error=enum-compare -Wno-error=extra -Wno-error=inline -Wno-error=logical-not-parentheses -Wno-error=strict-aliasing -Wno-error=uninitialized -Wno-error=unused-but-set-variable -Wno-error=unused-function -Wno-error=unused-value -Wno-error=strict-overflow -Wno-error=misleading-indentation -Wno-error=nonnull-compare -Wno-error=shift-negative-value -Wno-error=tautological-compare -Wno-error=unused-const-variable -v -std=c++11 -fno-rtti -fno-exceptions -c /usr/src/usr.bin/dtc/input_buffer.cc -o input_buffer.o;' >> .CURDIR='/usr/src/usr.bin/dtc' >> .MAKE='make' >> .OBJDIR='/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/usr.bin/dtc' >> .TARGETS='all' >> DESTDIR='/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp' >> LD_LIBRARY_PATH='' >> MACHINE='powerpc' >> MACHINE_ARCH='powerpc64' >> MAKEOBJDIRPREFIX='/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64' >> MAKESYSPATH='/usr/src/share/mk' >> MAKE_VERSION='20170510' >> PATH='/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/legacy/usr/sbin:/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/legacy/usr/bin:/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/legacy/bin:/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/sbin:/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin' >> SRCTOP='/usr/src' >> OBJTOP='/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/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-xtoolchain-gcc.amd64-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/dtc/Makefile /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/dtc/../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.man.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' >> .PATH='. /usr/src/usr.bin/dtc' >> --- all_subdir_libexec --- >> *** [all_subdir_libexec] Error code 2 >> >> >> # Meta data file /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/usr.bin/dtc/input_buffer.o.meta >> CMD /usr/local/bin/powerpc64-unknown-freebsd12.0-g++ -isystem /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1 -std=c++11 -nostdinc++ -isystem /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/include -L/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/lib -B/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/lib --sysroot=/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp -B/usr/local/powerpc64-freebsd/bin/ -O2 -pipe -g -fstack-protector-strong -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wpointer-arith -Wno-uninitialized -Wno-error=address -Wno-error=array-bounds -Wno-error=attributes -Wno-error=bool-compare -Wno-error=cast-align -Wno-error=clobbered -Wno-error=enum-compare -Wno-error=extra -Wno-error=inline -Wno-error=logical-not-parentheses -Wno-error=strict-aliasing -Wno-error=uninitialized -Wno-error=unused-but-set-variable -Wno-error=unused-function -Wno-error=unused-value -Wno-error=strict-overflow -Wno-error=misleading-indentation -Wno-error=nonnull-compare -Wno-error=shift-negative-value -Wno-error=tautological-compare -Wno-error=unused-const-variable -v -std=c++11 -fno-rtti -fno-exceptions -c /usr/src/usr.bin/dtc/input_buffer.cc -o input_buffer.o >> CWD /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/usr.bin/dtc >> TARGET input_buffer.o >> -- command output -- >> Using built-in specs. >> COLLECT_GCC=/usr/local/bin/powerpc64-unknown-freebsd12.0-g++ >> Target: powerpc64-unknown-freebsd12.0 >> Configured with: /usr/obj/portswork/usr/ports/devel/powerpc64-gcc/work/gcc-6.3.0/configure --target=powerpc64-unknown-freebsd12.0 --disable-nls --enable-languages=c,c++ --without-headers --with-gmp=/usr/local --with-pkgversion='FreeBSD Ports Collection for powerpc64' --with-system-zlib --with-gcc-include-dir=/usr/include/c++/v1/ --with-as=/usr/local/bin/powerpc64-freebsd-as --with-ld=/usr/local/bin/powerpc64-freebsd-ld --prefix=/usr/local --localstatedir=/var --mandir=/usr/local/man --infodir=/usr/local/info/ --build=amd64-unknown-freebsd12.0 >> Thread model: posix >> gcc version 6.3.0 (FreeBSD Ports Collection for powerpc64) >> COLLECT_GCC_OPTIONS='-isystem' '/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1' '-std=c++11' '-nostdinc++' '-isystem' '/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/include' '-L/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/lib' '-B' '/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/lib' '-B' '/usr/local/powerpc64-freebsd/bin/' '-O2' '-pipe' '-g' '-fstack-protector-strong' '-Wsystem-headers' '-Wall' '-Wno-format-y2k' '-Wextra' '-Wno-unused-parameter' '-Wpointer-arith' '-Wno-uninitialized' '-Wno-error=address' '-Wno-error=array-bounds' '-Wno-error=attributes' '-Wno-error=bool-compare' '-Wno-error=cast-align' '-Wno-error=clobbered' '-Wno-error=enum-compare' '-Wno-error=extra' '-Wno-error=inline' '-Wno-error=logical-not-parentheses' '-Wno-error=strict-aliasing' '-Wno-error=uninitialized' '-Wno-error=unused-but-set-variable' '-Wno-error=unused-function' '-Wno-error=unused-value' '-Wno-error=strict-overflow' '-Wno-error=misleading-indentation' '-Wno-error=nonnull-compare' '-Wno-error=shift-negative-value' '-Wno-error=tautological-compare' '-Wno-error=unused-const-variable' '-v' '-std=c++11' '-fno-rtti' '-fno-exceptions' '-c' '-o' 'input_buffer.o' '-shared-libgcc' >> /usr/local/libexec/gcc/powerpc64-unknown-freebsd12.0/6.3.0/cc1plus -quiet -nostdinc++ -v -isysroot /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp -isystem /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1 -isystem /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/include /usr/src/usr.bin/dtc/input_buffer.cc -quiet -dumpbase input_buffer.cc -auxbase-strip input_buffer.o -g -O2 -Wsystem-headers -Wall -Wno-format-y2k -Wextra -Wno-unused-parameter -Wpointer-arith -Wno-uninitialized -Wno-error=address -Wno-error=array-bounds -Wno-error=attributes -Wno-error=bool-compare -Wno-error=cast-align -Wno-error=clobbered -Wno-error=enum-compare -Wno-error=extra -Wno-error=inline -Wno-error=logical-not-parentheses -Wno-error=strict-aliasing -Wno-error=uninitialized -Wno-error=unused-but-set-variable -Wno-error=unused-function -Wno-error=unused-value -Wno-error=strict-overflow -Wno-error=misleading-indentation -Wno-error=nonnull-compare -Wno-error=shift-negative-value -Wno-error=tautological-compare -Wno-error=unused-const-variable -std=c++11 -std=c++11 -version -fstack-protector-strong -fno-rtti -fno-exceptions -o - | >> /usr/local/bin/powerpc64-freebsd-as -v --traditional-format -a64 -mppc64 -many -o input_buffer.o >> GNU assembler version 2.28 (powerpc64-freebsd) using BFD version (GNU Binutils) 2.28 >> GNU C++11 (FreeBSD Ports Collection for powerpc64) version 6.3.0 (powerpc64-unknown-freebsd12.0) >> compiled by GNU C version 4.2.1 Compatible FreeBSD Clang 4.0.0 (tags/RELEASE_400/final 297347), GMP version 6.1.2, MPFR version 3.1.5-p2, MPC version 1.0.3, isl version none >> GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 >> ignoring nonexistent directory "/usr/local/lib/gcc/powerpc64-unknown-freebsd12.0/6.3.0/../../../../powerpc64-unknown-freebsd12.0/sys-include" >> ignoring nonexistent directory "/usr/local/lib/gcc/powerpc64-unknown-freebsd12.0/6.3.0/../../../../powerpc64-unknown-freebsd12.0/include" >> #include "..." search starts here: >> #include <...> search starts here: >> /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1 >> /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/include >> /usr/local/lib/gcc/powerpc64-unknown-freebsd12.0/6.3.0/include >> /usr/local/lib/gcc/powerpc64-unknown-freebsd12.0/6.3.0/include-fixed >> End of search list. >> GNU C++11 (FreeBSD Ports Collection for powerpc64) version 6.3.0 (powerpc64-unknown-freebsd12.0) >> compiled by GNU C version 4.2.1 Compatible FreeBSD Clang 4.0.0 (tags/RELEASE_400/final 297347), GMP version 6.1.2, MPFR version 3.1.5-p2, MPC version 1.0.3, isl version none >> GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 >> Compiler executable checksum: 47621bba5ca992f7e7897909a81561ae >> /usr/src/usr.bin/dtc/input_buffer.cc:658:2: error: 'result' does not name a type >> result operator()() override >> ^~~~~~ >> In file included from /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/unordered_set:323:0, >> from /usr/src/usr.bin/dtc/input_buffer.hh:39, >> from /usr/src/usr.bin/dtc/input_buffer.cc:33: >> /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/__hash_table:1943:1: warning: always_inline function might not be inlinable [-Wattributes] >> __hash_table<_Tp, _Hash, _Equal, _Alloc>::__emplace_unique_key_args(_Key const& __k, _Args&&... __args) >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> *** Error code 1 === Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1577D8FE-84FE-43F7-9B30-EDC8ED698DAD>
