[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pbsd-mg2] Re: cross compiler
鈴木(康)です。
<199907120951.SAA12040@shin1.sm.sony.co.jp>の記事において
takemura@sm.sony.co.jpさんは書きました。
| この話を聞くと、compiler の問題というよりは、
| vrxxx.c のソースに問題があって、私の環境ではたまたま不具合が
| 表面化しないだけ、という可能性の方が高いようですね。
| (よくある変数の初期化わすれなど)
|
| ホントに申し訳ないのですが、もし可能ならば、もう少し調べてみては
| いただけないでしょうか。> 鈴木さんか内山さん
|
ある人から報告がありまして、原因が判りました。
vrgiu.c
235 vrgiu_intr_establish(ga, mode, handler, ctx)
236 struct vrgiu_attach_args *ga;
237 int mode;
238 vrgiu_intr_handler_t handler;
239 vrgiu_intr_ctx_t ctx;
240 {
241 struct vrgiu_softc *sc = (struct vrgiu_softc*)ga->ga_vrgiu;
242 int s, port;
243 unsigned long reg;
244 struct vrgiu_intr_rec *intr_rec;
245 unsigned long mask;
246
247 if (ga->ga_intr == VRGIUCF_INTR_DEFAULT) {
248 panic("%s(%d): invalid IRQ#\n");
249 }
250 if (sc->sc_intr[port] != NULL &&
251 sc->sc_intr[port]->mode != mode) {
port が初期化されていません。
ちなみに Makefile で -Wuninitialized にしたら ちゃんと Warning が出ました。
ここを適当に直して、全部 gcc でコンパイルしても MG II で立ち上がる
ことを確認できました。
ただし、同じカーネル(config は直してあります) を CS12 で立ち上げようと
しても、boot_device: のメッセージが出る直前でハングアップします。
pcmcia が probe されないと boot_device: まで行っていましたから、
pcmcia 関係かなとは思うのですが、全然自信がありません。
# ちなみに CS12 は、ソケットが1つしかありませんが、そういう理由
# でしょうか?
--
鈴木 康司 @NEC
suz@hpc.bs1.fc.nec.co.jp
TEL 0423-33-5381