Re: eldk bug?how to fix
From: Wolfgang Denk <hidden>
Date: 2005-12-18 14:44:56
In message [ref] you wrote:
[root@localhost atmlz]# ppc_6xx-gcc -c -o temp atm_aalx.c atm_aalx.c: In function `main': atm_aalx.c:201: warning: return type of `main' is not `int' /tmp/cciJlehe.s: Assembler messages: /tmp/cciJlehe.s:916: Error: unsupported relocation against r3 /tmp/cciJlehe.s:917: Error: unsupported relocation against r3 /tmp/cciJlehe.s:917: Error: unsupported relocation against r3 /tmp/cciJlehe.s:918: Error: unsupported relocation against r3 /tmp/cciJlehe.s:918: Error: unsupported relocation against r3 /tmp/cciJlehe.s:919: Error: unsupported relocation against r3 /tmp/cciJlehe.s:3655: Error: unsupported relocation against r3
Are you by any chance using inline assembler code in your source file? This is the only explanation I have, since GCC does not generate "r3" references in it's assembler code. It would have been a good idea if you had included your source code so we could see what you are doing...
[root@localhost atmlz]# ppc_6xx-gcc -S -o temp.s atm_aalx.c
[root@localhost atmlz]# vi temp.s
...................
stw 0,4(9)
.L36:
#APP
mfmsr r3
ori r3,r3,0x8000
andi. r3,r3,0xffbf
mtmsr r3
#NO_APP
lwz 11,0(1)
..............................I see. This is your own assembler code, not something generated from C source code.
I must change those "r3" to "3" manually. How to fix?
Don't write incorrect assembler code, or use the required header files (like ppc_asm.tmpl). And while we are at it: be careful not to try privileged instructions in user space. This is your own error, not a problem with ELDK. Best regards, Wolfgang Denk -- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de If I had to live my life again, I'd make the same mistakes, only sooner. -- Tallulah Bankhead