HEADS UP: Toolchain changes coming soon. (Octeon, n32, n64)

C. Jayachandran c.jayachandran at gmail.com
Wed Jun 2 15:32:43 UTC 2010


On Wed, Jun 2, 2010 at 8:34 PM, M. Warner Losh <imp at bsdimp.com> wrote:
> In message: <AANLkTiksE5HAN9gz_4FVRUYYtGWHG7jmLOWVSoLAC_U- at mail.gmail.com>
>            "C. Jayachandran" <c.jayachandran at gmail.com> writes:
> : On Wed, Jun 2, 2010 at 7:06 PM, M. Warner Losh <imp at bsdimp.com> wrote:
> : > In message: <AANLkTilYyTZRFvkly897pFgnISE9npT9BM1yuOiQr3rx at mail.gmail.com>
> : >            "C. Jayachandran" <c.jayachandran at gmail.com> writes:
> : > : On Tue, Jun 1, 2010 at 2:53 PM, Juli Mallett <jmallett at freebsd.org> wrote:
> : > : > On Tue, Jun 1, 2010 at 02:17, C. Jayachandran <c.jayachandran at gmail.com> wrote:
> : > : >> That clears it up, thanks.  Looking at the patch, most of the changes
> : > : >> seems to be in binutils, are these from a specific version of
> : > : >> binutils?  I am asking because I'm not sure how the FreeBSD toolchain
> : > : >> is synchronized across architectures - are all architectures at the
> : > : >> same version of binutils, or can each architecture decide to update
> : > : >> its part of the tool-chain.
> : > : >
> : > : > I pulled some files from a slightly more modern version of binutils
> : > : > from a Cavium SDK than ours and reduced differences to make the
> : > : > relevant parts of code match the older binutils API we provide, while
> : > : > still providing the newer opcode interface and a couple of nearby
> : > : > things.
> : > : >
> : > : >>> Is there specific functionality you need in GCC?
> : > : >>
> : > : >> Netlogic has some updates for GCC and binutils in its SDK. But they
> : > : >> are not critical, and we have not merged these into the FreeBSD.  I
> : > : >> was not sure if I can get these changes into FreeBSD directly.
> : > : >
> : > : > If Netlogic can GPLv2 their specific changes or reimplement them
> : > : > relative to FreeBSD's toolchain, I think we would want to coordinate
> : > : > to get them into the tree.  Our goal is generally to produce a
> : > : > fully-working self-hosting system out of the box.  That may change at
> : > : > some point, especially if Warner's work on supporting external
> : > : > toolchains better pans out well, but I think for now it's a reasonable
> : > : > goal.
> : > :
> : > : Stock binutils and GCC works fine for XLR (it is mips64 compliant), so
> : > : XLR is self-hosting with the current FreeBSD MIPS tool-chain.  Our
> : > : patch for GCC is for adding 'xlr' machine description and march/mtune
> : > : options. The binutils patch is for a few XLR specific instructions for
> : > : which we currently '.word' in assembly for.  So both of these are not
> : > : really needed.
> : > :
> : > : Also licensing should not be an issue here -  I'll have a go at this
> : > : once the other toolchain changes are in.
> : > :
> : > : > Note that my understanding is that David O'Brien is working on
> : > : > bringing in the last GPLv2 binutils which will make the differences
> : > : > required for mips64r2 and Octeon substantially-smaller and I would
> : > : > hope for Netlogic processors as well.
> : >
> : > One thing that I'm told, but haven't verified, is that the binutils
> : > from the XLR SDK breaks other mips platforms in subtle ways.  Based on
> : > this assertion, I think it would be prudent to carefully review and
> : > test any proposed patches from that SDK.
> :
> : Our gcc and binutils patches are in the latest releases (IIRC - GCC
> : went in about 4.4 and binutils patches are in 2.20), so it has gone
> : thru some testing.
>
> On the one hand, that's cool!
>
> On the other, if they are in those releases, then it is GPLv3 code.
> FSF requires ownership assignment.  How will there not be license
> issues?

We have these changes against the older (GPLv2) tool-chains in the
SDK.  I brought up the later versions just to clarify the testing and
review status.

JC.


More information about the freebsd-mips mailing list