diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/ssp-2.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/ssp-2.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/ssp-2.c b/gcc/testsuite/gcc.dg/ssp-2.c new file mode 100644 index 000000000..9a7ac3206 --- /dev/null +++ b/gcc/testsuite/gcc.dg/ssp-2.c @@ -0,0 +1,29 @@ +/* { dg-do run { target native } } */ +/* { dg-options "-fstack-protector" } */ +/* { dg-options "-fstack-protector -Wl,-multiply_defined,suppress" { target *-*-darwin* } } */ +/* { dg-require-effective-target fstack_protector } */ + +#include <stdlib.h> + +void +__stack_chk_fail (void) +{ + exit (0); /* pass */ +} + +void +overflow() +{ + int i = 0; + char foo[30]; + + /* Overflow buffer. */ + for (i = 0; i < 50; i++) + foo[i] = 42; +} + +int main (void) +{ + overflow (); + return 1; /* fail */ +} |