From owner-freebsd-current@freebsd.org Sat Jun 30 17:19:36 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5D6B2FD05D4 for ; Sat, 30 Jun 2018 17:19:36 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic305-21.consmr.mail.ne1.yahoo.com (sonic305-21.consmr.mail.ne1.yahoo.com [66.163.185.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DFDF285335 for ; Sat, 30 Jun 2018 17:19:35 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: Xt_DqMoVM1l_bXXQbL7opZX8yHE4ysXbHpB.KhBDQzxRDVSFeEFGAyL6w5l5bJ_ HZpEJLlULyPEcAga4Rw.4qbMtRKWuggCzye2sFaAzPSdkIPsOxdOZqa_VjZ8Avs9J.ufhcwHXsTz Er3pAEuTa6r5a..VZy5PvzW7Ka1XBNvurJHE9mpzb0nx4UHPot4uZiAScj0PP0lh3XgxrYN9cR6H 9ICQtk4IEUyccm0xF1LLcV53kadiPeIGNX1ZxcPsLxj_ROKM9YC9ygsSE2PlbNMt0IAJohxl_hLh YKowHf9GDoo..uoz.i1OMG9OXTdq4MCVLfHltmHcpI5FhexmEjs1o617FQc_O1qN5LQTlDlwJ9WZ T1MB6G0erN1EpDo28OovK.AUyEv8dnZbDLLye5LlOz6IwXtlR.ETGE4w3cFdfrMh1cA_6uX.KLpi lHyP_lyGH5tUbtMxogiCZs2NDUa0i1OSX2LFoxap0K8nYWT9_6zIOorRBRMSG4ywezrYLN0eRDDH C8UC9PMWZqlA2YjaTiw0LFFn5wfZXuQx5ZTuYK_DWo2AH6i.Lzn4LbUjd7paKC6r1MVC1cT8hRUm gN6Kmtx.ZXN48NwEI.KylSCH_viUpw_pMK1Wv9.ZmHZnajO5k8FuiJtd48PtWglIYSe1GShD6_PU C8svR5.0NUic0ylXmPT9iDw.Rb6qq4pkS80q2N9lmktj1G3WAmbwXTGa8sk0S1bn6BUrp24.ZqqE PRLkzKG5e.BJQSCdnEYSlgJrdmxLkIX3e7tQ71b7yF30XnVb2rkyCtEvTF6xFLZ8RVcEBtFrmadc n8APb0_Rr7Dt7F0H6OuWSFCyPIm5QdjGxXAbh05i4dXJfPX7RIwbDmIN3jvp1m2qBS6wRAXY0e9p bl6o.j6VqDcajC9GftP07OmCzT9Gfnql7ED1NCE0sTe7Cktiw37hFX2A6k.eI9145hZdrrmpM0em Tx1i8GqDU2cABvAZ3ED60lIYRDuQETHBFkQDv34QCUw-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.ne1.yahoo.com with HTTP; Sat, 30 Jun 2018 17:19:29 +0000 Received: from ip70-189-131-151.lv.lv.cox.net (EHLO [192.168.0.105]) ([70.189.131.151]) by smtp419.mail.ne1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID c0a53a6b3e4e8bea18e82ab34bc09f84; Sat, 30 Jun 2018 17:19:24 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 11.4 \(3445.8.2\)) Subject: Re: head -r335782 (?) broke ci.freebsd.org's FreeBSD-head-amd64-gcc build (lib32 part of build) From: Mark Millard In-Reply-To: <49BF6569-96A9-4104-BDE6-8BB94C0D9626@yahoo.com> Date: Sat, 30 Jun 2018 10:19:22 -0700 Cc: Bryan Drewery , svn-src-head@freebsd.org, FreeBSD Current Content-Transfer-Encoding: quoted-printable Message-Id: References: <00D1127A-1F0E-4E0E-B86C-1C5AA5B2E085@yahoo.com> <7A845F2C-C994-4828-823D-33A97B7B6EB0@yahoo.com> <72081b02-cf23-82ec-32df-7f5793c35f57@FreeBSD.org> <003509F0-F2F4-4A43-82FE-3F6FC23D19D4@yahoo.com> <65b19cc4-eaf0-13ed-43e6-9f04a1f7f196@FreeBSD.org> <49BF6569-96A9-4104-BDE6-8BB94C0D9626@yahoo.com> To: John Baldwin , Dimitry Andric X-Mailer: Apple Mail (2.3445.8.2) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Jun 2018 17:19:36 -0000 On 2018-Jun-30, at 10:04 AM, Mark Millard wrote: > On 2018-Jun-30, at 9:29 AM, John Baldwin wrote: >=20 >> On 6/30/18 9:17 AM, Mark Millard wrote: >>> On 2018-Jun-30, at 7:51 AM, John Baldwin wrote: >>>=20 >>>> On 6/29/18 2:37 PM, Mark Millard wrote: >>>>> [I expect this is more than just amd64-gcc related but that is all >>>>> that ci.freebsd.org normally builds via a devel/*-gcc .] >>>>=20 >>>> As indicated by my other mail, this is i386 and amd64 specific as = it >>>> only matters for float.h on i386 due to the disagreement on >>>> LDBL_MANT_DIG. >>>=20 >>> I was correct about the search order for include files being >>> different before -r335782 vs. -r335782 and later: >>=20 >> Yes, but this is kind of a feature, not a bug, and the issue there is = that >> as much as possible we should allow FreeBSD to work with the standard = headers >> that are supposed to be part of the language (and thus provided by = the >> toolchain). Right now we don't ship any of the 'std*.h' headers = clang >> provides for example in our base system clang, though a few months = ago I >> fixed the one place that was using instead of >> in userland that was breaking the use of the = toolchain-provided >> stdarg.h (both GCC and clang). >>=20 >>> Might this reversal have other effects even for >>> architectures for which the code does compile >>> via devel/*-gcc ? >>=20 >> It depends on the header. This particular failure is due to a quirk = of >> on FreeBSD/i386. I have built other platforms with = external >> GCC just fine. To the extent that we encounter any other issues we >> should try to make our source more conformant with C and only fall = back to >> axeing the toolchain-provided language headers as a last resort. >=20 > It is too bad that the review https://reviews.freebsd.org/D16055 did = not > catch the change in what headers are used by buildworld and = buildkernel. > I'd view such switching of long established header bindings as a > fairly big deal, possibly even warranting being explicitly proposed = and > debated. >=20 > I'm not claiming my opinion on which search order that I have is > actually relevant. I'm just now nervous about my powerpc64-gcc based > builds having unexpected differences, for example. [I sometimes = explore > the status of powerpc family builds via more modern toolchains.] >=20 > (But lib32 for powerpc64 via modern gcc's is messed up anyway, > generating code in crtbeginS.o for the wrong ABI: using R30 = incorrectly. > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D206123 has more = about > that.) Looks like my being nervous is justified: there is a conflicting = altivec.h that has nothing to do with C/C++ language standards: # ls /usr/local/lib/gcc/powerpc64-unknown-freebsd12.0/6.4.0/include/ altivec.h htmxlintrin.h ppc-asm.h = spe.h stdarg.h stddef.h = stdint.h varargs.h float.h iso646.h ppu_intrinsics.h = spu2vmx.h stdatomic.h stdfix.h = stdnoreturn.h vec_types.h htmintrin.h paired.h si2vmx.h = stdalign.h stdbool.h stdint-gcc.h = tgmath.h I've not checked for other name conflicts vs. FreeBSD. I just happen to recognize altivec.h . There is: = /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/powerpc.po= werpc64/tmp/usr/include/machine/altivec.h = /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/powerpc.po= werpc64/tmp/usr/lib/clang/6.0.0/include/altivec.h = /usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/powerpc.po= werpc64/obj-lib32/tmp/usr/include/machine/altivec.h =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)