2009-08-28 2 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가 포함 된 패키지가 있습니까?

그램 ++ 나는 시스템에 libssp_nonshared.a을 찾을 수 없습니다

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 - I 설치해야하거나이 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 % 확신합니다. 죄송합니다 .-- (

관련 문제