[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: kernel softfloat emulation
- Subject: Re: kernel softfloat emulation
- From: Takao Shinohara <shin@sm.sony.co.jp>
- To: port-hpcmips-ja@jp.netbsd.org
- Date: Mon, 01 May 2000 23:31:32 +0900
- Message-Id: <10005011431.AA00215@lachesis.sm.sony.co.jp>
- In-Reply-To: Your message of Thu, 06 Jan 2000 10:27:10 +0900.<10001060127.AA02347@lachesis.sm.sony.co.jp>
- Delivered-To: mailing list port-hpcmips-ja@jp.netbsd.org
- Mailing-List: contact port-hpcmips-ja-help@jp.netbsd.org; run by ezmlm-idx
かなり前の話ですが、
Takao Shinohara <shin@sm.sony.co.jp> writes:
> SPEC95ですが、NetBSD/i386では特に問題なく実行できたのですが、
> NetBSD/hpcmipsではf77のMIPS対応に問題があるようで、デフォルトではリンク
> に失敗しました(PICとnon-PICのバイナリをリンクしようとした)。
>
> コンパイル時に -fPIC を指定することでリンクできるようにはなったのですが、
> 今度は実行直後に異常終了しました。
ようやく異常終了の原因がわかりました。
当時、私はPICコードの仕組みについて全然知らなかったのでそれ以上追及でき
なかったのですが、改めて見直してみたら原因は単純でした。
NetBSDのMIPS用のgccでは、cc1を呼ぶ時に"-mabicalls"を渡すことでPICをデフォ
ルトにしていました。しかし、これではf77(g77)ではPICがデフォルトになりま
せん。
解決策は簡単で、TARGET_DEFAULTにMASK_ABICALLSを足してやればよいです。こ
れで、CでもFortranでも何でもPICがデフォルトになります。
現在、この方法で問題ないかどうか一応お伺いをたてていますので、しばらくし
て異論がなければ修正はcommitします。
# 当座の回避策としては、"-mabicalls"をf77で指定すればOKです。
篠原