patches/gcc/4.3.2/110-trampolinewarn.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jun 11 21:47:19 2009 +0000 (2009-06-11)
branch1.4
changeset 1451 25d050084e98
parent 747 d3e603e7c17c
permissions -rw-r--r--
populate: fix installing dynamic linker 'ld.so'

The dynamic linker, ld.so, needs the execute bit to be set.
Detect tht the library being installed is in fact ld.so and
install it with 0755 instead of 0644.

Fix detecting src == dst.

Use a simpler command to copy src -> dst.

Also change echo to printf, get rid of 'echo -n', which is
highly non-portable.


-------- diffstat follows --------
/trunk/scripts/populate.in | 76 43 33 0 +++++++++++++++++++++++++++++-----------------------
1 file changed, 43 insertions(+), 33 deletions(-)
(transplanted from d7ddcb75e0f703e2ba6d17169167356389224870)
yann@552
     1
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/00_all_gcc-trampolinewarn.patch
yann@552
     2
	This trivial patch causes gcc to emit a warning whenever
yann@552
     3
	it generates a trampoline.  These are otherwise hard to
yann@552
     4
	locate.  It is rigged to default ON - to have it default
yann@552
     5
	to OFF remove the text 'Init(1)' from the common.opt
yann@552
     6
	patch, leaving just 'Common Var(warn_trampolines)'.
yann@552
     7
	Kevin F. Quinn <kevquinn@gentoo.org> 17 Jan 2006
yann@552
     8
yann@552
     9
diff -durN gcc-4.3.1.orig/gcc/builtins.c gcc-4.3.1/gcc/builtins.c
yann@552
    10
--- gcc-4.3.1.orig/gcc/builtins.c	2008-04-23 00:36:27.000000000 +0200
yann@552
    11
+++ gcc-4.3.1/gcc/builtins.c	2008-06-10 14:56:54.000000000 +0200
yann@552
    12
@@ -5662,6 +5662,9 @@
yann@552
    13
   trampolines_created = 1;
yann@552
    14
   INITIALIZE_TRAMPOLINE (r_tramp, r_func, r_chain);
yann@552
    15
 
yann@552
    16
+  if (warn_trampolines)
yann@552
    17
+    warning (OPT_Wtrampolines, "generating trampoline in object (requires executable stack)");
yann@552
    18
+
yann@552
    19
   return const0_rtx;
yann@552
    20
 }
yann@552
    21
 
yann@552
    22
diff -durN gcc-4.3.1.orig/gcc/common.opt gcc-4.3.1/gcc/common.opt
yann@552
    23
--- gcc-4.3.1.orig/gcc/common.opt	2008-01-22 15:11:44.000000000 +0100
yann@552
    24
+++ gcc-4.3.1/gcc/common.opt	2008-06-10 14:56:54.000000000 +0200
yann@552
    25
@@ -182,6 +182,10 @@
yann@552
    26
 Common Var(warn_system_headers) Warning
yann@552
    27
 Do not suppress warnings from system headers
yann@552
    28
 
yann@552
    29
+Wtrampolines
yann@552
    30
+Common Var(warn_trampolines) Init(1)
yann@552
    31
+Warn whenever a trampoline is generated
yann@552
    32
+
yann@552
    33
 Wuninitialized
yann@552
    34
 Common Var(warn_uninitialized) Warning
yann@552
    35
 Warn about uninitialized automatic variables