[Momonga-devel.ja:03378] Re: [momonga-pkgs-log:9117] trunk/pkgs/gcc3.2/
- From: Ichiro Nakai <ichiro@xxxxxxxxxxxxx>
- Date: Tue, 2 May 2006 11:26:07 +0900
中井です。
On Tue, 2 May 2006 10:53:21 +0900
TAKAHASHI Tamotsu <tamo@xxxxxxxxxxxxxxxxx> wrote:
> * Tue May 2 2006 TAKAHASHI Tamotsu <tamo@xxxxxxxxxxxxxxxxx>
> > > == gcc3.2==
> > > * Mon May 1 2006 Ichiro Nakai <ichiro@xxxxxxxxxxxxx>
> > > - (3.2.3-22m)
> > > - %%define with_ssp 0 for Nonfree
> >
> > SSP をデフォルトで無効にしちゃうと、セキュリティを
> > 大きく後退させそうなので心配です。
> >
> > どうして Nonfree と SSP が関係あるのか教えていただけますか。
%define with_ssp 1
でビルドされた libstdc++3.2 が入っている状態で、ターミナルから
Nonfree にある source からビルドできない、つまり、バイナリで
提供されるアプリケーションの起動を試みてください。
例えば
$ realplay
/usr/lib/RealPlayer/realplay.bin: relocation error: /usr/lib/libstdc++.so.5: symbol __guard,
version GCC_3.0 not defined in file libgcc_s.so.1 with link time reference
このように、realplayer や acroread は起動しません。
ssp 無効の libstdc++.so.5 上でビルドされているものと思われます。
また、同じ理由で、ATI 提供のグラフィックドライバも動作しません。
これらは、
%define with_ssp 0
でビルドした libstdc++3.2 上では動作します。
> > なにか他に対策ができるのであれば、
> > SSP デフォ無効はやめたほうがいいと思いますので。
> >
確かにその通りですが、
> > たとえば問題が起こる Nonfree パケジをビルドする際に
> > -fstack-ほげほげを CFLAGS から抜けば
> > SSP 機能は使われませんよね。
>
上記の理由、Source: バイナリ ということで、これはできません。
また、問題となっているのは、libstdc++.so.5 が
-fstack-protector
付きでビルドされているということで、仮に source からビルド可能で、
各パッケージから
-fstack-protector
を外しても、動作はしないと思われます。
まぁ、この libstdc++3.2 を要求するのが、
w32codec
realplayer
flashplayer
辺りと商用アプリケーションで、バイナリしか提供されないので、
仕方なく、とった対策です。
何か他に良い打開策があれば、お願いします。
--
Ichiro Nakai
ichiro@xxxxxxxxxxxxx