cfgexpand.c
172 KB
-
-fstack-protector-strong: Instrumentation for return slots · 6545746e
This patch fixes a loophole in the -fstack-protector-strong protection. If a function call uses a return slot, the caller needs stack protector instrumentation because the return slot is addressable. gcc/ 2014-05-09 Florian Weimer <fweimer@redhat.com> * cfgexpand.c (stack_protect_decl_p): New function, extracted from expand_used_vars. (stack_protect_return_slot_p): New function. (expand_used_vars): Call stack_protect_decl_p and stack_protect_return_slot_p for -fstack-protector-strong. gcc/testsuite/ 2014-05-09 Florian Weimer <fweimer@redhat.com> * gcc.dg/fstack-protector-strong.c: Add coverage for return slots. * g++.dg/fstack-protector-strong.C: Likewise. * gcc.target/i386/ssp-strong-reg.c: New file. From-SVN: r210275
Florian Weimer committed