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