Yoshinori Sato
qzb04****@nifty*****
2002年 11月 12日 (火) 21:57:34 JST
At Tue, 12 Nov 2002 16:48:32 +0900 (JST), NIIBE Yutaka wrote: > > H8 のよりよい実行のために GCC をいじろうと考えています。 > > MIPS などで実装されている embeded pic のオプションを用い, 生成されるコー > ドは, 以下の 2 点となるように考えてます。 > > (1) text セグメントに対するアクセスは全て PC 相対 > (2) data セグメント, bss に対するアクセスは > r5 レジスタ相対としてアクセス > > r5 レジスタがカーネルで設定され, 個別の領域(data セグメント, bss)を持 > つ。text セグメントはプロセスで共有される。exec は data セグメント, > bss をコピーし, r5 を設定し飛んでいくだけ。relocation をいじる必要はな > い。 コードについてはm68kと同じ方針なので、問題無いと思います。 exec時のer5は今のカーネルでもセットしているので、それを使えるはずです。 (正しい値をセットしているかどうか確認していませんが) textの共有は今のロードルーチンでは対応できないので、修正が必要です。 > さて, どの GCC から分岐するのが良いでしょうか。 条件を付けるとすれば、ELFサポートだけなので、3.1以降でしょうか。 2.0.39のカーネルは2.95.3でないとコンパイル出来ませんが、PICサポートは 不要なので、無視しても問題はないでしょう。 3.1.1を使っている事に深い理由も無いので、特に問題がなければ3.2でいいと 思います。 -- Yoshinori Sato <qzb04****@nifty*****>