From patchwork Fri Sep 7 14:29:19 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [9-11/12] New configure option --enable-espf=(all|ssp|pie|no) Date: Fri, 07 Sep 2012 04:29:19 -0000 From: Magnus Granberg X-Patchwork-Id: 182399 Message-Id: <17967873.9ksN8XOzkb@laptop1.gw.ume.nu> To: gcc-patches@gcc.gnu.org Patch: testsuite-espf-format.patch Add -Wno-format if check_effective_target_espf to some testfiles. Patch: testsuite-espf-fortify.patch Add check_effective_target_espf. New files for some of the testfiles so we can disable FORTIFY_SOURCE. Patch: testsuite-espf-piessp.patch Add -fno-PIE or -fno-stack-proctor if check_effective_target_espf. Gentoo Hardened Project Magnus Granberg --- a/gcc/testsuite/gcc.dg/20021014-1.c 2009-10-02 01:08:07.000000000 +0200 +++ b/gcc/testsuite/gcc.dg/20021014-1.c 2012-08-14 23:50:16.724373103 +0200 @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-require-profiling "-p" } */ /* { dg-options "-O2 -p" } */ +/* { dg-additional-options "-fno-PIE" { target espf } } */ /* { dg-options "-O2 -p -static" { target hppa*-*-hpux* } } */ /* { dg-error "profiler" "No profiler support" { target xstormy16-*-* } 0 } */ /* { dg-message "" "consider using `-pg' instead of `-p' with gprof(1)" { target *-*-freebsd* } 0 } */ --- a/gcc/testsuite/gcc.dg/nest.c 2007-08-30 07:23:02.000000000 +0200 +++ b/gcc/testsuite/gcc.dg/nest.c 2012-08-14 23:51:44.797375728 +0200 @@ -3,6 +3,7 @@ /* { dg-require-profiling "-pg" } */ /* { dg-options "-O2 -pg" } */ /* { dg-options "-O2 -pg -static" { target hppa*-*-hpux* } } */ +/* { dg-additional-options "-fno-PIE" { target espf } } */ /* { dg-error "profiler" "No profiler support" { target xstormy16-*-* } 0 } */ extern void abort (void); --- a/gcc/testsuite/gcc.dg/nested-func-4.c 2007-08-30 07:23:02.000000000 +0200 +++ b/gcc/testsuite/gcc.dg/nested-func-4.c 2012-08-14 23:52:23.337376877 +0200 @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-pg" } */ /* { dg-options "-pg -static" { target hppa*-*-hpux* } } */ +/* { dg-additional-options "-fno-PIE" { target espf } } */ /* { dg-require-profiling "-pg" } */ extern void abort(void); --- a/gcc/testsuite/gcc.dg/pr32450.c 2007-08-30 07:23:02.000000000 +0200 +++ b/gcc/testsuite/gcc.dg/pr32450.c 2012-08-14 23:53:38.125379106 +0200 @@ -5,6 +5,7 @@ /* { dg-options "-O2 -pg" } */ /* { dg-options "-O2 -pg -mtune=core2" { target { i?86-*-* x86_64-*-* } } } */ /* { dg-options "-O2 -pg -static" { target hppa*-*-hpux* } } */ +/* { dg-additional-options "-fno-PIE" { target espf } } */ extern void abort (void); --- a/gcc/testsuite/gcc.dg/pr43643.c 2010-04-14 18:47:15.000000000 +0200 +++ b/gcc/testsuite/gcc.dg/pr43643.c 2012-08-14 23:54:20.084380356 +0200 @@ -4,6 +4,7 @@ /* { dg-require-profiling "-pg" } */ /* { dg-options "-O2 -pg" } */ /* { dg-options "-O2 -pg -static" { target hppa*-*-hpux* } } */ +/* { dg-additional-options "-fno-PIE" { target espf } } */ extern char *strdup (const char *); --- a/gcc.dg/tree-ssa/ssa-store-ccp-3.c 2011-08-07 09:45:57.000000000 +0200 +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-store-ccp-3.c 2012-08-14 23:59:24.489389427 +0200 @@ -3,6 +3,7 @@ defined for executables as well as shared libraries. */ /* { dg-skip-if "" { *-*-darwin* hppa*64*-*-* mips*-*-linux* mips*-*-irix* *-*-mingw* } { "*" } { "" } } */ /* { dg-options "-O2 -fno-common -fdump-tree-optimized" } */ +/* { dg-skip-if "" { espf } { "*" } { "" } } */ */ const int conststaticvariable; --- a/gcc/testsuite/gcc.dg/stack-usage-1.c 2012-02-23 19:10:53.000000000 +0100 +++ b/gcc/testsuite/gcc.dg/stack-usage-1.c 2012-08-14 23:55:37.558382664 +0200 @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-fstack-usage" } */ +/* { dg-additional-options "-fno-stack-protector" { target espf } } */ /* This is aimed at testing basic support for -fstack-usage in the back-ends. See the SPARC back-end for example (grep flag_stack_usage_info in sparc.c). --- a/gcc/testsuite/gcc.dg/superblock.c 2012-08-15 00:28:32.995441532 +0200 +++ b/gcc/testsuite/gcc.dg/superblock.c 2012-08-14 23:56:30.159384232 +0200 @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fno-asynchronous-unwind-tables -fsched2-use-superblocks -fdump-rtl-sched2 -fdump-rtl-bbro" } */ +/* { dg-additional-options "-fno-stack-protector" { target espf } } */ typedef int aligned __attribute__ ((aligned (64))); extern void abort (void); --- a/gcc/testsuite/g++.dg/other/anon5.C 2012-08-16 17:33:08.842848160 +0200 +++ b/gcc/testsuite/g++.dg/other/anon5.C 2012-08-16 17:33:35.913848967 +0200 @@ -1,6 +1,7 @@ // PR c++/34094 // { dg-do link { target { ! { *-*-darwin* *-*-hpux* *-*-solaris2.* alpha*-dec-osf* mips-sgi-irix* } } } } // { dg-options "-g" } +// { dg-additional-options "-fno-PIE" { target espf } } namespace { struct c --- a/gcc/testsuite/g++.old-deja/g++.law/profile1.C 2007-08-30 07:23:02.000000000 +0200 +++ b/gcc/testsuite/g++.old-deja/g++.law/profile1.C 2012-08-21 20:48:15.463070406 +0200 @@ -2,6 +2,7 @@ // { dg-require-profiling "-pg" } // { dg-options "-pg" } // { dg-options "-pg -static" { target hppa*-*-hpux* } } +// { dg-additional-options "-fno-PIE" { target espf } } // GROUPS passed profiling #include main()