이것은 내 첫 번째 StackExchange 질문이므로 잘못된 위치(UNIX, Linux, 소프트웨어 엔지니어링 등)에서 묻는 경우 올바른 방향을 알려주세요!
오래 전에 저는 Hardened Linux From Scratch 가이드를 사용하여 시스템을 구축했습니다(http://linuxfromscratch.org/hlfs/view/development/). 기존 시스템에서 지원하지 않는 일부 응용 프로그램을 실행하고 싶기 때문에 다른 시스템을 구축하고 있는데, 이 시스템을 정면으로 구축하는 것이 더 쉽고 재미있을 것이라고 생각했습니다. 문제는 HLFS 가이드와 패치가 보류돼 프로젝트가 종료됐다는 점이다.
나는 이 프로젝트가 기본적으로 -D_FORTIFY_SOURCE=2, -fPIE -pie, -fstack-protector-all 및 --param=ssp-buffer-size=4와 같은 특정 플래그를 추가하여 툴체인을 강화한다는 점을 좋아합니다(http://linuxfromscratch.org/hlfs/view/development/chapter05/gcc-pass2.html).
문제는 이러한 기능이 내가 사용하려는 최신 버전의 GCC(7.2.0 정도)와 여전히 관련이 있는지 또는 이를 활성화하는 방법에 대한 지침이나 일관된 답변을 찾을 수 없다는 것입니다. 검색에 Fedora 프로젝트가 표시됩니다(https://fedoraproject.org/wiki/Security_Features?rd=Security/Features#Stack_Smash_Protection.2C_Buffer_Overflow_Detection.2C_and_Variable_Reordering) 및 우분투(https://wiki.ubuntu.com/GccSsp) 여전히 이러한 옵션이 있거나 "기본적으로 활성화된" 형태와 매우 유사한 옵션이 있지만 제가 구축 중인 시스템에 대해 이 작업을 수행하는 방법에 대한 문서를 찾을 수 없는 것 같습니다.
내가 생각할 수 있는 유일한 것은 "alias gcc='gcc --options_go_here'"와 같은 것을 사용하는 것입니다. 하지만 옵션을 끄거나 -fpic과 같은 유사한 옵션 간에 변경해야 한다면 이것은 자멸적인 일이 될 것 같습니다. fPIC.
gcc 구축을 위한 제안, 지침 또는 더 나은 검색어가 있습니까?