[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pbsd-mg2] Re: cross compiler
鈴木(康)です。
<199907121656.BAA01767@ninja.hpc.bs1.fc.nec.co.jp>の記事において
suz@d2.bs1.fc.nec.co.jpさんは書きました。
|
| もし、vrgiu.o が原因だとすると、全部 gcc にしてから vrgiu.o だけを
| egcs にすると立ち上がるはずです。
|
| --- 結果は、立ち上がりました。
|
| ということで、vrgiu.o が 原因だと思います。
object を比べてみました。
頭の方だけですが最初にあらわれた違いは、
gcc
70: 00002021 move $a0,$zero
74: 02001821 move $v1,$s0
78: ac600034 sw $zero,52($v1)
egcs
70: 00001821 move $v1,$zero
74: 26040034 addiu $a0,$s0,52
78: ac800000 sw $zero,0($a0)
ここでピンときたのが、
> trap: TLB miss (load or instr. fetch) in kernel mode
> status=0x2, cause=0x8, epc=0x8010e070, vaddr=0xc007d834
> pid=0 cmd= usp=0x0 ksp=0x80157928
> Stopped in at 0x8010e070: lw v0,52(v0)
> db>
ここの 52
( ちなみに最初に現れた 52 です。なにかの構造体の オフセット 0x34/52
のアクセスだと思います。)
そろそろ寝ます。
--
鈴木 康司 @NEC
suz@hpc.bs1.fc.nec.co.jp
TEL 0423-33-5381