svn commit: r320127 - in head: . share/mk

Mark Millard markmi at dsl-only.net
Tue Jun 20 08:37:46 UTC 2017


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



More information about the svn-src-head mailing list