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

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: crosstool-ng: cross compiler for -mach=arm4vt (Cirrus Logic EP93xx target)


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.

I give no guarantee, as I don't have the HW, but you should give it a
try. Also, java is currently broken, so you should disable it in the
"C compiler" sub-menu...

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| --==< ^_^ >==-- `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
`------------------------------^-------^------------------^--------------------'



--
For unsubscribe information see http://sourceware.org/lists.html#faq


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