Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 May 2016 21:18:00 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        Dimitry Andric <dim@FreeBSD.org>
Cc:        FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, freebsd-ports@freebsd.org
Subject:   Re: 11.0-CURRENT -r300770 libc++ update vs. lang/powerpc64-xtoolchain-gcc: no go [self hosted powerpc64 context]
Message-ID:  <0C88C11C-154A-459B-98EB-2A80A166DBCE@dsl-only.net>
In-Reply-To: <3BAE82F4-3BF4-4F02-9BFF-3F2290D3C82D@dsl-only.net>
References:  <95E2A9D6-8E1A-46FB-84FF-60927A6F1CE4@dsl-only.net> <8FAD594D-4349-4EA7-A712-D3792537FB1D@FreeBSD.org> <C5678741-F12B-4234-A194-AC2F0B0CDAB4@dsl-only.net> <42773110-C392-4168-9B94-6902807DB530@dsl-only.net> <3BAE82F4-3BF4-4F02-9BFF-3F2290D3C82D@dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2016-May-27, at 6:04 PM, Mark Millard <markmi at dsl-only.net> wrote:

> [Top posting failure results again.]
>=20
> -r300886 for powerpc64 failed for each of:
>=20
> =
/usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/tools/clang/lib/=
Analysis/AnalysisDeclContext.cpp
>=20
> =
/usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/tools/clang/li=
b/ARCMigrate/ARCMT.cpp
>=20
> with the likes of:
>=20
>> --- all_subdir_lib/clang ---
>> In file included from =
/usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/../../lib/clang/=
include/llvm/Support/DataTypes.h:36:0,
>>                 from =
/usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/include/llvm/ADT=
/Hashing.h:48,
>>                 from =
/usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/include/llvm/ADT=
/ArrayRef.h:13,
>>                 from =
/usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/include/llvm/ADT=
/APInt.h:19,
>>                 from =
/usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/include/llvm/ADT=
/APFloat.h:20,
>>                 from =
/usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/tools/clang/incl=
ude/clang/AST/APValue.h:18,
>>                 from =
/usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/tools/clang/incl=
ude/clang/AST/Decl.h:17,
>>                 from =
/usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/tools/clang/incl=
ude/clang/Analysis/AnalysisContext.h:18,
>>                 from =
/usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/tools/clang/lib/=
Analysis/AnalysisDeclContext.cpp:15:
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:309:9: error: '::signbit' has not been declared
>> using ::signbit;
>>         ^
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:310:9: error: '::fpclassify' has not been declared
>> using ::fpclassify;
>>         ^
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:311:9: error: '::isfinite' has not been declared
>> using ::isfinite;
>>         ^
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:312:9: error: '::isinf' has not been declared
>> using ::isinf;
>>         ^
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:313:9: error: '::isnan' has not been declared
>> using ::isnan;
>>         ^
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:314:9: error: '::isnormal' has not been declared
>> using ::isnormal;
>>         ^
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:315:9: error: '::isgreater' has not been declared
>> using ::isgreater;
>>         ^
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:316:9: error: '::isgreaterequal' has not been declared
>> using ::isgreaterequal;
>>         ^
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:317:9: error: '::isless' has not been declared
>> using ::isless;
>>         ^
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:318:9: error: '::islessequal' has not been declared
>> using ::islessequal;
>>         ^
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:319:9: error: '::islessgreater' has not been declared
>> using ::islessgreater;
>>         ^
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:320:9: error: '::isunordered' has not been declared
>> using ::isunordered;
>>         ^
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:321:9: error: '::isunordered' has not been declared
>> using ::isunordered;
>>         ^
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:327:9: error: '::abs' has not been declared
>> using ::abs;
>>         ^
>=20
> . . . (then later the other file gets similar results) . . .
>=20
>> --- all_subdir_lib/clang ---
>> In file included from =
/usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/../../lib/clan=
g/include/llvm/Support/DataTypes.h:36:0,
>>                 from =
/usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/include/llvm/A=
DT/Hashing.h:48,
>>                 from =
/usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/include/llvm/A=
DT/ArrayRef.h:13,
>>                 from =
/usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/include/llvm/A=
DT/DenseMapInfo.h:17,
>>                 from =
/usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/include/llvm/A=
DT/DenseMap.h:17,
>>                 from =
/usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/tools/clang/in=
clude/clang/ARCMigrate/FileRemapper.h:14,
>>                 from =
/usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/tools/clang/in=
clude/clang/ARCMigrate/ARCMT.h:13,
>>                 from =
/usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/tools/clang/li=
b/ARCMigrate/Internals.h:13,
>>                 from =
/usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/tools/clang/li=
b/ARCMigrate/ARCMT.cpp:10:
>> =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1/cmath=
:309:9: error: '::signbit' has not been declared
>> using ::signbit;
>>         ^
> . . . (similar list) . . .
>=20
>=20
> Based on (from a -v output):
>=20
>> ignoring nonexistent directory =
"/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/local/include"
>> ignoring nonexistent directory =
"/usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/../../../../powerp=
c64-portbld-freebsd11.0/include"
>> ignoring duplicate directory =
"/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include"
>> #include "..." search starts here:
>> #include <...> search starts here:
>> /usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/include
>> =
/usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/tools/clang/incl=
ude
>> =
/usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/tools/clang/lib/=
Analysis
>> .
>> =
/usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/../../lib/clang/=
include
>> /usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include
>> /usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1
>> /usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/include
>> /usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/include-fixed
>> End of search list.
>=20
> I could try building without clang being included if you want.
>=20
> =3D=3D=3D
> Mark Millard
> markmi at dsl-only.net

