From owner-freebsd-hackers@freebsd.org Mon Aug 10 06:29:50 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 98CA699E933 for ; Mon, 10 Aug 2015 06:29:50 +0000 (UTC) (envelope-from instructionset@gmail.com) Received: from mail-ob0-x233.google.com (mail-ob0-x233.google.com [IPv6:2607:f8b0:4003:c01::233]) (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 561EBAAD; Mon, 10 Aug 2015 06:29:50 +0000 (UTC) (envelope-from instructionset@gmail.com) Received: by obbhe7 with SMTP id he7so20741701obb.0; Sun, 09 Aug 2015 23:29:49 -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; bh=/P4G6rnMBML6V387MViL3BaMr2hVt1twb009sAryw80=; b=Xyx6NAiNsQS9FvJM4lBZEDrdUqsDlFW0vvAi76kudETnBWW+g8SyFCNSB81Dl/dNsq XkR4UjhOtqBFhINX15RvqiigMOl2ACcsgrC1yGYs9MXBhor5DIY5yZYssAX8/YNkaQxq W9kDpaua4Ra/8TPB2jizxOe27kQgYNvEVdKj3W2NE+JLKmktsrscs7rVi94kWlNrrWm6 Yk+vJb9FaqZnRQCVy1O/XkcHd36Y43gmP6LRlTmtQEVv2Bkig31JCnS6/tMn8gwbORdI hZvxQA4nJlz4zC1HsY+GfLOR93gb3PgprMzDSteBWs2DYA1YwxDrr4vvojmUOHSOoIvi oUJA== MIME-Version: 1.0 X-Received: by 10.60.93.168 with SMTP id cv8mr18964913oeb.82.1439188189452; Sun, 09 Aug 2015 23:29:49 -0700 (PDT) Received: by 10.202.129.139 with HTTP; Sun, 9 Aug 2015 23:29:49 -0700 (PDT) Received: by 10.202.129.139 with HTTP; Sun, 9 Aug 2015 23:29:49 -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: Mon, 10 Aug 2015 01:29:49 -0500 Message-ID: Subject: Re: Sparc64 support From: Bill Sorenson To: Adrian Chadd Cc: Kevin Bowling , Jordan Hubbard , "freebsd-hackers@freebsd.org" , Dimitry Andric , "K. Macy" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.20 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:29:50 -0000 I'm worried this little thread I started is becoming a place where things are getting done. Golly. -Bill Sorenson On Aug 10, 2015 1:03 AM, "Adrian Chadd" wrote: > 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 = willing > 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 > does 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 flags= 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 -current unti= l 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'' introspectio= n > to see if the appropriate toolchain is already installed, and if so, we g= o > to step 1d. Otherwise, it goes =E2=80=9CBleah! You must: pkg install > 6502-weird-ancient-gcc 6502-apple][-runtime=E2=80=9D and aborts, so the u= ser can > then make the determination about whether to cruft up their build machine > with those packages and retry the operation. > > > > 1d. All of the appropriate COMPILER_FOO variables are set to > compile 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 s= upported 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 right > things for their architecture (or if it doesn=E2=80=99t, they know what t= o hack > until it does) and steer the user in the direction of the appropriate > package(s). > > > > Am I missing anything? Is it really that obvious? It seems I must be > missing something if this is truly just a 2 step process. :) > > > > - Jordan > > >