[Armadillo:02004] Re: Armadillo300の浮動小数点演算について

Hiroshi Ito email@hidden
2007年 9月 5日 (水) 20:23:01 JST


メヂィアラボの伊藤です。

From: TOGAWA Satoshi <email@hidden>
Subject: [Armadillo:01972] Armadillo300の浮動小数点演算について
Date: Wed, 29 Aug 2007 16:12:37 +0900
> Armadillo300を購入し、演算速度のテストを行っています。
> 2点ほど質問させてください。
> 
> 1)
...
> # 他社のARMボードでは、なぜか同一のgccでhard-floatとsoft-float両方の
> # 実行ファイルが生成可能でした(原則論から言えば不思議。libgcc.aとか)。
> # 浮動小数点ライブラリそのものは別に取得する必要がありましたが。

 古い経験なので、今はどうかわかりませんが、(5年以上前の時の話かな)
 gcc 作成時に --multilib (だったかな?そんな様なオプション)を指定する事で、
 コマンドラインオプションによって、ライブラリのサーチパス等を入れ換える事が
 できた覚えがあります。
 例えば、--soft-float の時は、libgcc はこれ、そうでなければ、こっちとか、
 -EB だとこっちのリンカースクリプト、ABI が何だとこれという指定が動的にできます。
 指定をするのは、どのファイルだか忘れましたが、
 gcc -dumpspecs
  で出てくる内容です。コマンド打ってみれば、これはオプション引数を元に
 三項演算子でパスを決めているマクロ?みたいなのが表示されます。
 intel 版でためすだけでも、雰囲気をつかめると思います。

 というわけで、色々なバージョンのlibgcc等を最初から全部用意してあって、
 コマンドラインオプションで使い分けるので作成可能なのだと思います。


From: Masahiro Hanada <email@hidden>
Subject: [Armadillo:01996] Re: Armadillo300 の浮動小数点演算について
Date: Tue, 04 Sep 2007 17:21:12 +0900
> soft-floatデフォルトにしたコンパイラを作ること自体は可能です。
> 基本的にはクロスgccを--with-float=softで作成するだけです。
> しかしながらこれを使って環境を構築する場合、glibcをはじめすべての
> ライブラリについてもこのコンパイラで作り直す必要があります。

 glibc ではなく、uClibc でもよければ、
 http://buildroot.uclibc.org/
 を使えば、全て(コンパイラからルートファイルシステムの雛型まで)を
 一気にビルドできます。
 その後、Armadillo300 にあわせて、デバイスファイルの追加や、
 /etc/inittab, /etc/fstab 等を修正しなければ、そのファイルシステムから
 起動する事はできませんが、アプリを試すだけなら、出来たファイルシステム
 を NFS 等でマウントして、そこに chroot する事で uClibc 環境での
  動作検証は可能です。

 という方法をとれば、soft-float での動作検証ができるかと思います。
 こちらは、Armadillo-9でにて、数ヵ月前に実際に試しました。
 もちろん、soft-float で試しました。


って、役に立ちます?
以上
--------
メディアラボ株式会社 伊藤 博
URL http://www.mlb.co.jp
TEL 03-5294-7255  FAX 03-5294-7256



armadillo メーリングリストの案内