crosstool-ng/patches/gcc/4.3.2/110-trampolinewarn.patch
Yann E. MORIN" 664c2d0100 Add latest gcc-4.3.2 as EXPERIMENTAL, using the 4.3.1 re-based patchset.
/trunk/config/cc/gcc.in                                          |    7     7     0     0 ++
 /trunk/patches/gcc/4.3.2/280-c99-complex-ugly-hack.patch         |    8     4     4     0 +-
 /trunk/patches/gcc/4.3.2/250-sh-pr24836.patch                    |   16     8     8     0 ++--
 /trunk/patches/gcc/4.3.2/340-make-mno-spe-work-as-expected.patch |   43    19    24     0 ++++++--------
 /trunk/patches/gcc/4.3.2/130-cross-compile.patch                 |   20    10    10     0 +++---
 5 files changed, 48 insertions(+), 46 deletions(-)
2008-09-25 16:06:19 +00:00

36 lines
1.4 KiB
Diff

Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/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.1.orig/gcc/builtins.c gcc-4.3.1/gcc/builtins.c
--- gcc-4.3.1.orig/gcc/builtins.c 2008-04-23 00:36:27.000000000 +0200
+++ gcc-4.3.1/gcc/builtins.c 2008-06-10 14:56:54.000000000 +0200
@@ -5662,6 +5662,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.1.orig/gcc/common.opt gcc-4.3.1/gcc/common.opt
--- gcc-4.3.1.orig/gcc/common.opt 2008-01-22 15:11:44.000000000 +0100
+++ gcc-4.3.1/gcc/common.opt 2008-06-10 14:56:54.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