patches/gcc/4.3.2/110-trampolinewarn.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 17 23:06:02 2010 +0100 (2010-01-17)
changeset 1740 c57458bb354d
parent 747 d3e603e7c17c
permissions -rw-r--r--
configure: do not require hg when configuring in an hg clone

When configuring in an hg clone, we need hg to compute the version string.
It can happen that users do not have Mercurial (eg. if they got a snapshot
rather that they did a full clone). In this case, we can still run, of
course, so simply fill the version string with a sufficiently explicit
value, that does not require hg. The date is a good candidate.
     1 Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/00_all_gcc-trampolinewarn.patch
     2 	This trivial patch causes gcc to emit a warning whenever
     3 	it generates a trampoline.  These are otherwise hard to
     4 	locate.  It is rigged to default ON - to have it default
     5 	to OFF remove the text 'Init(1)' from the common.opt
     6 	patch, leaving just 'Common Var(warn_trampolines)'.
     7 	Kevin F. Quinn <kevquinn@gentoo.org> 17 Jan 2006
     8 
     9 diff -durN gcc-4.3.1.orig/gcc/builtins.c gcc-4.3.1/gcc/builtins.c
    10 --- gcc-4.3.1.orig/gcc/builtins.c	2008-04-23 00:36:27.000000000 +0200
    11 +++ gcc-4.3.1/gcc/builtins.c	2008-06-10 14:56:54.000000000 +0200
    12 @@ -5662,6 +5662,9 @@
    13    trampolines_created = 1;
    14    INITIALIZE_TRAMPOLINE (r_tramp, r_func, r_chain);
    15  
    16 +  if (warn_trampolines)
    17 +    warning (OPT_Wtrampolines, "generating trampoline in object (requires executable stack)");
    18 +
    19    return const0_rtx;
    20  }
    21  
    22 diff -durN gcc-4.3.1.orig/gcc/common.opt gcc-4.3.1/gcc/common.opt
    23 --- gcc-4.3.1.orig/gcc/common.opt	2008-01-22 15:11:44.000000000 +0100
    24 +++ gcc-4.3.1/gcc/common.opt	2008-06-10 14:56:54.000000000 +0200
    25 @@ -182,6 +182,10 @@
    26  Common Var(warn_system_headers) Warning
    27  Do not suppress warnings from system headers
    28  
    29 +Wtrampolines
    30 +Common Var(warn_trampolines) Init(1)
    31 +Warn whenever a trampoline is generated
    32 +
    33  Wuninitialized
    34  Common Var(warn_uninitialized) Warning
    35  Warn about uninitialized automatic variables