crosstool-ng: cross compiler for -mach=arm4vt (Cirrus Logic EP93xx target)
Matthias Kaehlcke
matthias@kaehlcke.net
Tue Sep 8 21:31:00 GMT 2009
El Tue, Sep 08, 2009 at 11:17:34PM +0200 Yann E. MORIN ha dit:
> Hello H Hartley,
> All,
>
> On Tuesday 08 September 2009 22:42:24 H Hartley Sweeten wrote:
> > I have been trying to get CodeSourcery's arm-none-linux-gnueabi (Sourcery
> > G++ Lite 2009q1-203) 4.3.3 toolchain to work with Buildroot and an EP93xx
> > based target. Â Unfortunately Buildroot is not setup to handle the multilib
> > feature of that toolchain (default libraries are for ARMv5T). Â I have
> > tried a number of ways in Buildroot to get that that toolchain to work but
> > my resulting filesystem always dies due to an unrecognized instruction.
>
> If we can trust the Linux kernel, then the EP93xx is an arm920t, which
> is an armv4, not an armv5t. Which can explain why you have an illegal
> instruction...
>
> > I followed the Download and usage instructions on the website:
> [--SNIP install steps--]
>
> Correct. :-)
>
> > I think I have everything setup and configured correctly but I can't figure
> > out why the build is failing. From the build.log it appears that linuxthreads
> > is getting checked out but when the build tries to mv it the files do not exist:
> > [ALL ] cvs checkout: Updating linuxthreads/linuxthreads_db
> > [DEBUG] ==> Executing: 'mv linuxthreads glibc-linuxthreads-cvs-2.7'
> > [ALL ] mv: cannot stat `linuxthreads': No such file or directory
> > [ERROR] Build failed in step 'Retrieving needed toolchain components' tarballs'
>
> I don't download everything every time, so it may well be that something
> broke at some point. Care to send your .config, so I can try to reproduce?
>
> > Do I have something configured incorrectly or am I doing something wrong?
> > Is there a "magic" combination of the Binutils/C compiler/C-library version
> > that must be used?
>
> There's no armv4t sample in crosstool-NG.
> But you could base your configuration on the arm-unknown-linux-uclibc
> sample, and update the configuration to something like:
> Target options -->
> (armv4t) Architecture level
> () Generate code for the specific ABI
> (ep9312) Emit assembly for CPU
> (ep9312) Tune for CPU
> (maverick) Use specific FPU
> Floating point: ---> hardware (FPU)
>
> NB: do not enable EABI, I think it requires at least armv5t, but I'm
> not sure. So stay on the safe side, and stick with OABI.
nope, i use EABI with arm4vt CPUs (ep93xx). some time i ran into the
same issue as hartley, and martin guy kindly provided a solution:
http://sourceware.org/ml/crossgcc/2008-05/msg00009.html
--
Matthias Kaehlcke
Embedded Linux Engineer
Barcelona
I am incapable of conceiving infinity, and yet I do not accept finity
(Simone de Beauvoir)
.''`.
using free software / Debian GNU/Linux | http://debian.org : :' :
`. `'`
gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `-
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list