Hi, I propose to add to gcc a new option regarding stack protector -
"-fstack-protector-strong", in addition to current gcc's
"-fstack-protector-all", which protects ALL functions, and
"-fstack-protector", which protects functions that have a big
(signed/unsigned) char array or have alloca called.

Background - some times stack-protector is too-simple while
stack-protector-all over-kills, for example, to build one of our core
systems, we forcibly add "-fstack-protector-all" to all compile
commands, which brings big performance penalty (due to extra stack
guard/check insns on function prologue and epilogue) on both atom and
arm. To use "-fstack-protector" is just regarded as not secure enough
(only "protects" <2% functions) by the system secure team. So I'd like
to add the option "-fstack-protector-strong", that hits the balance
between "-fstack-protector" and "-fstack-protector-all".

Benefit - gain big performance while sacrificing little security (for
scenarios using -fstack-protector-all)

Status - implemented internally, to be up-streamed or merged to google
branch only.

Detail - here.

Thoughts? Thanks!

-Han

Reply via email to