patches/gcc/4.3.4/110-trampolinewarn.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Aug 19 00:52:05 2011 +0200 (2011-08-19)
branch1.12
changeset 2633 22e779b0a4ed
permissions -rw-r--r--
scripts: simplify and fix the toolchain config script

The script that is installed, and which sole purpose is to dump
the .config that was used to build the toolchain, is pure insanity.

Let's make it much, much more simpler...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from 814ea73df7e0fab3db1cbe7623932714359c732b)
thomas@1461
     1
Original patch from: ../4.3.2/110-trampolinewarn.patch
thomas@1461
     2
thomas@1461
     3
-= BEGIN original header =-
thomas@1461
     4
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/00_all_gcc-trampolinewarn.patch
thomas@1461
     5
	This trivial patch causes gcc to emit a warning whenever
thomas@1461
     6
	it generates a trampoline.  These are otherwise hard to
thomas@1461
     7
	locate.  It is rigged to default ON - to have it default
thomas@1461
     8
	to OFF remove the text 'Init(1)' from the common.opt
thomas@1461
     9
	patch, leaving just 'Common Var(warn_trampolines)'.
thomas@1461
    10
	Kevin F. Quinn <kevquinn@gentoo.org> 17 Jan 2006
thomas@1461
    11
thomas@1461
    12
-= END original header =-
thomas@1461
    13
thomas@1461
    14
diff -durN gcc-4.3.3.orig/gcc/builtins.c gcc-4.3.3/gcc/builtins.c
thomas@1461
    15
--- gcc-4.3.3.orig/gcc/builtins.c	2008-08-19 18:37:13.000000000 +0200
thomas@1461
    16
+++ gcc-4.3.3/gcc/builtins.c	2009-01-27 22:19:12.000000000 +0100
thomas@1461
    17
@@ -5662,6 +5662,9 @@
thomas@1461
    18
   trampolines_created = 1;
thomas@1461
    19
   INITIALIZE_TRAMPOLINE (r_tramp, r_func, r_chain);
thomas@1461
    20
 
thomas@1461
    21
+  if (warn_trampolines)
thomas@1461
    22
+    warning (OPT_Wtrampolines, "generating trampoline in object (requires executable stack)");
thomas@1461
    23
+
thomas@1461
    24
   return const0_rtx;
thomas@1461
    25
 }
thomas@1461
    26
 
thomas@1461
    27
diff -durN gcc-4.3.3.orig/gcc/common.opt gcc-4.3.3/gcc/common.opt
thomas@1461
    28
--- gcc-4.3.3.orig/gcc/common.opt	2008-01-22 15:11:44.000000000 +0100
thomas@1461
    29
+++ gcc-4.3.3/gcc/common.opt	2009-01-27 22:19:12.000000000 +0100
thomas@1461
    30
@@ -182,6 +182,10 @@
thomas@1461
    31
 Common Var(warn_system_headers) Warning
thomas@1461
    32
 Do not suppress warnings from system headers
thomas@1461
    33
 
thomas@1461
    34
+Wtrampolines
thomas@1461
    35
+Common Var(warn_trampolines) Init(1)
thomas@1461
    36
+Warn whenever a trampoline is generated
thomas@1461
    37
+
thomas@1461
    38
 Wuninitialized
thomas@1461
    39
 Common Var(warn_uninitialized) Warning
thomas@1461
    40
 Warn about uninitialized automatic variables