On 4/11/06, gamerChad <gamerChad@xxxxxxxxx> wrote: > > Hi > > I am trying to build a cross-compiler that targets arm-wince-pe, and I am > doing this on a computer that is i686 with debian linux. > > The problem happens when it tries to assemble lib1func.asm. It spews out a > bunch of assembler errors. I am pretty sure it is using the i686 assembler, > because I tried running that assembler on lib1func.asm and it produces the > same error messages. Running the arm-wince-pe assembler on that file > produces different error messages, I'm hoping only because it is not being > built with the rest of the compiler/libraries. > > My question is: how do I get it to select the correct assembler? > > Here is what I am using to configure gcc (I have an arm-wince-pe-as and > other tools in the --with-build-time-tools directory): > > sh /root/gcc/gcc-3.3.3/configure \ > --disable-nls \ > --disable-shared \ > --enable-multilib=no \ > --enable-languages=c,c++ \ > --with-cpu=strongarm \ > --with-build-time-tools=/root/pgcc/gcc/arm-wince-pe/bin \ > --with-headers=/root/pgcc-Mamaich-src/gcc-3.3.3/arm-wince-pe/libstdc++-v3 > \ > --with-lib=/root/pgcc-Mamaich-src/gcc-3.3.3/arm-wince-pe/libstdc++-v3 \ > --with-newlib \ > --target=arm-wince-pe > > Here is the build output while the thing is failing: > > if [ -f stmp-dirs ]; then true; else touch stmp-dirs; fi > /root/pgcc/gcc/gcc/xgcc -B/root/pgcc/gcc/gcc/ -B/usr/local/arm-wince-pe/bin/ > -B/usr/local/arm-wince-pe/lib/ -isystem /usr/local/arm-wince-pe/include -O2 > -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes > -Wmissing-prototypes -isystem ./include -Dinhibit_libc -fno-inline -g > -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. > -I/root/gcc/gcc-3.3.3/gcc -I/root/gcc/gcc-3.3.3/gcc/. > -I/root/gcc/gcc-3.3.3/gcc/config -I/root/gcc/gcc-3.3.3/gcc/../include > -DL_udivsi3 -xassembler-with-cpp -c > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm -o libgcc/./_udivsi3.o > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm: Assembler messages: > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:1: Error: junk at end of > line,first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:2: Error: junk at end of > line,first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:153: Error: no such > instruction: `work .req r4@XXXX is this safe?' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:154: Error: no such > instruction: `dividend .req r0' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:155: Error: no such > instruction: `divisor .req r1' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:156: Error: no such > instruction: `overdone .req r2' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:157: Error: no such > instruction: `result .req r2' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:158: Error: no such > instruction: `curbit .req r3' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:159: Error: no such > instruction: `ip .req r12' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:160: Error: no such > instruction: `sp .req r13' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:161: Error: no such > instruction: `lr .req r14' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:162: Error: no such > instruction: `pc .req r15' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:438: Error: expecting > operand after ','; got nothing > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:439: Error: no such > instruction: `beq Ldiv0' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:440: Error: expecting > operand after ','; got nothing > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:441: Error: expecting > operand after ','; got nothing > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:442: Error: too many memory > references for `cmp' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:443: Error: no such > instruction: `blo Lgot_result' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: junk at end of > line, first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: junk at end of > line, first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: junk at end of > line, first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: junk at end of > line, first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: expecting > operand after ','; got nothing > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `cmplo divisor,dividend' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `movlo divisor,divisor,lsl' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `movlo curbit,curbit,lsl' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `blo Loop1' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: junk at end of > line, first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: junk at end of > line, first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: expecting > operand after ','; got nothing > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `cmplo divisor,dividend' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `movlo divisor,divisor,lsl' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `movlo curbit,curbit,lsl' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `blo Lbignum' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: junk at end of > line, first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: junk at end of > line, first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: junk at end of > line, first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: junk at end of > line, first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: junk at end of > line, first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: too many memory > references for `cmp' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `subhs dividend,dividend,divisor' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `orrhs result,result,curbit' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: too many memory > references for `cmp' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `subhs dividend,dividend,divisor,lsr' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `orrhs result,result,curbit,lsr' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: too many memory > references for `cmp' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `subhs dividend,dividend,divisor,lsr' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `orrhs result,result,curbit,lsr' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: too many memory > references for `cmp' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `subhs dividend,dividend,divisor,lsr' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `orrhs result,result,curbit,lsr' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: expecting > operand after ','; got nothing > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `movnes curbit,curbit,lsr' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `movne divisor,divisor,lsr' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:445: Error: no such > instruction: `bne Loop3' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:447: Error: too many memory > references for `mov' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:448: Error: no instruction > mnemonic suffix given and no register operands; can't size instruction > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:452: Error: invalid char > '[' beginning operand 2 `[sp' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:452: Error: no such > instruction: `bl __div0' > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:452: Error: expecting > operand after ','; got nothing > /root/gcc/gcc-3.3.3/gcc/config/arm/lib1funcs.asm:452: Error: no such > instruction: `ldmia sp!,{pc}^' > /root/gcc/gcc-3.3.3/gcc/config/arm/ieee754-df.S:44: Error: junk at end of > line,first unrecognized character is `@' > /root/gcc/gcc-3.3.3/gcc/config/arm/ieee754-df.S:45: Error: junk at end of > line,first unrecognized character is `@' > make[2]: *** [libgcc/./_udivsi3.o] Error 1 > make[2]: Leaving directory `/root/pgcc/gcc/gcc' > make[1]: *** [stmp-multilib] Error 2 > make[1]: Leaving directory `/root/pgcc/gcc/gcc' > make: *** [all-gcc] Error 2 > -- If it is only asm code , i think gnu as can help you. If it contains mixture of C and asm then you need gcc. Well gcc is not built properly. I am not exactly sure why this happens. One is gcc is not correct , this very rarely happens. Second and the most probable reason is that you failed to build it properly. I would suggest you to build binutils properly first. Then export the PATH where binutils is installed . Then compile the bootstrap gcc. > View this message in context: http://www.nabble.com/I-think-it%27s-using-the-wrong-assembler%2C-please-help-t1427638.html#a3850184 > Sent from the gcc - Help forum at Nabble.com. > >