Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 May 2016 15:12:37 -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, Bryan Drewery <bdrewery@FreeBSD.org>
Subject:   Re: 11.0-CURRENT -r300770 libc++ update vs. lang/powerpc64-xtoolchain-gcc: no go [self hosted powerpc64 context]
Message-ID:  <81D66DC8-4260-4C02-8B0F-54621478D0F2@dsl-only.net>
In-Reply-To: <AF7F57DA-4571-40B7-A2FF-A15D9203409A@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> <0C88C11C-154A-459B-98EB-2A80A166DBCE@dsl-only.net> <B291643F-B423-48FE-9A45-B25F1495C879@FreeBSD.org> <AF7F57DA-4571-40B7-A2FF-A15D9203409A@dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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
>=20
> 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=20
> 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) =3D=3D =
__INTEGER_TYPE_CLASS && \
>          sizeof(type) =3D=3D 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.

=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?81D66DC8-4260-4C02-8B0F-54621478D0F2>