From owner-svn-src-head@freebsd.org Mon Nov 20 02:19:12 2017 Return-Path: Delivered-To: svn-src-head@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 C088DDDDAD1 for ; Mon, 20 Nov 2017 02:19:12 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-115.reflexion.net [208.70.210.115]) (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 75B316BE66 for ; Mon, 20 Nov 2017 02:19:12 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 4501 invoked from network); 20 Nov 2017 02:19:05 -0000 Received: from unknown (HELO mail-cs-02.app.dca.reflexion.local) (10.81.19.2) by 0 (rfx-qmail) with SMTP; 20 Nov 2017 02:19:05 -0000 Received: by mail-cs-02.app.dca.reflexion.local (Reflexion email security v8.40.3) with SMTP; Sun, 19 Nov 2017 21:19:05 -0500 (EST) Received: (qmail 31593 invoked from network); 20 Nov 2017 02:19:05 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 20 Nov 2017 02:19:05 -0000 Received: from [192.168.1.25] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id 8178CEC8F85; Sun, 19 Nov 2017 18:19:04 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: svn commit: r325954 - in head: . share/mk sys/conf usr.sbin/config From: Mark Millard In-Reply-To: <297A2FDE-6105-4F64-921B-9510066F0420@FreeBSD.org> Date: Sun, 19 Nov 2017 18:19:04 -0800 Cc: svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <7230AC67-7F9A-4FE2-BC32-B2BA8091206D@dsl-only.net> References: <59284FA3-1659-49D0-A860-366B98B02209@dsl-only.net> <26aaac2e-01d5-a11c-1182-39363d5cafc5@FreeBSD.org> <4DCBA4BA-1803-4B8F-B232-7558227E4002@dsl-only.net> <297A2FDE-6105-4F64-921B-9510066F0420@FreeBSD.org> To: Pedro Giffuni X-Mailer: Apple Mail (2.3273) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Nov 2017 02:19:12 -0000 [Continuing the gcc 4.2.1 side issue a bit.] On 2017-Nov-19, at 5:40 PM, Pedro Giffuni wrote: >> On Nov 19, 2017, at 19:11, Mark Millard wrote: >>=20 >> [As long as things do not go the direction of >> eliminating gcc 4.2.1 being able to do buildworld >> and buildkernel for certain architectures, I >> agree that this would stay an off-topic subject.] >>=20 >> On 2017-Nov-19, at 3:43 PM, Pedro Giffuni wrote: >>=20 >>> .... >>> On 19/11/2017 17:38, Mark Millard wrote: >>>> Pedro Giffuni pfg at FreeBSD.org wrote on >>>> Sun Nov 19 15:29:33 UTC 2017 : >>>>=20 >>>>> Yes, we should >>>>> avoid breaking existing stuff (however old) in ports but no one is >>>>> expecting to build modern FreeBSD with gcc 3.4 or even gcc 4.1. We = did >>>>> what we could with gcc 4.2.1 but it's time is also over. >>>> Unfortunately for powerpc64 no alternative >>>> works fully. For example: >>>>=20 >>>> A) With a buildworld by clang and C++ programs linked against >>>> the system libraries, any C++ exception thrown causes the >>>> program to crash: clang generates bad code in the library. >>>>=20 >>>> B) Modern gcc's build a lib32 based on generating a messed up >>>> crtbeginS.o content (bad register usage) and so 32-bit >>>> programs crash. >>>>=20 >>>> As far as I know gcc 4.2.1 is still the only environment that >>>> generally works for powerpc64. >>> Hmm ... >>> At some point some of the newer GCC was generating good code. >>> I have had reports of openoffice-devel working on FreeBSD powerpc64 = and, >>> even on x86, openoffice stopped building with our base gcc. >>=20 >> openoffice likely does not depend on lib32 (support of 32-bit >> code under a powerpc64 environment) even being present, much >> less working? >>=20 >=20 > Yes, right: it=E2=80=99s pretty native: either all 64 bit or all 32 = bit.. > The port had endianness issues but once Curtis Hamilton fixed those = the port worked. > For the record: AOO generally needs two things: working java and a = low-level "bridges" code. > I don=E2=80=99t have access to the platform but patches to build the = arch-dependent =E2=80=9Cbridges=E2=80=9D code with clang would be very = welcome. >=20 >> As far as I know, for powerpc64 WITHOUT_LIB32=3D buildworld, >> devel/powerpc64-gcc is sufficient. It is WITH_LIB32=3D coverage >> that makes it insufficient overall. Anything that does not >> depend on lib32 likely works as well as on other architectures. >>=20 >>>> [There is no devel/powerpc-gcc like there is a devel/powerpc64-gcc >>>> and I've never managed to to make a working powerpc build from a >>>> gcc other than 4.2.1 . (A) prevents clang from counting as working >>>> overall. So powerpc may be in the same boat as powerpc64 as far as >>>> having a known way to build without gcc 4.2.1 goes.] >>> At least PPC64 is alive, I am afraid that I don't see a solution for = sparc64. >>=20 >> I do not have direct experience for sparc*'s but I'd >> not be surprised. >>=20 >>> But this is very off-topic to lint issue :). >>=20 >> As long as things do not go the direction of >> eliminating gcc 4.2.1 being able to do buildworld >> and buildkernel for certain architectures, I >> agree that this would stay an off-topic subject. >>=20 >=20 > I have no interest in killing any platform but we are reaching a point = where, other than being unmaintained, gcc-4.2.1 won=E2=80=99t be able to = build newer clang or gcc. gcc 4.2.1 has not been able to build the system clang for a long time. Getting from a gcc 4.2.1 powerpc64 or powerpc to a clang-based one is a pain when self hosting. Cross building with clang in use is handier when one has a supporting context for such. gcc* tends to have a bootstrapping stage available that builds xgcc (as I remember the name), avoiding modern stuff to get xgcc built. xgcc builds the full gcc* build, avoiding the original host compiler. This may still work with gcc 4.2.1 . I've not tried in a long time. Avoiding a full-bootstrap for a gcc* requires something more modern than gcc 4.2.1 . =3D=3D=3D Mark Millard markmi at dsl-only.net