From owner-freebsd-ports@freebsd.org Sat May 28 22:12:40 2016 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8A220B4E0F9 for ; Sat, 28 May 2016 22:12:40 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-211-174.reflexion.net [208.70.211.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3ADAA17F2 for ; Sat, 28 May 2016 22:12:39 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 27026 invoked from network); 28 May 2016 22:13:10 -0000 Received: from unknown (HELO mail-cs-02.app.dca.reflexion.local) (10.81.19.2) by 0 (rfx-qmail) with SMTP; 28 May 2016 22:13:10 -0000 Received: by mail-cs-02.app.dca.reflexion.local (Reflexion email security v7.90.3) with SMTP; Sat, 28 May 2016 18:12:35 -0400 (EDT) Received: (qmail 26134 invoked from network); 28 May 2016 22:12:35 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with SMTP; 28 May 2016 22:12:35 -0000 X-No-Relay: not in my network X-No-Relay: not in my network X-No-Relay: not in my network X-No-Relay: not in my network X-No-Relay: not in my network Received: from [192.168.1.8] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id 717B4B1E001; Sat, 28 May 2016 15:12:33 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Subject: Re: 11.0-CURRENT -r300770 libc++ update vs. lang/powerpc64-xtoolchain-gcc: no go [self hosted powerpc64 context] From: Mark Millard In-Reply-To: Date: Sat, 28 May 2016 15:12:37 -0700 Cc: FreeBSD Toolchain , FreeBSD PowerPC ML , freebsd-ports@freebsd.org, Bryan Drewery Content-Transfer-Encoding: quoted-printable Message-Id: <81D66DC8-4260-4C02-8B0F-54621478D0F2@dsl-only.net> References: <95E2A9D6-8E1A-46FB-84FF-60927A6F1CE4@dsl-only.net> <8FAD594D-4349-4EA7-A712-D3792537FB1D@FreeBSD.org> <42773110-C392-4168-9B94-6902807DB530@dsl-only.net> <3BAE82F4-3BF4-4F02-9BFF-3F2290D3C82D@dsl-only.net> <0C88C11C-154A-459B-98EB-2A80A166DBCE@dsl-only.net> To: Dimitry Andric X-Mailer: Apple Mail (2.3124) X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 May 2016 22:12:40 -0000 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