Problems with a mips cross compiler

Berto20@fastwebnet.it Berto20@fastwebnet.it
Fri Jan 6 13:40:00 GMT 2012


Hello everybody,

I´m doing my master thesis and I´m having problems configuring the cross compile
r. I´ve read lots of articles, faq, tutorial, etc.., but I still think I´m missi
ng something, maybe very stupid and basilar, but without that I can´t have a cle
ar vision of everything and I can´t make it all work…so please feel free to expl
ain me everything. Let´s go to the problem.

I´m using SoClib to design a NoC with many MIPS and many RAMs and I want to load
 different applications in every RAM, to make every MIPS read from only one RAM.
 I managed to do that using very simple applications (like hello word with inter
rupts…) so now I was trying to realize a JPEG decoder to use in a more intense w
ay the MIPS. The problem is that the cross compiler I´m using can´t find the bas
ic stdio functions and so cannot compile the application for the mips. So basica
lly I didn´t managed to install a working full cross compiler.


1) Let´s start with the cross compiler installed with SoClib:
Here there is the guide I´ve followed to install it: http://www.soclib.fr/trac/d
ev/wiki/CrossCompiler
Now from what I´ve read this is not a full cross compiler. I´ve only installed a
 first stage gcc that can generate elf code for the mips but that can´t use any 
C function. With that one, I should compile a C library to create a new cross co
mpiler. So it´s normal that it is not working, although that doesn´t answer to t
he question: why “Hello world” was working if it uses a printf and includes stdi
o.h? The answer should be that I´ve seen that SoClib has his header stdio.h with
 very few function realized (printf is there) so I can´t use the standard C libr
ary with that compiler. 

2) Because of that I´ve decided to install a full cross compiler and I´ve read s
o many guides that I will only post the two I´ve used in practice:
http://www.cse.iitb.ac.in/grc/gcc-workshop-11/downloads/slides/gccw11-config-bui
ld.pdf  from page 108 (before explains the problems with cross compiling)
It uses EGLIBC. The only difference is that I´ve used as target “mipsel-elf”. If
 I´ve understood correctly, this method requires a 3 stage cross compiler, becau
se eglibc can´t be fully compiled with the first stage cross compiler. Now the p
roblem is that I can´t succeed in installing eglibc with the first stage cross c
ompiler (it fails at page 122). I´have attached the log. I think problems starts
 when it says: “mipsel-elf-gcc: error: unrecognized option ´-V´” and “mipsel-elf
-gcc: fatal error: no input files compilation terminated”. Seems that I´ve some 
problem with the compiler and all finishes with an unsupported platform…but it s
hould work because I´ve copied the eglibc/ports directory like the guide says…

3) I´ve tried another guide that uses newlib instead of eglibc:
http://www.cygwin.com/ml/crossgcc/2005-08/msg00114/l-cross-ltr.pdf
This guide creates only a 2 stage cross compiler. I think it´s because newlib ca
n be fully compiled with the first stage compiler…am I right? Anyway I get the s
ame problem. I can´t compile newlib and I get similar errors (log attached).

So that´s my problem and here I put some doubt I´ve had trying to resolve it.

4) Can the problem be the target=mipsel-elf? I know from the gnu documentation t
hat the name to configure gnu should be: cpu-manufacturer-os (or cpu-manufacture
r-kernel-os) but I´ve read that mipsel-elf is accepted. The elf should be becaus
e I don´t want to load an OS on my NoC platform and here the second doubt…

5) Can the problem be the OS thing? The guides uses linux kernel headers…maybe w
ith a mipsel-elf target I shouldn´t configure binutils –with-sysroot? But sounds
 me strange…what should change?

6) Yet another probably stupid question. The stdio and generally C functions, do
esn´t need an OS right? Because all these problems are making me doubt on the ba
sics…so I should be able to run a JPEG decoding C application with a mipsel-elf 
cross compiler right?

Every consideration, advice and help will be appreciated. If you have some docum
ents about these arguments please let me know, I would like to learn and become 
more confident in this field.
Thanks

Alberto
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config_newlib.log
Type: application/octet-stream
Size: 13049 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/crossgcc/attachments/20120106/8432af17/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config_eglibc.log
Type: application/octet-stream
Size: 28078 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/crossgcc/attachments/20120106/8432af17/attachment-0001.obj>
-------------- next part --------------
--
For unsubscribe information see http://sourceware.org/lists.html#faq


More information about the crossgcc mailing list