解决Error: junk at end of line, first unrecognized character is `@'

http://www.unixresources.net/linux/clf/embedded/archive/00/00/62/92/629208.html

 

 

 我按照哈佛大学上的一个链接编译ARM Toolchain, 使用的版本是:
gcc 3.4.6
binutils: 2.16
glibc: 2.3.6
glibc-linuxthreads: 2.3.6
arm-kernel: linux-2.6.16.28

编译binutils, 建立kernel头文件和glibc头文件的过程都通过了, 但是在编译gcc stage1时出现如下错误:
/bin/sh ../../../gcc-3.4.6/gcc/mkconfig.sh tconfig.h
/home/sunxq/toolchain/arm/src/BUILD/gcc-3.4.6-stage1/gcc/xgcc -B/home/sunxq/toolchain/arm/src/BUILD/gcc-3.4.6-stage1/gcc/ -B/home/sunxq/toolchain/arm/arm-unknown-linux-gnu/bin/ -B/home/sunxq/toolchain/arm/arm-unknown-linux-gnu/lib/ -isystem /home/sunxq/toolchain/arm/arm-unknown-linux-gnu/include -isystem /home/sunxq/toolchain/arm/arm-unknown-linux-gnu/sys-include -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I../../../gcc-3.4.6/gcc -I../../../gcc-3.4.6/gcc/. -I../../../gcc-3.4.6/gcc/../include -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss -fno-unit-at-a-time
-c ../../../gcc-3.4.6/gcc/crtstuff.c -DCRT_BEGIN
-o crtbegin.o
/tmp/ccRHv7qf.s: Assembler messages:
/tmp/ccRHv7qf.s:36: Error: junk at end of line, first unrecognized character is `@'
/tmp/ccRHv7qf.s:37: Error: junk at end of line, first unrecognized character is `@'
/tmp/ccRHv7qf.s:38: Error: no such instruction: `stmfd sp!,{r4,r5,lr}'
/tmp/ccRHv7qf.s:39: Error: no such instruction: `ldr r5,.L12'
/tmp/ccRHv7qf.s:40: Error: no such instruction: `ldrb r3,[r5,'
/tmp/ccRHv7qf.s:41: Error: expecting operand after ','; got nothing
/tmp/ccRHv7qf.s:42: Error: no such instruction: `ldmnefd sp!,{r4,r5,pc}'
/tmp/ccRHv7qf.s:43: Error: no such instruction: `ldr r4,.L12+4'
/tmp/ccRHv7qf.s:44: Error: no such instruction: `b .L9'
/tmp/ccRHv7qf.s:46: Error: no such instruction: `ldr r3,[r4,'
/tmp/ccRHv7qf.s:47: Error: too many memory references for `add'
/tmp/ccRHv7qf.s:48: Error: invalid char '[' beginning operand 2 `[r4'
/tmp/ccRHv7qf.s:49: Error: too many memory references for `mov'
/tmp/ccRHv7qf.s:50: Error: too many memory references for `mov'
/tmp/ccRHv7qf.s:52: Error: no such instruction: `ldr r3,[r4,'
/tmp/ccRHv7qf.s:53: Error: no such instruction: `ldr r2,[r3,'
/tmp/ccRHv7qf.s:54: Error: expecting operand after ','; got nothing
/tmp/ccRHv7qf.s:55: Error: no such instruction: `bne .L11'
/tmp/ccRHv7qf.s:56: Error: no such instruction: `ldr r3,.L12+8'
/tmp/ccRHv7qf.s:57: Error: expecting operand after ','; got nothing
/tmp/ccRHv7qf.s:58: Error: no such instruction: `ldrne r0,.L12+12'
/tmp/ccRHv7qf.s:59: Error: no such instruction: `movne lr,pc'
/tmp/ccRHv7qf.s:60: Error: no such instruction: `movne pc,r3'
/tmp/ccRHv7qf.s:62: Error: expecting operand after ','; got nothing
/tmp/ccRHv7qf.s:63: Error: invalid char '[' beginning operand 2 `[r5'
/tmp/ccRHv7qf.s:64: Error: no such instruction: `ldmfd sp!,{r4,r5,pc}'
/tmp/ccRHv7qf.s:75: Error: junk at end of line, first unrecognized character is `@'
/tmp/ccRHv7qf.s:76: Error: junk at end of line, first unrecognized character is `@'
/tmp/ccRHv7qf.s:77: Error: invalid char '[' beginning operand 2 `[sp'
/tmp/ccRHv7qf.s:80: Error: no such instruction: `bl __do_global_dtors_aux'
/tmp/ccRHv7qf.s:83: Error: no such instruction: `ldr pc,[sp],'
/tmp/ccRHv7qf.s:89: Error: junk at end of line, first unrecognized character is `@'
/tmp/ccRHv7qf.s:90: Error: junk at end of line, first unrecognized character is `@'
/tmp/ccRHv7qf.s:91: Error: no such instruction: `ldr r3,.L18'
/tmp/ccRHv7qf.s:92: Error: expecting operand after ','; got nothing
/tmp/ccRHv7qf.s:93: Error: invalid char '[' beginning operand 2 `[sp'
/tmp/ccRHv7qf.s:94: Error: no such instruction: `ldr r0,.L18+4'
/tmp/ccRHv7qf.s:95: Error: no such instruction: `ldr r1,.L18+8'
/tmp/ccRHv7qf.s:96: Error: no such instruction: `movne lr,pc'
/tmp/ccRHv7qf.s:97: Error: no such instruction: `movne pc,r3'
/tmp/ccRHv7qf.s:99: Error: no such instruction: `ldr r0,.L18+12'
/tmp/ccRHv7qf.s:100: Error: no such instruction: `ldr r3,[r0,'
/tmp/ccRHv7qf.s:101: Error: expecting operand after ','; got nothing
/tmp/ccRHv7qf.s:102: Error: no such instruction: `ldreq pc,[sp],'
/tmp/ccRHv7qf.s:103: Error: no such instruction: `ldr r3,.L18+16'
/tmp/ccRHv7qf.s:104: Error: expecting operand after ','; got nothing
/tmp/ccRHv7qf.s:105: Error: no such instruction: `ldreq pc,[sp],'
/tmp/ccRHv7qf.s:106: Error: no such instruction: `ldr lr,[sp],'
/tmp/ccRHv7qf.s:107: Error: no such instruction: `b _Jv_RegisterClasses'
/tmp/ccRHv7qf.s:119: Error: junk at end of line, first unrecognized character is `@'
/tmp/ccRHv7qf.s:120: Error: junk at end of line, first unrecognized character is `@'
/tmp/ccRHv7qf.s:121: Error: invalid char '[' beginning operand 2 `[sp'
/tmp/ccRHv7qf.s:124: Error: no such instruction: `bl frame_dummy'
/tmp/ccRHv7qf.s:127: Error: no such instruction: `ldr pc,[sp],'
make[1]: *** [crtbegin.o] Error 1
make[1]: Leaving directory `/home/sunxq/toolchain/arm/src/BUILD/gcc-3.4.6-stage1/gcc'
make: *** [all-gcc] Error 2
[sunxq@fc4-host gcc-3.4.6-stage1]$

参见附件可以获得更加详细的出错信息.

看样子那个xgcc根本不认识ARM的指令, 请教各位大牛是怎么回事? 如何解决?

 

 

已解决,原因那个链接中的脚本不适用于gcc 3.4.6版本。

你可能感兴趣的:(linux开发)