Skip site navigation (1)Skip section navigation (2)
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:
>=20
>> [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.]
>>=20
>> Emmanuel Vadot manu at FreeBSD.org  wrote/committed on Tue Jun 20 =
02:09:52 UTC 2017
>>=20
>>> Author: manu
>>> Date: Tue Jun 20 02:09:50 2017
>>> New Revision: 320127
>>> URL:=20
>>> https://svnweb.freebsd.org/changeset/base/320127
>>>=20
>>>=20
>>> 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=3D in =
make.conf(5)
>>>  to specify an alternate location for the compiler to use.
>>>=20
>>>  Discussed with: emaste, imp
>>>=20
>>> Modified:
>>>  head/UPDATING
>>>  head/share/mk/src.opts.mk
>>=20
>> 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):
>>=20
>> --- 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
>=20
> Hello Mark,
>=20
> Could you report the issue upstream please :
> https://github.com/davidchisnall/dtc ?
>=20
> As soon as it's fixed I'll update our in-tree copy.
>=20
> 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 =3D (*binary_operator_base::rhs)();
                if (r.second && (r.first =3D=3D 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=3D'input_buffer.o'
>> =
.ERROR_META_FILE=3D'/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc6=
4/usr/src/usr.bin/dtc/input_buffer.o.meta'
>> .MAKE.LEVEL=3D'4'
>> MAKEFILE=3D''
>> .MAKE.MODE=3D'meta missing-filemon=3Dyes missing-meta=3Dyes =
silent=3Dyes verbose'
>> . . .
>> --- all_subdir_usr.bin ---
>>=20
>> make[4]: stopped in /usr/src/usr.bin/dtc
>> .ERROR_TARGET=3D'input_buffer.o'
>> =
.ERROR_META_FILE=3D'/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc6=
4/usr/src/usr.bin/dtc/input_buffer.o.meta'
>> .MAKE.LEVEL=3D'4'
>> MAKEFILE=3D''
>> .MAKE.MODE=3D'meta missing-filemon=3Dyes missing-meta=3Dyes =
silent=3Dyes verbose'
>> _ERROR_CMD=3D'/usr/local/bin/powerpc64-unknown-freebsd12.0-g++ =
-isystem =
/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/in=
clude/c++/v1 -std=3Dc++11  -nostdinc++ -isystem =
/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/in=
clude =
-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=3D/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/sr=
c/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=3Daddress -Wno-error=3Darray-bounds -Wno-error=3Dattributes =
-Wno-error=3Dbool-compare -Wno-error=3Dcast-align -Wno-error=3Dclobbered =
-Wno-error=3Denum-compare -Wno-error=3Dextra -Wno-error=3Dinline =
-Wno-error=3Dlogical-not-parentheses -Wno-error=3Dstrict-aliasing =
-Wno-error=3Duninitialized -Wno-error=3Dunused-but-set-variable =
-Wno-error=3Dunused-function -Wno-error=3Dunused-value =
-Wno-error=3Dstrict-overflow -Wno-error=3Dmisleading-indentation =
-Wno-error=3Dnonnull-compare -Wno-error=3Dshift-negative-value =
-Wno-error=3Dtautological-compare -Wno-error=3Dunused-const-variable -v =
-std=3Dc++11 -fno-rtti -fno-exceptions    -c =
/usr/src/usr.bin/dtc/input_buffer.cc -o input_buffer.o;'
>> .CURDIR=3D'/usr/src/usr.bin/dtc'
>> .MAKE=3D'make'
>> =
.OBJDIR=3D'/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src=
/usr.bin/dtc'
>> .TARGETS=3D'all'
>> =
DESTDIR=3D'/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src=
/tmp'
>> LD_LIBRARY_PATH=3D''
>> MACHINE=3D'powerpc'
>> MACHINE_ARCH=3D'powerpc64'
>> =
MAKEOBJDIRPREFIX=3D'/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc6=
4'
>> MAKESYSPATH=3D'/usr/src/share/mk'
>> MAKE_VERSION=3D'20170510'
>> =
PATH=3D'/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tm=
p/legacy/usr/sbin:/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/=
usr/src/tmp/legacy/usr/bin:/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.p=
owerpc64/usr/src/tmp/legacy/bin:/usr/obj/powerpc64vtsc_xtoolchain-gcc/powe=
rpc.powerpc64/usr/src/tmp/usr/sbin:/usr/obj/powerpc64vtsc_xtoolchain-gcc/p=
owerpc.powerpc64/usr/src/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin'
>> SRCTOP=3D'/usr/src'
>> =
OBJTOP=3D'/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/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-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=3D'. /usr/src/usr.bin/dtc'
>> --- all_subdir_libexec ---
>> *** [all_subdir_libexec] Error code 2
>>=20
>>=20
>> # Meta data file =
/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/usr.bin/dt=
c/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/in=
clude/c++/v1 -std=3Dc++11  -nostdinc++ -isystem =
/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/in=
clude =
-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=3D/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/sr=
c/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=3Daddress -Wno-error=3Darray-bounds -Wno-error=3Dattributes =
-Wno-error=3Dbool-compare -Wno-error=3Dcast-align -Wno-error=3Dclobbered =
-Wno-error=3Denum-compare -Wno-error=3Dextra -Wno-error=3Dinline =
-Wno-error=3Dlogical-not-parentheses -Wno-error=3Dstrict-aliasing =
-Wno-error=3Duninitialized -Wno-error=3Dunused-but-set-variable =
-Wno-error=3Dunused-function -Wno-error=3Dunused-value =
-Wno-error=3Dstrict-overflow -Wno-error=3Dmisleading-indentation =
-Wno-error=3Dnonnull-compare -Wno-error=3Dshift-negative-value =
-Wno-error=3Dtautological-compare -Wno-error=3Dunused-const-variable -v =
-std=3Dc++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/dt=
c
>> TARGET input_buffer.o
>> -- command output --
>> Using built-in specs.
>> COLLECT_GCC=3D/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=3Dpowerpc64-unknown-freebsd12.0 --disable-nls =
--enable-languages=3Dc,c++ --without-headers --with-gmp=3D/usr/local =
--with-pkgversion=3D'FreeBSD Ports Collection for powerpc64' =
--with-system-zlib --with-gcc-include-dir=3D/usr/include/c++/v1/ =
--with-as=3D/usr/local/bin/powerpc64-freebsd-as =
--with-ld=3D/usr/local/bin/powerpc64-freebsd-ld --prefix=3D/usr/local =
--localstatedir=3D/var --mandir=3D/usr/local/man =
--infodir=3D/usr/local/info/ --build=3Damd64-unknown-freebsd12.0
>> Thread model: posix
>> gcc version 6.3.0 (FreeBSD Ports Collection for powerpc64)=20
>> COLLECT_GCC_OPTIONS=3D'-isystem' =
'/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/i=
nclude/c++/v1' '-std=3Dc++11' '-nostdinc++' '-isystem' =
'/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/i=
nclude' =
'-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/l=
ib' '-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=3Daddress' '-Wno-error=3Darray-bounds' =
'-Wno-error=3Dattributes' '-Wno-error=3Dbool-compare' =
'-Wno-error=3Dcast-align' '-Wno-error=3Dclobbered' =
'-Wno-error=3Denum-compare' '-Wno-error=3Dextra' '-Wno-error=3Dinline' =
'-Wno-error=3Dlogical-not-parentheses' '-Wno-error=3Dstrict-aliasing' =
'-Wno-error=3Duninitialized' '-Wno-error=3Dunused-but-set-variable' =
'-Wno-error=3Dunused-function' '-Wno-error=3Dunused-value' =
'-Wno-error=3Dstrict-overflow' '-Wno-error=3Dmisleading-indentation' =
'-Wno-error=3Dnonnull-compare' '-Wno-error=3Dshift-negative-value' =
'-Wno-error=3Dtautological-compare' '-Wno-error=3Dunused-const-variable' =
'-v' '-std=3Dc++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/in=
clude/c++/v1 -isystem =
/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/in=
clude /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=3Daddress -Wno-error=3Darray-bounds =
-Wno-error=3Dattributes -Wno-error=3Dbool-compare -Wno-error=3Dcast-align =
-Wno-error=3Dclobbered -Wno-error=3Denum-compare -Wno-error=3Dextra =
-Wno-error=3Dinline -Wno-error=3Dlogical-not-parentheses =
-Wno-error=3Dstrict-aliasing -Wno-error=3Duninitialized =
-Wno-error=3Dunused-but-set-variable -Wno-error=3Dunused-function =
-Wno-error=3Dunused-value -Wno-error=3Dstrict-overflow =
-Wno-error=3Dmisleading-indentation -Wno-error=3Dnonnull-compare =
-Wno-error=3Dshift-negative-value -Wno-error=3Dtautological-compare =
-Wno-error=3Dunused-const-variable -std=3Dc++11 -std=3Dc++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=3D100 --param =
ggc-min-heapsize=3D131072
>> ignoring nonexistent directory =
"/usr/local/lib/gcc/powerpc64-unknown-freebsd12.0/6.3.0/../../../../powerp=
c64-unknown-freebsd12.0/sys-include"
>> ignoring nonexistent directory =
"/usr/local/lib/gcc/powerpc64-unknown-freebsd12.0/6.3.0/../../../../powerp=
c64-unknown-freebsd12.0/include"
>> #include "..." search starts here:
>> #include <...> search starts here:
>> =
/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/in=
clude/c++/v1
>> =
/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/tmp/usr/in=
clude
>> /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=3D100 --param =
ggc-min-heapsize=3D131072
>> 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/in=
clude/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/in=
clude/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


=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?1577D8FE-84FE-43F7-9B30-EDC8ED698DAD>