bootstrapping gnat GCC on amd64

Daniel Eischen deischen at freebsd.org
Mon May 18 22:36:18 UTC 2009


On Mon, 18 May 2009, xorquewasp at googlemail.com wrote:

> Hi.
>
> After a week off, another update:
>
> I've realised, too late, that I'm using a version of binutils
> (2.19) that's incompatible with the system binutils (2.15).
> Specifically, assembler code emitted by the native GNAT contains
> .cfi_personality directives (and no doubt other things too) that
> can't be processed by the system 'as'.
>
> I've got two choices now and would appreciate some advice on
> which to take given that I want to produce a FreeBSD port:
>
>  1. Compile binutils-2.15.
>
>  Unfortunately, compiling these as cross-binutils appear to be problematic:

Hmm, if the system binutils is 2.15, then it should build
as a cross.  You can do a cross build of all FreeBSD - I
think you just set TARGET="amd64" to build amd64 from
a different arch.  Part of this process should be to
create a cross binutils toolset.

>  2. Continue to use binutils-2.19.
>
>  This would appear to require me to create a binutils-2.19 port
>  just for the GNAT compiler. Seems like it would be preferable
>  to use the system binutils rather than to take this route...

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.

-- 
DE


More information about the freebsd-hackers mailing list