diff -durN gcc-4.4.0.orig/gcc/builtins.c gcc-4.4.0/gcc/builtins.c
--- gcc-4.4.0.orig/gcc/builtins.c	2009-03-30 19:42:27.000000000 +0200
+++ gcc-4.4.0/gcc/builtins.c	2009-05-27 21:38:01.000000000 +0200
@@ -5768,6 +5768,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.4.0.orig/gcc/common.opt gcc-4.4.0/gcc/common.opt
--- gcc-4.4.0.orig/gcc/common.opt	2009-03-28 18:28:45.000000000 +0100
+++ gcc-4.4.0/gcc/common.opt	2009-05-27 21:38:01.000000000 +0200
@@ -197,6 +197,10 @@
 Common Var(warn_type_limits) Init(-1) Warning
 Warn if a comparison is always true or always false due to the limited range of the data type
 
+Wtrampolines
+Common Var(warn_trampolines) Init(1)
+Warn whenever a trampoline is generated
+
 Wuninitialized
 Common Var(warn_uninitialized) Warning
 Warn about uninitialized automatic variables
