Patchwork [9-11/12] New configure option --enable-espf=(all|ssp|pie|no)

login
register
mail settings
Submitter Magnus Granberg
Date Sept. 7, 2012, 2:29 p.m.
Message ID <17967873.9ksN8XOzkb@laptop1.gw.ume.nu>
Download mbox | patch
Permalink /patch/182399/
State New
Headers show

Comments

Magnus Granberg - Sept. 7, 2012, 2:29 p.m.
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

Patch

--- 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 <stdio.h>
 main()