yann@552: Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/00_all_gcc-trampolinewarn.patch yann@552: This trivial patch causes gcc to emit a warning whenever yann@552: it generates a trampoline. These are otherwise hard to yann@552: locate. It is rigged to default ON - to have it default yann@552: to OFF remove the text 'Init(1)' from the common.opt yann@552: patch, leaving just 'Common Var(warn_trampolines)'. yann@552: Kevin F. Quinn 17 Jan 2006 yann@552: yann@552: diff -durN gcc-4.3.0.orig/gcc/builtins.c gcc-4.3.0/gcc/builtins.c yann@552: --- gcc-4.3.0.orig/gcc/builtins.c 2008-02-20 18:27:21.000000000 +0100 yann@552: +++ gcc-4.3.0/gcc/builtins.c 2008-06-10 14:44:10.000000000 +0200 yann@552: @@ -5659,6 +5659,9 @@ yann@552: trampolines_created = 1; yann@552: INITIALIZE_TRAMPOLINE (r_tramp, r_func, r_chain); yann@552: yann@552: + if (warn_trampolines) yann@552: + warning (OPT_Wtrampolines, "generating trampoline in object (requires executable stack)"); yann@552: + yann@552: return const0_rtx; yann@552: } yann@552: yann@552: diff -durN gcc-4.3.0.orig/gcc/common.opt gcc-4.3.0/gcc/common.opt yann@552: --- gcc-4.3.0.orig/gcc/common.opt 2008-01-22 15:11:44.000000000 +0100 yann@552: +++ gcc-4.3.0/gcc/common.opt 2008-06-10 14:44:10.000000000 +0200 yann@552: @@ -182,6 +182,10 @@ yann@552: Common Var(warn_system_headers) Warning yann@552: Do not suppress warnings from system headers yann@552: yann@552: +Wtrampolines yann@552: +Common Var(warn_trampolines) Init(1) yann@552: +Warn whenever a trampoline is generated yann@552: + yann@552: Wuninitialized yann@552: Common Var(warn_uninitialized) Warning yann@552: Warn about uninitialized automatic variables