[Momonga-devel.ja:00731] Re: merging gcc3 to HEAD (Re: GCC3 の今後)


zaki です。

> ただ、gcc-2.96 も当分残すべきだと思います。
> gcc-3.2 だとうまく動作しないとか
> そもそも compile できないとかいうものがあるだろうことが考えられるのと、
> それ以上に大きな理由として、
> gcc-2.96 の libstdc++ があると gcc-3.2 への移行が容易になる、
> というのがあります。
> gcc-2.96 の libstdc++ に依存してる商用ソフトもあるかもしれませんね。

実はGCC3 ブランチでは libstdc++2.95.3 を提供していて、その中にlibstdc++2.96
に相当するshlibs が含まれています。 gcc2.96 が提供されるとこのパッケージが
不要になるので、調整したものを gcc2.95.3-21m として(GCC3 branchに)commit 
しました。gcc2.95.3-21m はgcc2.96 の存在を前提としたパッケージとなるので
gcc2.96 がコミットされるまで依存関係が満たされない状態になりますが、どうしても
困る人は with_gcc296 マクロを 0 にしてください。gcc2.96 がcommit されたらこの
マクロは削除予定です(のでspecopt対応はしてません)。

GCC3 ブランチで今までビルドできていなかった gridengine や freehdl が、
小松さんのgcc-2.96 でビルドできることを確認しました。


> 今後の予定ですが、gcc2.96 を commit することに特に反対意見がなければ
> commit してしまいます(とりあえず一日ほど様子を見ます)。
> ただし、commit する時には今の gcc の CVS repository を
> gcc2.96 という名前で copy し[*]、そこに commit することにします。
> こうすれば gcc-2.96 (gcc2.96 と紛らわしいな…)の履歴を引き継げるので
> diff を取ったりする時に便利でしょう。
> で、しばらく (gcc-3.2 を merge するまで) HEAD では .SKIP にしておきます。
> それと、merge する時には libgcj を OBSOLETE にしないといけませんね
> (gcc2.96 に統合したので)。

このへんは異論無し。


> > 現状では、-fomit-frame-pointer と glibc が conflict (bash 上で sleep 呼ぶと
> > SEGV)するので glibc.spec で落すようにしています(%ix86のみ)。%ix86 以外の arch で
> > -fomit-frame-pointer つきで glibc 作るとどうなるかも興味があったり。
> 
> ちょっと気になったのですが、-fomit-frame-pointer って効果あります?
> 個人的に、これつけて速くなったとかいう記憶はないので
> (プログラムに依存する話だとは思いますが)、
> rpmrc で指定しなくてもいいと思うのですが。

実際に cbench で比べると function call の多そうなものは5%くらい速くなっては
いますが、体感ではあまり感じられない程度かもしれないです。テストプログラムが
使ってるライブラリ(glibcとか)もコンパイルオプションを変えたほうがより良い結果が
得られるかとは思いますが今回はそこまでは試していません。
gcc-2.96 での結果ですが一応
http://www.momonga-linux.org/~zaki/gcc2.96-bench.html
に置いておきます。

-S してみると-fomit-frame-pointer を付けたものの方が関数の中が3命令少なく
なるので実際のアプリでも多少なりとも速くはなるんじゃないかと思ってます。
が、このまえ patch コマンドでも不具合があるのを見付けてしまったので
-fomit-frame-pointer はデフォルトは付けないというのもありえると思います。


> commit する日が確定したらアナウンスしてもらえませんか?
> 結構大きな変更だし、cron で cvs update & omokon してる人とかも
> いるかもしれないので。
> # gcc-3.2 への移行は手動じゃないと多分コケる。

了解。土日でゆっくりいじってもらうためにもできれば金曜の夜を目標に
マージしたいと思ってます。

では。
---
YAMAZAKI Makoto <uomaster@xxxxxxxxx>