2009-08-28 16 views
1

私はちょっとAIX初心者です。私はgccのスタックプロテクター機能を使ってプログラムをコンパイルしようとしています。私はpwareのGCCパッケージを使用して、サーバー上のgccをインストールし、ように私は、サンプルプログラムをコンパイルすることができます:私は、スタックプロテクターをオンにするとC++プログラムをAIX上のgccのスタックプロテクタ機能にリンクさせるにはどうすればよいですか?

#include <stdio.h> 

int main(int argc,char **argv) 
{ 
    printf("hello world\n"); 

    return 0; 
} 

は、私が手: G ++ -fstack-プロテクター - すべてのmain.cppに collect2はを:ライブラリlibssp_nonsharedが見つかりません

私はこれを解決するためにGoogleで狩りをしてきました。私のlibcには、その鉱山に組み込まれているものがいくつか必要です。スタック保護が組み込まれたlibcを含むパッケージはありますか?

グラム++

Using built-in specs. 
Target: powerpc-ibm-aix5.3.0.0 
Configured with: ../stage/gcc-4.2.4/configure --disable-shared --enable-threads=posix --prefix=/opt/pware --with-long-double-128 --with-mpfr=/opt/pware --with-gmp=/opt/pware 
Thread model: aix 
gcc version 4.2.4 

を返し-v私は、システム上libssp_nonshared.aを見つけることができません - 私はインストールする必要があるか、それはgccのパッケージに付属しているはずの追加パッケージはありますか?

答えて

5

これは、libcとは関係ありません。GCCインストールには、libssp_nonshared.aライブラリがありません。

"gcc --version"とは何ですか? --disable-libsspオプションで設定されている可能性があります(この場合、スタック保護計装は使用できません)。

更新:
私はちょうどgcc-4.3.0/configureに見えた:

powerpc-*-aix*) 
    noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp ${libgcj}" 
    ;; 

私は、これはlibssp(したがって-fstack-protector)は、お使いのプラットフォームでは利用できませんことを意味し約99%確信しています。申し訳ありません:-(

関連する問題