On Mon, Mar 13, 2006 at 01:17:09PM -0700, Kurt Schwemmer wrote:
> I'm trying to figure out a toolchain to use for my system. I can compile
> the kernel just fine using the MIPS SDE based distribution, but you
> can't cross compile apps with that. I downloaded and built buildroot and
> I'm trying to (cross) compile the kernel with it too (I'd like to just
> use one compiler for everything). I had it use gcc 3.4.5. When I try to
> compile the kernel with:
> I eventually get an error while assembling entry.o:
> AS arch/mips/kernel/entry.o
> arch/mips/kernel/entry.S: Assembler messages:
> arch/mips/kernel/entry.S:157: Error: opcode not supported on this
> processor: mips32 (mips32) `jr.hb $31'
> make: *** [arch/mips/kernel/entry.o] Error 1
> make: *** [arch/mips/kernel] Error 2
> I guess this is a "hazard barrier" instruction. Why doesn't gcc 3.4.5
> know about it? What do I need to do to get this to work?
It is gas which fails, because it either got fed options which don't
enable MIPS32R2, or because your version of binutils is very old and
doesn't know about jr.hb.
Compile with V=1 to find out the actual gcc invocation.