11.0-CURRENT -r300770 libc++ update vs. lang/powerpc64-xtoolchain-gcc: no go [self hosted powerpc64 context]

Mark Millard markmi at dsl-only.net
Sat May 28 04:18:04 UTC 2016


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

> [Top posting failure results again.]
> 
> -r300886 for powerpc64 failed for each of:
> 
> /usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp
> 
> /usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/tools/clang/lib/ARCMigrate/ARCMT.cpp
> 
> with the likes of:
> 
>> --- 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/include/clang/AST/APValue.h:18,
>>                 from /usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/tools/clang/include/clang/AST/Decl.h:17,
>>                 from /usr/src/lib/clang/libclanganalysis/../../../contrib/llvm/tools/clang/include/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;
>>         ^
> 
> . . . (then later the other file gets similar results) . . .
> 
>> --- all_subdir_lib/clang ---
>> In file included from /usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/../../lib/clang/include/llvm/Support/DataTypes.h:36:0,
>>                 from /usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/include/llvm/ADT/Hashing.h:48,
>>                 from /usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/include/llvm/ADT/ArrayRef.h:13,
>>                 from /usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/include/llvm/ADT/DenseMapInfo.h:17,
>>                 from /usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/include/llvm/ADT/DenseMap.h:17,
>>                 from /usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/tools/clang/include/clang/ARCMigrate/FileRemapper.h:14,
>>                 from /usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/tools/clang/include/clang/ARCMigrate/ARCMT.h:13,
>>                 from /usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/tools/clang/lib/ARCMigrate/Internals.h:13,
>>                 from /usr/src/lib/clang/libclangarcmigrate/../../../contrib/llvm/tools/clang/lib/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) . . .
> 
> 
> Based on (from a -v output):
> 
>> 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/../../../../powerpc64-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/include
>> /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.
> 
> I could try building without clang being included if you want.
> 
> ===
> 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.

===
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.]
> 
> 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".
> 
> So I'll retry based on -r300886.
> 
> 
> 
> Failure details. . .
> 
> 
> 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.
> 
> powerpc64 lang/powerpc64-xtoolchain-gcc:
> 
>> --- all_subdir_cddl/lib/libzpool ---
>> In file included from /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/common/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;
>>       ^
> 
> 
> The -v search list information was:
> 
>> 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/../../../../powerpc64-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/common/sys
>> /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/common/fs/zfs
>> /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/common/zfs
>> /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/common
>> /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.
> 
> This was for:
> 
>> /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=/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/common/sys -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/common/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/common -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=1   -DNEED_SOLARIS_BOOLEAN -MD  -MF.depend.arc.o -MTarc.o -std=iso9899:1999 -fstack-protector-strong -Wno-pointer-sign -Wno-error=unused-function -Wno-error=enum-compare -Wno-error=logical-not-parentheses -Wno-error=bool-compare -Wno-error=uninitialized -Wno-error=array-bounds -Wno-error=clobbered -Wno-error=cast-align -Wno-error=extra -Wno-error=attributes -Wno-error=inline -Wno-error=unused-but-set-variable -Wno-error=unused-value -Wno-error=strict-aliasing -Wno-error=address -Wno-unknown-pragmas   -v  -c /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c -o arc.o
> 
> 
> powerpc sytem clang:
> 
>> --- all_subdir_cddl/lib/libzpool ---
>> In file included from /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/common/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;
>>      ^
> 
> This was for:
> 
>> --- 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/common/sys -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/common/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/common -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=1   -DNEED_SOLARIS_BOOLEAN -MD  -MF.depend.arc.o -MTarc.o -std=iso9899: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/common/fs/zfs/arc.c -o arc.o
> 
> 
> 
> ===
> Mark Millard
> markmi at dsl-only.net
> 
> On 2016-May-27, at 2:56 PM, Mark Millard <markmi at dsl-only.net> wrote:
> 
>> On 2016-May-27, at 1:50 PM, Dimitry Andric <dim at FreeBSD.org> wrote:
>>> 
>>> On 27 May 2016, at 01:53, Mark Millard <markmi at dsl-only.net> wrote:
>>>> 
>>>> 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.]
>>>> 
>>>> 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.
>>>> 
>>>> Trying to go from:
>>>> 
>>>>> # uname -apKU
>>>>> FreeBSD FBSDG5C0 11.0-CURRENT FreeBSD 11.0-CURRENT #36 r300531M: Mon May 23 20:13:52 PDT 2016     root at FBSDG5C0:/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/sys/GENERIC64vtsc-NODEBUG  powerpc powerpc64 1100111 1100111
>>>> 
>>>> (for which -r300531 built and installed fine this way) to -r300777 now fails with errors such as:
>>>> 
>>>>> --- 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;
>>>>>          ^
>>> 
>>> This is hopefully fixed by r300873 now.  Can you please verify?
>>> 
>>> -Dimitry
>> 
>> 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.
>> 
>> 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.)
>> 
>> ===
>> Mark Millard
>> markmi at dsl-only.net
>> 
>> 
> 



More information about the freebsd-ports mailing list