This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


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

Re: Getting GCC to cross-compile for MIPS


Hi Bret,

     My understanding is that you can't build a MIPS cross-compiler which
emits MIPS assembler machine code because mips-tfile.c and mips-tdump.c
can't be compiled on anything but a MIPS.  Try adding the following
switches to your ./configure command line:

     --with-gnu-as
     --with-gnu-ld

(ref:  Using and Porting GNU CC manual, section 3.3 para. 1)

Good luck.  Hope it helps
========================================================
Bret Indrelee wrote:

> I am having trouble getting GCC to cross-compile for MIPS.
>
> I have native versions of the following GNU tools installed:
>         autoconf-2.12
>         m4-1.4
>         gcc-2.8.1
>         make-3.77
>         patch-2.5
>         binutils-2.9.1
>
> I then tried to follow the FAQ instructions for crossgcc, installing the
> patch and creating binutils before attempting to install gcc.
>
> I have the header files for the environment that I'm going to use, so
> when configuring gcc I gave it the --with-includes=$(DIR) directive.
>
> cc      gcc
> host    sparc-sun-solaris2
> prefix  /nfs-home/breti/cross-mips
> shell   /bin/csh
> target  mips64-elf
>
> It fails in the 'make all' for gcc.
> $ ../gcc-2.8.1/configure --target=$target --host=$host --prefix=$prefix
> --with-includes=/nfs-home/breti/nec-pmon/include -v
> $ make all
>
> ... lots of stuff works ...
> make[2]: Entering directory `/export/home/breti/gnutools/build-gcc'
> rm -f tmplibgcc2.a
> for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 _lshrdi3
> _ashldi3 _ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2
> _floatdidf _floatdisf _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi
> _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi
> _fixtfdi _fixunstfdi _floatditf __gcc_bcmp _varargs __dummy _eprintf
> _op_new _op_vnew _new_handler _op_delete _op_vdel _bb _shtab
> _clear_cache _trampoline __main _exit _ctors _eh _eh_compat _pure; \
> do \
>   echo ${name}; \
>   ./xgcc -B./ -O2  -DCROSS_COMPILE -DIN_GCC  -DSVR4  -g -I./include  -G
> 0 -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fexceptions   -I.
> -I../gcc-2.8.1 -I../gcc-2.8.1/config -c -DL${name} \
>       ../gcc-2.8.1/libgcc2.c -o ${name}.o; \
>   if [ $? -eq 0 ] ; then true; else exit 1; fi; \
>   /nfs-home/breti/cross-mips/mips64-elf/bin/ar rc tmplibgcc2.a
> ${name}.o; \
>   rm -f ${name}.o; \
> done
> _muldi3
> xgcc: installation problem, cannot exec `mips-tfile': No such file or
> directory
> make[2]: *** [libgcc2.a] Error 1
> make[2]: Leaving directory `/export/home/breti/gnutools/build-gcc'
> make[1]: *** [stmp-multilib-sub] Error 2
> make[1]: Leaving directory `/export/home/breti/gnutools/build-gcc'
> make: *** [stmp-multilib] Error 1
> breti@nfs-eng:/export/home/breti/gnutools/build-gcc 248 >
>
> There is a ../gcc-2.8.1/mips-tfile.c, but it appears to only be intended
> for native mips compilation. I'm not familiar enough with MIPS to figure
> out what it is supposed to be, it looks to be related to the elf file
> format.
>
> Any suggestions?
>
> -Bret
>
> Bret Indrelee     SBS Bit 3 Operations   1284 Corporate Center Drive
> breti@bit3.com    651 905 4731                  St. Paul, MN 55121-1245
> ________________________________________________
> To get help for the crossgcc list, send mail to
> crossgcc-request@cygnus.com with the text 'help'
> (without the quotes) in the body of the message.



--
|----------------------------------------|
|                                        |
|  The way to be happy is to be good.    |
|                                        |
|----------------------------------------|


________________________________________________
To get help for the crossgcc list, send mail to
crossgcc-request@cygnus.com with the text 'help'
(without the quotes) in the body of the message.