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 22:12:41 UTC 2016
For 11.0 -r300904 using devel/powerpc64-gcc on powerpc64 (not building clang) I get the failures:
> --- all_subdir_usr.bin ---
. . . (some warnings) . . .
> 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 3 llib-lposix lines happen to be the lines using va_list:
> int (vfprintf)(FILE *stream, const char *format, va_list arg);
> int (vprintf)(const char *format, va_list arg);
> int (vsprintf)(char *s, const char *format, va_list arg);
As for stdarg.h (va_list related text will end up being involved as well):
> # ls -l /usr/include/stdarg.h
> lrwxr-xr-x 1 root wheel 16 May 23 21:22 /usr/include/stdarg.h -> machine/stdarg.h
> # ls -l /usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/stdarg.h
> lrwxr-xr-x 1 root wheel 16 May 27 16:59 /usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/stdarg.h -> machine/stdarg.h
There is also:
/usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/include/stdarg.h
(which seems to be the one in use).
The usr/include/stdarg.h line 40's in each case are the #endif in:
> #ifndef _VA_LIST_DECLARED
> #define _VA_LIST_DECLARED
> typedef __va_list va_list;
> #endif
By contrast the 5.3.0/include/stdarg.h has the typedef below as line 40:
> #ifndef __GNUC_VA_LIST
> #define __GNUC_VA_LIST
> typedef __builtin_va_list __gnuc_va_list;
> #endif
usr/include/stdarg.h line 98 in each case is the sizeof line in:
> #define __va_longlong(type) \
> (__builtin_classify_type(*(type *)0) == __INTEGER_TYPE_CLASS && \
> sizeof(type) == 8)
By contrast the 5.3.0/include/stdarg.h has the typedef below as line 98:
> #ifndef __va_list__
> typedef __gnuc_va_list va_list;
> #endif /* not __va_list__ */
It would appear that /usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/include/stdarg.h is the one in use during the failure.
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-ppc
mailing list