patches/gcc/4.3.2/110-trampolinewarn.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 18:29:35 2011 +0200 (2011-07-17)
changeset 2926 d304c8a7bfa8
parent 747 d3e603e7c17c
permissions -rw-r--r--
binutils: split binutils to backend/frontend, a-la cc_core

Move the actual binutils code to a backend function that builds the
required combo of build/host/target as requested by a frontend.

This split is currently a no-op, but is required for the upcoming
canadian-cross rework, where we'll be needing to build two binutils,
one for build/build/target, and one for build/host/target.

This applies to the three binutils:
- GNU binutils
- elf2flt
- sstrip

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