2001年7月30日 作成

Using PRC-Tools
■戻る■  ■トップ■  ■進む■


サポートされていない GCC の機能

以下の GCC オプションは、現在 Palm OS ではサポートされていないものである:

-p
-pg
-a
-ax
-fprofile-arcs
-fbranch-probabilities
多分、プロファイルはサポートされていない。 確かに、存在しない stdio サポートに依存するため、 `libgcc' のサポート関数は含まれていない。
-ftest-coverage
同様のコメントが、gcov データファイルにも当てはまる。
-ffunction-sections
このオプションは、関数呼出しの後の各関数のセクションが生成さ れるようセットする。これは、クロスセクション関数呼出しに対する特殊コー ドを省略しなければならないため、効果が出るのは遅い。
-mbitfield
-m68020
-m68881
これらや他の M68K ハードウェア選択オプションは、プログラムがひどくなる ような事態を引き起こす。
-mrtd
Palm OS API 関数によって使用される慣例にそぐわないコード生成パターンを 選択するものであり、ひどく失敗するだろう。

以下の通りの警告もある:

  • section 属性を記述する一方、GCC マニュアルでは、実行可能 ファイルをセクションに分割するのをリンカにまかせるよう提案している。 `-ffunction-sections' のように使用するが、動作しない。
  • __complex__ 拡張は、動作しない。
  • `-Wall' を使用したとしても、 `-Wmultichar' による警告はデフォルトでオフにされる。
  • `-mpcrel' をオンにするなら、常に、 `-fpic' 又は `-fPIC' のオプションが無効化さ れる。つまり、`-mpcrel' は常に `-fpic' を暗 に指定している。
  • コードサイズに気をつけるため(命令キャッシュを持っていないため)、 `-ffunction-cse'`-funroll-loops'`-funroll-all-loops' を多用すると、恐らく効果がぶつかって しまう。従って、これらのオプションは、`-O' フラグによって 暗に指定されるが、明示的に選択されているわけではない。
  • 浮動小数点のサポートは恐らく一般的な上辺の部分だけである。
  • 64K コードリソースを使用するなら、リンカの `-r' オプショ ンは、常に動作する。幸運なことに、これらは両方必要ない。
  • `-specs=file' によるスペックファイルの変更、又 は、m68k-palmos-asm68k-palmos-ld を直接実行 するのは、注意して行われるべきである。適切なオペレーションは、デフォル トのスペックファイルにセットされているオプションに依存しているためである。


■戻る■  ■トップ■  ■進む■