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

See the CrossGCC FAQ for lots more infromation.


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

Re: linux->a29k-coff compiling error


james wrote:
> 
> Hi there,
> 
>         to who may help me, :)
>         I'm always getting the same error msg while compiling the GCC software,
> I have tested the 2.8.1 and 2.95.2.
> 
>         I searched the mailing archives, but did not find anything about the error.
> 
> 
> 
> P.S:
> 
>         my host is pc-i686-linux-gnu, my target is a29k-coff.
> my configuration is:
> 
>         ../gcc-2.x.x/configure  --target=a29k-coff --with-gnu-as --with-gnu-ld
> 
>   -c ../gcc-2.8.1/cp/tinfo2.cc
> make[1]: Leaving directory `/tar-files/gcc-src/james-gcc-2.8.1-a29k-coff'
> make[1]: Entering directory `/tar-files/gcc-src/james-gcc-2.8.1-a29k-coff'
> ./xgcc -B./ -O2  -DCROSS_COMPILE -DIN_GCC    -g -I./include   -g1
> -DIN_LIBGCC2 -
> D__GCC_FLOAT_NOT_NEEDED -fexceptions  -I. -I../gcc-2.8.1
> -I../gcc-2.8.1/config \
>   -c ../gcc-2.8.1/cp/new.cc
> /tmp/ccpOzwex.s: Assembler messages:
> /tmp/ccpOzwex.s:171: Error: Invalid operands
> /tmp/ccpOzwex.s:224: Error: Invalid operands
> /tmp/ccpOzwex.s:234: Error: Invalid operands
> /tmp/ccpOzwex.s:236: Error: Invalid operands
> /tmp/ccpOzwex.s:273: Error: Invalid operands
> /tmp/ccpOzwex.s:288: Error: Invalid operands
> /tmp/ccpOzwex.s:342: Error: Invalid operands
> /tmp/ccpOzwex.s:395: Error: Invalid operands
> /tmp/ccpOzwex.s:405: Error: Invalid operands
> /tmp/ccpOzwex.s:407: Error: Invalid operands
> /tmp/ccpOzwex.s:444: Error: Invalid operands
> /tmp/ccpOzwex.s:459: Error: Invalid operands
> /tmp/ccpOzwex.s:567: Error: Invalid operands
> /tmp/ccpOzwex.s:577: Error: Invalid operands
> /tmp/ccpOzwex.s:579: Error: Invalid operands
> /tmp/ccpOzwex.s:616: Error: Invalid operands
> /tmp/ccpOzwex.s:631: Error: Invalid operands
> make[1]: *** [new.o] Error 1
> make[1]: Leaving directory `/tar-files/gcc-src/james-gcc-2.8.1-a29k-coff'
> make: *** [libgcc2.a] Error 1
> [root@cvsroot james-gcc-2.8.1-a29k-coff

Brendan is right.  This error normally occurs when compiling the
support gcc libraries cross and is indicative of using the wrong
assembler.  But this time, you are pretty far along in the 
compilation process.  It looks like C++ is forcing the a29k backend
to produce bad assembly code or the a29k binutils is not accepting
valid a29k code.  The thing to do at this point is:

1.  Investigate further.  cd to the appropriate directory in the
    build tree and execute the command by hand adding the "-S"
    option to get an assembly file.  Then assembly it by hand.
    Figure out whether the assembly language in question is good 
    or bad.  If it is good and binutils is not accepting it, then
    you have a binutils bug.  Otherwise, gcc is producing bad
    assembly code.  In that case, look at the -d options to gcc.
    The more information in your bug report the better. There are
    not many a29k users left.

2.  For now, only compile C to avoid this. :)

> ------
> Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
> Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel@OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


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