The -r300886 powerpc64 devel/powerpc64-gcc combination with no clang =
build included has failed:

--- all_subdir_usr.bin ---
endian.h(111): warning: bitwise operation on signed value possibly =
nonportable [117]
endian.h(127): warning: extra bits set to 0 in conversion of 'unsigned =
int' to 'unsigned long long', op & [309]
types.h(316): warning: bitwise operation on signed value possibly =
nonportable [117]
types.h(317): warning: bitwise operation on signed value possibly =
nonportable [117]
types.h(318): warning: bitwise operation on signed value possibly =
nonportable [117]
types.h(319): warning: bitwise operation on signed value possibly =
nonportable [117]
types.h(355): warning: conversion to 'unsigned int' due to prototype, =
arg #1 [259]
types.h(355): warning: conversion from 'unsigned long long' to 'unsigned =
int' may lose accuracy, arg #1 [298]
types.h(355): warning: conversion to 'unsigned int' due to prototype, =
arg #1 [259]
types.h(355): warning: conversion from 'unsigned long long' to 'unsigned =
int' may lose accuracy, arg #1 [298]
stdarg.h(40): syntax error [249]
stdarg.h(98): syntax error [249]
llib-lposix(307): syntax error [249]
llib-lposix(308): syntax error [249]
llib-lposix(309): syntax error [249]
llib-lposix(309): cannot recover from previous errors [224]
*** [llib-lposix.ln] Error code 1

make[5]: stopped in /usr/src/usr.bin/xlint/llib
1 error


The -r300886 powerpc (non-64) system-clang based combination for =
buildworld had no such problem and included rebuilding clang. So the =
problems are apparently devel/powerpc64-gcc specific or at least =
gcc-port specific.

=3D=3D=3D
Mark Millard
markmi at dsl-only.net

On 2016-May-27, at 4:40 PM, Mark Millard <markmi at dsl-only.net> wrote:

