Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jun 2009 22:05:52 -0500 (CDT)
From:      Mark Tinguely <tinguely@casselton.net>
To:        freebsd-arm@freebsd.org, tinguely@casselton.net, vassilis.laganakos@yahoo.com
Subject:   Re: ARMv7 - EABI - Cross Compiler
Message-ID:  <200906180305.n5I35qci045136@casselton.net>
In-Reply-To: <523661.6738.qm@web59407.mail.ac4.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help

>  I don't know what are the changes from previous versions of GCC with the trunk.
>  Maybe the release notes have more info on this....

FreeBSD compiler has a variable defined into it that the kernel sources
expect to find, it has extended format commands, and it modifies
gcc/gcc.c to look for the support programs in normal places.

>  > I made changes to the gcc-4.5-20090528 directory and the build directory.
>  > I will look at the libraries too.
>  > 
>  Cool!

I am still using modified GNU make file. Static libraries can cross
compile an application to ARM but I gave up on configure/gmake on
libmudflap. My library compile process became a hacking in the configure
files. I was just walking around the problems as they popped up. Had
I read and understood all the configure options, maybe it would have
gone smoother. The "-Werror" complaints and "xgcc -E" as a pre-processor
command are the two biggest problem in the library compilation process.

Once we have a cross compiler that can make a kernel, it seems a waste
of time to keep going with the configure/gmake route. Your idea of
moving the sources over to the head/contrib/gcc and editing the BSD
make files in head/gnu/usr.bin/cc is the way to go because making
the compiler from sources is part of the cross build world.

I diff-ed the sources from the GNU original (4.2.1 if memory serves me
right) sources and filled in the missing pieces into the GCC 4.5 files.
Some things have already been put into GCC 4.5, some areas seemed re-written.
I was mostly interested in getting the FreeBSD extensions in. I can give you
diff of my sources against GCC 4.5 original code or tar up both the source
and build directory.  The changes would be simular for GCC 4.4.

There is nothing special about GCC 4.5, I just took the most recent source
that is available. Also, I just blindly copied the freebsd* header files
from head source into GCC 4.5. The real way of doing this is to edit up
the existing GCC 4.5 header files and add the new items. I did that with
a couple that are used in the ARM build.

The sources in the gcc support library files are not changed; it would
just take some BSD make file editing to get them to compile under the
head directory.

--Mark.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906180305.n5I35qci045136>