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]

Problems with a mips cross compiler


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

Attachment: config_newlib.log
Description: Binary data

Attachment: config_eglibc.log
Description: Binary data

--
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]