This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more infromation.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Building arm cross compiler.



On 23 Mar 2000, Kumar Ramanathan wrote:

> I'm trying to build a kernel distribution for the Inter SA1100(Strong Arm)
> processor.
> I have a redhat 6.0 running on an Intel Pentium.

If all you want to do is build a kernel, you do not really need to build
glibc.

> Here are the steps I have followed :
> 
> 1. Installed binutils (2.9.5.xxx)
> 2. Compiled and created the gcc for arm(arm-linux-gcc).
> 3. Created the kernel headers.(as specified at
> http://developer.intel.com/design/strong/applnots/sa1100lx/sa1100lx.htm)
> 4. Now , I'm trying to install glibc2.1(with crypt and linuxthreads) on the
> machine.

I believe you should setup/install the kernel headers prior to building
your cross gcc.  Or simply grab a working set, see below.  (As long as
they are from a recent kernel > 2.2 you should not have a problem.  No
need to use 2.3 headers, even if you are building a 2.3 kernel.)

> Here is the error message I get during configure :
> 
> Some files are missing or too old . Check INSTALL for info.
> 
> Could someone help me out ??
> 
> 
> Also , here are some questions that have cropped up :
> 
> 1. I have the gcc2.9.16 installed as part ofo the redhat distro on the intel
> machine.
> 
> >From the ARM-README, i figured that gcc2.7.xx onwards , one can use gcc as a
> cross compiler.(From what little I understand of cross compilers, I figured
> that one can generate code for a different processor while on another
> processor-based system) ie : generate code for the ARM while on an intel
> machine.
> 
> Now, since my compiler can already do so , why do I need to install another
> compiler for the cross compilation ???Can't I use gcc -b to generate code for
> the ARM ??

No, your regular compiler cannot generate ARM code.  If you have RH 6.0,
then you most likely have egcs 1.1.2, which should build a cross compiler
fine.

> Also , I understand that the glibcs need to be in ARM format.Isn't there a
> binary distro of the glibcs which I could install directly and point my
> compiler to pick up hte libs from where I installed the glibc binaries (for
> the ARM) ??

If you want a precompiled cross compiler, you could try the RPMS, I put
together.  Warning:  They work for me, YMMV, also the documentation is
pretty sparse, at the moment.  Take a look at:
	ftp://ftp.nw.carleton.ca/cross/i586-armv4l/versioned/*
They install in /usr/armv4l-unknown-linux/

Or, if you simply want to grab parts, and build the remainder.

If you are very brave and want to try to build it yourself, the source rpm
is at:
	ftp://ftp.nw.carleton.ca/cross/SRPMS/
		cross-armv4l-linux-0.4-1.src.rpm
Use the 0.4 version, as it has the Makefile cleaned up a bit.  Once I
finish writing the documentation for this properly I'll release this one,
it will be much cleaner for building.

Any questions send me an e-mail.

[On a side note:  Stay away from using binutils 2.9.5.0.31 for ARM
targets, it seems to have a slight bug.  Which is fixed in the current CVS
tree.  Or apply the following patch:
	ftp.netwinder.org/users/s/stewart/binutils-2.9.5.0.31-arm.patch]

Good luck,
-Rms


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]