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>