[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