tlbwe, rfci instructions and gcc cross assembler

Cameron, Steve Steve.Cameron at COMPAQ.com
Fri Apr 12 07:53:18 EST 2002


I wrote about trouble compiling linuxppc_2_4
kernel on i686->powerpc cross compiler:
[...]
> /usr/local/ppc/bin/powerpc-linux-gcc -D__ASSEMBLY__
> -D__KERNEL__ -I/home/scameron/ppc/testdir/include   -c -o
> head_4xx.o head_4xx.S
> head_4xx.S: Assembler messages:
> head_4xx.S:111: Error: Unrecognized opcode: `tlbwe'
> head_4xx.S:112: Error: Unrecognized opcode: `tlbwe'
> head_4xx.S:420: Error: Unrecognized opcode: `rfci'
> make[1]: *** [head_4xx.o] Error 1
> make[1]: Leaving directory

I have a bit more info.  Looking through my binutils
(v. 2.12.90.0.4) I see some references to "tlbwe" so
I would think my binutils is recent enough...but
perhaps still broken?

So thinking maybe I wasn't running the assembler
I thought I was running, I did this:

cd /home/scameron/ppc/testdir/arch/ppc/kernel
strace /usr/local/ppc/bin/powerpc-linux-gcc -D__ASSEMBLY__ -D__KERNEL__ -I/home/scameron/ppc/testdir/include   -c -o head_4xx.o head_4xx.S
[...]
access("/usr/local/ppc/powerpc-linux/bin/as", X_OK) = 0
vfork()                                 = 16198
wait4(-1, head_4xx.S: Assembler messages:
head_4xx.S:111: Error: Unrecognized opcode: `tlbwe'
head_4xx.S:112: Error: Unrecognized opcode: `tlbwe'
head_4xx.S:420: Error: Unrecognized opcode: `rfci'
[WIFEXITED(s) && WEXITSTATUS(s) == 1], 0, NULL) = 16198
--- SIGCHLD (Child exited) ---
stat64("head_4xx.o", 0xbffff780)        = -1 ENOENT (No such file or directory)
stat64("/tmp/cc7egQ8n.s", {st_mode=S_IFREG|0600, st_size=49044, ...}) = 0
unlink("/tmp/cc7egQ8n.s")               = 0
_exit(1)                                = ?

So, I'm running /usr/local/ppc/powerpc-linux/bin/as
for my assembler, which seems right.  Let me try:

strings /usr/local/ppc/powerpc-linux/bin/as | grep tlbwe
tlbwe
tlbwelo
tlbwehi

So...looks like my assembler has at least _some_ kind
of knowledge of the tlbwe instruction.  Looking through
my binutils source, I see the "tlbwe" instruction in
a big table along with other instructions in
opcodes/ppc-opc.c

Hmmm, running out of ideas here.

-- steve

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list