From owner-freebsd-hackers@freebsd.org Mon Aug 10 06:03:24 2015 Return-Path: Delivered-To: freebsd-hackers@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 7C3DA99E40F for ; Mon, 10 Aug 2015 06:03:24 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-ig0-x234.google.com (mail-ig0-x234.google.com [IPv6:2607:f8b0:4001:c05::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 417ACA0F; Mon, 10 Aug 2015 06:03:24 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by igbij6 with SMTP id ij6so63273469igb.1; Sun, 09 Aug 2015 23:03:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=BBXNtNvks72ZbednVHOtFkPegJFQe6v04YJngmVL3EM=; b=VxODrmP/rdIskNPYfHRhDp1C+TLGUnhxbj25TdSHb5a8+krUT/Q815COFhe4VmAxH9 PgeyQjsIWeTGfytffPb2ZxY9qx59PlIf2PBHbzM6a10rvOPSeEi5HmpNWgGsUTX43AHR 0YtfmTJcrXTZVYFynwLWq1Ob29xzQGAj7jlrooPVmc7bywHxx+kAmfTLugh8bMVxRIID UCOnPGjwAg/Do42PWCUNueuGTx1N98O1eUY4SQV3n+MS+q62MOAgpEDSaM2Ovw205zCV VaqhslWAsMnRNqmvsg1PgcTHdxGfKdFcN7PRHBnHN5Na9YzFXr9OsuSvArVKj5V82nSU YiWA== MIME-Version: 1.0 X-Received: by 10.50.61.144 with SMTP id p16mr8845355igr.22.1439186603675; Sun, 09 Aug 2015 23:03:23 -0700 (PDT) Received: by 10.36.38.133 with HTTP; Sun, 9 Aug 2015 23:03:23 -0700 (PDT) In-Reply-To: References: <20150809215403.GC20238@server.rulingia.com> <6C12EBFE-EAA9-4C12-9F03-1CB2C28C4A6E@me.com> <51EEBC6E-5D85-439D-874D-D223EE045515@me.com> <926DDA42-8883-4AB4-B229-D44387FF5C6B@me.com> Date: Sun, 9 Aug 2015 23:03:23 -0700 Message-ID: Subject: Re: Sparc64 support From: Adrian Chadd To: Jordan Hubbard , Dimitry Andric Cc: Bill Sorenson , "freebsd-hackers@freebsd.org" , Kevin Bowling , "K. Macy" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Mon, 10 Aug 2015 11:22:37 +0000 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Aug 2015 06:03:24 -0000 poke dim and the other compiler-y people. They have a plan, and it's about time we started the deorbit. :) -a On 9 August 2015 at 22:54, Jordan Hubbard wrote: > >> On Aug 9, 2015, at 10:11 PM, Adrian Chadd wrote= : >> >> It's supposed to be (for mips): >> >> pkg install mips-gcc mips-xtoolchain >> make ... CROSS_TOOLCHAIN=3Dmips-gcc ... >> >> .. however there are loose ends to fix that prevent that from working >> out of the box. > > OK, so here=E2=80=99s what I would propose (and I would even, gulp, be wi= lling to toss a little engineering resources at it if it makes it actually = happen): > > 1. We add some sort of arch-bootstrap rule to /usr/src/Makefile which doe= s the following: > > 1a. If TARGET_ARCH is one of the =E2=80=9Cclang supported=E2=80= =9D architectures, it sets some =E2=80=9Cuse internal compiler=E2=80=9D fla= gs and declares an early victory. Go to step 1d. > > 1b. If TARGET_ARCH is one of those =E2=80=9CNo one can explain to= Adrian just how this even works=E2=80=9D then it just falls out of -curren= t until someone can do steps 1b and 1d. > > 1c. If TARGET_ARCH is one of the =E2=80=9Cexternal toolchain=E2= =80=9D supported architectures then it does the appropriate ``pkg info blah= '' introspection to see if the appropriate toolchain is already installed, = and if so, we go to step 1d. Otherwise, it goes =E2=80=9CBleah! You must:= pkg install 6502-weird-ancient-gcc 6502-apple][-runtime=E2=80=9D and abort= s, so the user can then make the determination about whether to cruft up th= eir build machine with those packages and retry the operation. > > 1d. All of the appropriate COMPILER_FOO variables are set to comp= ile for TARGET_ARCH and away we go. > > 2. Having done #1, we de-orbit the base version of gcc and let clang take= its rightful place as the only =E2=80=9Cinternal compiler=E2=80=9D support= ed in base. None of the weird architecture folks can complain that we just= broke -current for them because the arch-bootstrap rule will do all the ri= ght things for their architecture (or if it doesn=E2=80=99t, they know what= to hack until it does) and steer the user in the direction of the appropri= ate package(s). > > Am I missing anything? Is it really that obvious? It seems I must be mi= ssing something if this is truly just a 2 step process. :) > > - Jordan >