From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joel Sherrill To: james , gcc@gcc.gnu.org, help-gcc@gnu.org, crossgcc@sourceware.cygnus.com Subject: Re: linux->a29k-coff compiling error Date: Tue, 04 Jan 2000 05:39:00 -0000 Message-id: <3871F5DF.3FB7534D@OARcorp.com> References: <3.0.32.20000104124855.0072ace8@public1.sta.net.cn> X-SW-Source: 2000-01/msg00035.html 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joel Sherrill To: james , gcc@gcc.gnu.org, help-gcc@gnu.org, crossgcc@sourceware.cygnus.com Subject: Re: linux->a29k-coff compiling error Date: Sat, 01 Apr 2000 00:00:00 -0000 Message-ID: <3871F5DF.3FB7534D@OARcorp.com> References: <3.0.32.20000104124855.0072ace8@public1.sta.net.cn> X-SW-Source: 2000-q1/msg00035.html Message-ID: <20000401000000.JmR6idwOQR4UHwn8XZEwV-08X437XHqfO1W0FebuHTI@z> 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