Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Jul 2009 15:46:33 -0700 (PDT)
From:      Vassilis Laganakos <vassilis.laganakos@yahoo.com>
To:        Mark Tinguely <tinguely@casselton.net>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: ARMv7 - EABI - Cross Compiler
Message-ID:  <462282.87449.qm@web59413.mail.ac4.yahoo.com>
In-Reply-To: <200906180305.n5I35qci045136@casselton.net>
References:  <200906180305.n5I35qci045136@casselton.net>

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

Hi Mark,

Sorry for the delayed reply, I was in transitional period, moving things around.


> >  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.
> 
Oh ok,  I assume the info is in the handbook (or in the sources :) )

> >  > 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.
> 
libmudflap gave me trouble too. Went through quite a few web pages to 
get my head around, still I'm not sure what to do to config things the way I want...
I guess the -Werror would be kind of expected in such transitions. 

> 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.
> 
Thanks, let's hope it works, and it is not crazy difficult to do...

> 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.
> 
That would be very helpful! Is the number of missing pieces huge?

> 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.
> 
True, I think we have to merge the current header files with the new header
files to have the new items in. Also, some things in the 4.4 header arm files
seem to be doing some things in a way different than the linux-gnueabi way
that I'm more familiar with. Trying to understand :)  (once I have my stuff working
again I will *finally* put the info in a wiki...)

> 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.
> 
Ok. 

> --Mark.

Once I get my hands back on this, I'll post here the progress and keep you informed.

Many thanks,
Vassilis L.



      




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