patches/gcc/4.3.2/110-trampolinewarn.patch
author Johannes Stezenbach <js@sig21.net>
Thu Jul 29 19:30:37 2010 +0200 (2010-07-29)
branch1.7
changeset 2047 ace1d90c9b15
parent 747 d3e603e7c17c
permissions -rw-r--r--
scripts: remove . from $PATH

Add CT_SanitizePath function which removes entries referring to ., /tmp
and non-existing directories from $PATH, and call it early in the
build script.

If . is in PATH, gcc-4.4.4 build breaks:

[ALL ] checking what assembler to use...
/tmp/build/targets/arm-unknown-linux-uclibcgnueabi/build/gcc-core-static/arm-unknown-linux-uclibcgnueabi/bin/as
...
[ALL ] config.status: creating as

i.e. "as" is supposed to be the arm-unknown-linux-uclibcgnueabi cross assembler,
but config.status creates a local "as" script which is calling the
host assembler.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
[Yann E. MORIN: style fixes + explanations]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from 20dd8cef1c8adff0aa3e78ae6d7acfbc45ed5a83)
     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