パスワードを忘れた? アカウント作成
6725 story

GCC 3.3.2リリース 7

ストーリー by Oliver
一人でもがんばるもん 部門より

yourCat 曰く、 "GCC 3.3.2がリリースされた (変更点一覧)。また、WindowsForDevices.comに、Windows CE/PocketPCへ一人で移植しているロシア青年・Vitaliy Pronkin氏へのインタビュー記事が掲載されている (本家/.の記事)。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • make 終了 (スコア:2, 興味深い)

    by daisuke (6827) on 2003年10月21日 0時34分 (#418237) ホームページ 日記
    gcc 3.3.2 を make してから glibc-2.3.2 を再作成し、 linux-2.6.0-test8 を構築してみました。とりあえず一日経過しますが、動いています。
    他にもいくつか -O2 -mcpu=i586 -march=i586 程度の CFLAGS を使用して make してみましたが、ごくわずか作成されたバイナリが小さくなるようです(1kB/1MB 程度)。

    今回のリリースは bug fixs ばかりですが、かなり枯れてきていると思います。
    • by zeissmania (3689) on 2003年10月21日 14時32分 (#418636)
      >-O2 -mcpu=i586 -march=i586
      ん?-mcpuオプションと-marchオプションの両方を指定するのって、何か意味があるのでしょうか?

      gccのマニュアル
      [gnu.org]では、
      -march=cpu-type
              Generate instructions for the machine type cpu-type. The choices for cpu-type are the same as for -mcpu. Moreover, specifying -march=cpu-type implies -mcpu=cpu-type.

      とあるので、-mcpuか-marchのどちらかを指定すれば十分だと思ってたんですが。
      親コメント
      • Re:make 終了 (スコア:2, 参考になる)

        by bero (5057) on 2003年10月21日 23時50分 (#418921) 日記
        -mcpu=i586
        だと、命令のスケジューリング、関数エントリやジャンプ先をキャッシュラインに合わせる、また同じ動作の命令で386ではAがBより速く、586ではBがAより速い場合Bの命令を生成します。命令自体は386なので386でも動きます。

        -march=i586
        だと586にしかない命令を使うので586以上でしか動きません

        -marchを指定すると-mcpuも指定したことになりますが、逆はありません。
        親コメント
      • Re:make 終了 (スコア:2, 参考になる)

        by daisuke (6827) on 2003年10月22日 0時07分 (#418932) ホームページ 日記
        -march=cpu-type はその CPU で実行できるコードを生成します。
        -mcpu=cpu-type は CPU に合わせたスケジュールを生成します。

        例えば -march=i386 -mcpu=i686 だと i386 でも実行できるけど、 i686 にスケジュールが最適化されたコードを生成できます。
        つまり i686 では速く動くわけです。

        この違いがよくわかるのは、例えば i586 と i686 に対するコードの生成のときです。メモリの align の違いがあるので、他にもオプションでいろいろ楽しめますよ。
        親コメント
  • by bero (5057) on 2003年10月21日 4時03分 (#418353) 日記
    3.3.1でタレコミしたのがぜんぜん反応無かったので自粛してたんですよね。
    すでに安定したバージョンがあるtargetでは急いでupdateする必要が無いからだろうけど、
    minor targetでは死活問題。(しかし直ってない (;_;)
typodupeerror

最初のバージョンは常に打ち捨てられる。

読み込み中...