bootstrapping gnat GCC on amd64

Daniel Eischen eischen at vigrid.com
Tue May 19 13:51:10 UTC 2009


On Tue, 19 May 2009, xorquewasp at googlemail.com wrote:

> On 2009-05-18 18:36:15, Daniel Eischen wrote:
>> Well, I used a newer binutils on sparc when I did the original
>> port.  Once I built the cross compiler and binutils toolset,
>> I was done with it.  After the native compiler is built using
>> the cross tools, you should be able to rebuild the native
>> compiler _again_ but this time with the system (amd64)
>> binutils.
>
> I probably should point out that I don't think this is the case anymore.
>
> GCC apparently detects what capabilities the currently selected binutils
> have so when the first native compiler has been compiled using the
> cross, it will emit code that can't be assembled using the system
> binutils (because it uses features from the new binutils that aren't
> supported by the older system ones). In other words, you can't rebuild the
> native compiler using the system binutils.
>
> If the worst comes to the worst, I can create a dependency on the
> devel/cross-binutils port.

Even so, you shouldn't need a cross-binutils, only a native
(amd64) binutils.  Your port won't be a cross port, but a
native amd64 port.  The native amd64 GNAT will need a native
binutils, not a cross binutils.  The only thing you will have
to make is a minimal bootstrap (native amd64) compiler.

Of course you can create a cross port if you want to facilitate
cross builds for ports that don't exist yet, but no one running
amd64 will want to make a cross build when they can make a
faster native build with less dependencies.

-- 
DE


More information about the freebsd-hackers mailing list