Port-mips archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Can't compile longson kernels



On Thu, Nov 28, 2013 at 02:22:47PM +0100, Martin Husemann wrote:
> Hey folks,
> 
> the bulk builds for evbmips64 have been failing since a long time.
> Problem is: the compiler generates code like:
> 
>         ld      $31,24($sp)  
>         ld      $16,16($sp) 
> $LVL2 = .
>         j       $31
>         daddiu  $sp,$sp,32
> 
> and "j" is a macro, expanding to multiple instructions in this case, which
> causes a warning. The assembler is invoked with -mips3,
> or to be precise:
> 
> tools/lib/gcc/mips64el--netbsd/4.5.4/../../../../mips64el--netbsd/bin/as -G 0 
> -EL -mips3 -O2 -g -no-mdebug -mabi=64 -msym32 -v -mfix-loongson2f-btb 
> --fatal-warnings -o compat_util.o
> 
> I somehow thought load delay slots would be mips1 only?

i'm not sure about this. In fact, I'm almost sure mips32r2 still has them.

> 
> Is the warning bogus? Am I missing something?

I don't understand why j would expand to a macro in this case.
It should just be a jr (jump register). Or maybe the compiler is wrong and
should generate a jr and not a plain j.

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index