itsource

-no-pie는 무엇에 사용됩니까?

mycopycode 2023. 10. 14. 10:07
반응형

-no-pie는 무엇에 사용됩니까?

C 파일로 몇 가지 테스트를 위해 GPROP로 우분투 17.10을 작업하고 있었는데 gprof로 실행하면 생성된 파일이 (gmon.out), 컴파일하고 -pg 옵션으로 링크하면 빈 플랫과 콜 그래프가 나옵니다.

하지만 이것이 GCC 버그라는 것을 알게 되었고, 나는 파일을 컴파일하고 링크해야 할 것입니다.-no-pie선택.

  • 컴파일:

    gcc -c main.c file-1.c file-2.c -pg [-no-pie]
    
  • 링크:

    gcc -o test main.o file-1.o file-2.o -pg [-no-pie]
    

저는 GCC 7.2 버전을 가지고 있습니다.

이 옵션은 어떻게 작동하며 이 옵션을 사용하지 않는 경우 그래프가 비어 있는 이유는 무엇입니까?

이 플래그는 gcc가 PI(Position Independent Executive)를 실행할 수 없도록 지시하는 것입니다.PIE는 ASLR(Address Space Layout Randomization)을 활성화하기 위한 전제 조건입니다.ASLR은 커널이 실행될 때마다 바이너리와 종속성을 가상 메모리의 임의 위치에 로드하는 보안 기능입니다.

언급URL : https://stackoverflow.com/questions/47778099/what-is-no-pie-used-for

반응형