Esta é minha primeira pergunta sobre o StackExchange, e se ela estiver no lugar errado (UNIX e Linux em algum lugar como Engenharia de Software?), por favor, me aponte para a direita!
Há muito tempo atrás, construí um sistema usando o guia Hardened Linux From Scratch ( link ). Eu estou no meio da construção de outro sistema porque existem alguns aplicativos que eu gostaria de executar que não são suportados pelo meu sistema antigo, e eu estou pensando que seria muito mais fácil e um pouco mais interessante construir este sistema a partir de o chão. O problema é que o guia HLFS e os patches tiveram um back burner e o projeto morreu.
Eu gostei do fato de que o projeto endureceu o conjunto de ferramentas adicionando sinalizadores específicos como -D_FORTIFY_SOURCE = 2, -fPIE -pie, -fstack-protector-all e --param = ssp-buffer-size = 4 por padrão ( link ).
O problema é que não consigo encontrar nenhuma orientação ou mesmo uma resposta consistente se esses recursos ainda são relevantes nas próximas versões do GCC que gostaria de usar (7.2.0 ou mais) ou como ativá-los. As pesquisas mostram que o projeto Fedora ( link ) e o Ubuntu ( link ainda tem essas opções, ou as que são muito próximas em formato "habilitadas por padrão", mas não consigo encontrar documentação sobre como para fazer isso em um sistema que está sendo construído.
A única coisa que eu consegui pensar foi usar algo como "alias gcc = 'gcc --options_go_here'", mas isso parece ser auto-sufocante se eu tiver que desligar uma opção, ou mudar entre opções similares como -fpic em vez de -fPIC.
Algum conselho, orientação ou melhores termos de pesquisa para criar o gcc?