> [I'm top posting the results of the failed build.]
>=20
> It looks like the following has been addresses in -r300884. libcompat =
also got a -isystem in -r300885. -r300886 did "Move external GCC =
compiler hacks to bsd.sys.mk".
>=20
> So I'll retry based on -r300886.
>=20
>=20
>=20
> Failure details. . .
>=20
>=20
> Both the powerpc64 lang/powerpc64-xtoolchain-gcc and powerpc clang =
combinations failed for -r300875. The details are rather different this =
time and might not be related to your libc++ changes. Both contexts got =
the same error.
>=20
> powerpc64 lang/powerpc64-xtoolchain-gcc:
>=20
>> --- all_subdir_cddl/lib/libzpool ---
>> In file included from =
/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo=
n/fs/zfs/arc.c:144:0:
>> /usr/src/sys/vm/vm_pageout.h:77:8: error: unknown type name 'bool'
>> extern bool vm_pageout_wanted;
>>       ^
>> /usr/src/sys/vm/vm_pageout.h:78:8: error: unknown type name 'bool'
>> extern bool vm_pages_needed;
>>       ^
>=20
>=20
> The -v search list information was:
>=20
>> ignoring nonexistent directory =
"/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/local/include"
>> ignoring nonexistent directory =
"/usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/../../../../powerp=
c64-portbld-freebsd11.0/include"
>> ignoring duplicate directory =
"/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include"
>> ignoring nonexistent directory =
"/usr/src/cddl/lib/libzpool/../../../lib/libpthread/thread"
>> ignoring nonexistent directory =
"/usr/src/cddl/lib/libzpool/../../../lib/libpthread/sys"
>> #include "..." search starts here:
>> #include <...> search starts here:
>> /usr/src/cddl/lib/libzpool/../../../sys/cddl/compat/opensolaris
>> /usr/src/cddl/lib/libzpool/../../compat/opensolaris/include
>> /usr/src/cddl/lib/libzpool/../../compat/opensolaris/lib/libumem
>> =
/usr/src/cddl/lib/libzpool/../../contrib/opensolaris/lib/libzpool/common
>> =
/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo=
n/sys
>> =
/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo=
n/fs/zfs
>> =
/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/common/zf=
s
>> =
/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo=
n
>> /usr/src/cddl/lib/libzpool/../../contrib/opensolaris/head
>> /usr/src/cddl/lib/libzpool/../../lib/libumem
>> /usr/src/cddl/lib/libzpool/../../contrib/opensolaris/lib/libnvpair
>> /usr/src/cddl/lib/libzpool/../../../lib/libthr/arch/powerpc/include
>> /usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include
>> /usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/include
>> /usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/include-fixed
>> End of search list.
>=20
> This was for:
>=20
>> /usr/local/bin/powerpc64-portbld-freebsd11.0-gcc -isystem =
/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include =
-L/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/lib =
--sysroot=3D/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp =
-B/usr/local/powerpc64-freebsd/bin/  -O2 -pipe =
-I/usr/src/cddl/lib/libzpool/../../../sys/cddl/compat/opensolaris =
-I/usr/src/cddl/lib/libzpool/../../compat/opensolaris/include =
-I/usr/src/cddl/lib/libzpool/../../compat/opensolaris/lib/libumem =
-I/usr/src/cddl/lib/libzpool/../../contrib/opensolaris/lib/libzpool/common=
 =
-I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/com=
mon/sys =
-I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/com=
mon/fs/zfs =
-I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/common/=
zfs =
-I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/com=
mon -I/usr/src/cddl/lib/libzpool/../../contrib/opensolaris/head =
-I/usr/src/cddl/lib/libzpool/../../lib/libumem =
-I/usr/src/cddl/lib/libzpool/../../contrib/opensolaris/lib/libnvpair =
-DWANTS_MUTEX_OWNED =
-I/usr/src/cddl/lib/libzpool/../../../lib/libpthread/thread =
-I/usr/src/cddl/lib/libzpool/../../../lib/libpthread/sys =
-I/usr/src/cddl/lib/libzpool/../../../lib/libthr/arch/powerpc/include -g =
-DDEBUG=3D1   -DNEED_SOLARIS_BOOLEAN -MD  -MF.depend.arc.o -MTarc.o =
-std=3Diso9899:1999 -fstack-protector-strong -Wno-pointer-sign =
-Wno-error=3Dunused-function -Wno-error=3Denum-compare =
-Wno-error=3Dlogical-not-parentheses -Wno-error=3Dbool-compare =
-Wno-error=3Duninitialized -Wno-error=3Darray-bounds =
-Wno-error=3Dclobbered -Wno-error=3Dcast-align -Wno-error=3Dextra =
-Wno-error=3Dattributes -Wno-error=3Dinline =
-Wno-error=3Dunused-but-set-variable -Wno-error=3Dunused-value =
-Wno-error=3Dstrict-aliasing -Wno-error=3Daddress -Wno-unknown-pragmas   =
-v  -c =
/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo=
n/fs/zfs/arc.c -o arc.o
>=20
>=20
> powerpc sytem clang:
>=20
>> --- all_subdir_cddl/lib/libzpool ---
>> In file included from =
/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo=
n/fs/zfs/arc.c:144:
>> =
/usr/obj/clang/powerpc.powerpc/usr/src/tmp/usr/include/vm/vm_pageout.h:77:=
8: error: unknown type name 'bool'
>> extern bool vm_pageout_wanted;
>>      ^
>> =
/usr/obj/clang/powerpc.powerpc/usr/src/tmp/usr/include/vm/vm_pageout.h:78:=
8: error: unknown type name 'bool'
>> extern bool vm_pages_needed;
>>      ^
>=20
> This was for:
>=20
>> --- arc.o ---
>> cc   -O2 -pipe =
-I/usr/src/cddl/lib/libzpool/../../../sys/cddl/compat/opensolaris =
-I/usr/src/cddl/lib/libzpool/../../compat/opensolaris/include =
-I/usr/src/cddl/lib/libzpool/../../compat/opensolaris/lib/libumem =
-I/usr/src/cddl/lib/libzpool/../../contrib/opensolaris/lib/libzpool/common=
 =
-I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/com=
mon/sys =
-I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/com=
mon/fs/zfs =
-I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/common/=
zfs =
-I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/com=
mon -I/usr/src/cddl/lib/libzpool/../../contrib/opensolaris/head =
-I/usr/src/cddl/lib/libzpool/../../lib/libumem =
-I/usr/src/cddl/lib/libzpool/../../contrib/opensolaris/lib/libnvpair =
-DWANTS_MUTEX_OWNED =
-I/usr/src/cddl/lib/libzpool/../../../lib/libpthread/thread =
-I/usr/src/cddl/lib/libzpool/../../../lib/libpthread/sys =
-I/usr/src/cddl/lib/libzpool/../../../lib/libthr/arch/powerpc/include -g =
-DDEBUG=3D1   -DNEED_SOLARIS_BOOLEAN -MD  -MF.depend.arc.o -MTarc.o =
-std=3Diso9899:1999 -fstack-protector-strong -Wno-pointer-sign =
-Wno-unknown-pragmas -Wno-empty-body -Wno-string-plus-int =
-Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value =
-Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion =
-Wno-unused-local-typedef -Wno-switch -Wno-switch-enum =
-Wno-knr-promoted-parameter -Wno-parentheses  -Qunused-arguments  -c =
/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo=
n/fs/zfs/arc.c -o arc.o
>=20
>=20
>=20
> =3D=3D=3D
> Mark Millard
> markmi@dsl-only.net
>=20
> On 2016-May-27, at 2:56 PM, Mark Millard <markmi@dsl-only.net> wrote:
>=20
>> On 2016-May-27, at 1:50 PM, Dimitry Andric <dim at FreeBSD.org> =
wrote:
>>>=20
>>> On 27 May 2016, at 01:53, Mark Millard <markmi at dsl-only.net> =
wrote:
>>>>=20
>>>> I do buildworld/buildkernel on a powerpc64 targeting itself via =
lang/powerpc64-xtoolchain-gcc (a.k.a. lang/powerpc64-gcc for the most =
part). [Getting that lang/powerpc64-gcc installed for self-hosted use =
does take some work-around activity.] I have buildworld build clang (but =
not use it). [I've been doing this with 11.0-CURRENT for a long time.]
>>>>=20
>>>> Actually I use lang/gcc49 as the "system compiler" and =
lang/powerpc64-gcc as the self-hosting so-called "cross compiler". (I =
later list the src.conf content.) gcc4.2.1 is not installed.
>>>>=20
>>>> Trying to go from:
>>>>=20
>>>>> # uname -apKU
>>>>> FreeBSD FBSDG5C0 11.0-CURRENT FreeBSD 11.0-CURRENT #36 r300531M: =
Mon May 23 20:13:52 PDT 2016     =
root@FBSDG5C0:/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/sys/GENERIC64v=
tsc-NODEBUG  powerpc powerpc64 1100111 1100111
>>>>=20
>>>> (for which -r300531 built and installed fine this way) to -r300777 =
now fails with errors such as:
>>>>=20
>>>>> --- lib/libc++__L ---
>>>>> In file included from =
/usr/src/lib/libc++/../../contrib/libc++/include/iterator:346:0,
>>>>>             from =
/usr/src/lib/libc++/../../contrib/libc++/include/memory:606,
>>>>>             from =
/usr/src/lib/libc++/../../contrib/libc++/include/algorithm:628,
>>>>>             from =
/usr/src/lib/libc++/../../contrib/libc++/src/algorithm.cpp:10:
>>>>> /usr/src/lib/libc++/../../contrib/libc++/include/iosfwd:176:14: =
error: 'mbstate_t' was not declared in this scope
>>>>> typedef fpos<mbstate_t>    streampos;
>>>>>          ^
>>>=20
>>> This is hopefully fixed by r300873 now.  Can you please verify?
>>>=20
>>> -Dimitry
>>=20
>> buildworld/buildkernel started, based on -r300875 for powerpc64 =
under/on powerpc64 FreeBSD via lang/powerpc-xtoolchain-gcc as the =
so-called "cross compiler". If it completes successfully it takes about =
8 hours for what I normally include in such builds.
>>=20
>> I've also started a clang-based buildworld for powerpc (non-64) under =
powerpc FreeBSD as a cross check. (This environment involves work =
arounds, such as changes to signal delivery to avoid clang's code =
generation ABI violations in its stack handling. A clang based =
buildkernel would not complete so I would use a separate gcc 4.2.1 =
kernel build to get an overall system.)
>>=20
>> =3D=3D=3D
>> Mark Millard
>> markmi at dsl-only.net
>>=20
>>=20
>=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0C88C11C-154A-459B-98EB-2A80A166DBCE>