patches/gcc/4.3.4/110-trampolinewarn.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Aug 02 18:26:53 2011 +0200 (2011-08-02)
changeset 2592 4908eb2b6f17
permissions -rw-r--r--
scripts/functions: cvs retrieval first tries the mirror for tarballs

The cvs download helper looks for the local tarballs dir to see if it
can find a pre-downloaded tarball, and if it does not find it, does
the actual fetch to upstream via cvs.

In the process, it does not even try to get a tarball from the local
mirror, which can be useful if the mirror has been pre-populated
manually (or with a previously downloaded tree).

Fake a tarball get with the standard tarball-download helper, but
without specifying any upstream URL, which makes the helper directly
try the LAN mirror.

Of course, if no mirror is specified, no URL wil be available, and
the standard cvs retrieval will kick in.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
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