これは私の最初の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)とUbuntu(https://wiki.ubuntu.com/GccSsp)まだこれらのオプションがあるか、「デフォルトで有効になっている」形式と非常によく似たオプションがありますが、私が構築しているシステムに対してこれを行う方法に関するドキュメントが見つからないようです。
私が考えることができる唯一のことは、「alias gcc = 'gcc --options_go_here'」のようなものを使用することです。しかし、オプションをオフにしたり、-fpicなどの同様のオプションを変更したりする必要がある場合は、これは自滅的なことになります。 fPIC。
gccを構築するための提案、ガイドライン、またはより良いクエリがありますか?