summaryrefslogtreecommitdiff
path: root/patches/gcc/4.3.0/125-trampolinewarn.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/gcc/4.3.0/125-trampolinewarn.patch')
-rw-r--r--patches/gcc/4.3.0/125-trampolinewarn.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/patches/gcc/4.3.0/125-trampolinewarn.patch b/patches/gcc/4.3.0/125-trampolinewarn.patch
new file mode 100644
index 0000000..0c14ec3
--- /dev/null
+++ b/patches/gcc/4.3.0/125-trampolinewarn.patch
@@ -0,0 +1,35 @@
+Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/00_all_gcc-trampolinewarn.patch
+ This trivial patch causes gcc to emit a warning whenever
+ it generates a trampoline. These are otherwise hard to
+ locate. It is rigged to default ON - to have it default
+ to OFF remove the text 'Init(1)' from the common.opt
+ patch, leaving just 'Common Var(warn_trampolines)'.
+ Kevin F. Quinn <kevquinn@gentoo.org> 17 Jan 2006
+
+diff -durN gcc-4.3.0.orig/gcc/builtins.c gcc-4.3.0/gcc/builtins.c
+--- gcc-4.3.0.orig/gcc/builtins.c 2008-02-20 18:27:21.000000000 +0100
++++ gcc-4.3.0/gcc/builtins.c 2008-06-10 14:44:10.000000000 +0200
+@@ -5659,6 +5659,9 @@
+ trampolines_created = 1;
+ INITIALIZE_TRAMPOLINE (r_tramp, r_func, r_chain);
+
++ if (warn_trampolines)
++ warning (OPT_Wtrampolines, "generating trampoline in object (requires executable stack)");
++
+ return const0_rtx;
+ }
+
+diff -durN gcc-4.3.0.orig/gcc/common.opt gcc-4.3.0/gcc/common.opt
+--- gcc-4.3.0.orig/gcc/common.opt 2008-01-22 15:11:44.000000000 +0100
++++ gcc-4.3.0/gcc/common.opt 2008-06-10 14:44:10.000000000 +0200
+@@ -182,6 +182,10 @@
+ Common Var(warn_system_headers) Warning
+ Do not suppress warnings from system headers
+
++Wtrampolines
++Common Var(warn_trampolines) Init(1)
++Warn whenever a trampoline is generated
++
+ Wuninitialized
+ Common Var(warn_uninitialized) Warning
+ Warn about uninitialized automatic variables