patches/gcc/4.3.3/210-noteGNUstack-00.patch
author Anthony Foiani <anthony.foiani@gmail.com>
Thu May 19 23:06:16 2011 +0200 (2011-05-19)
changeset 2461 ec30b191f0e3
permissions -rw-r--r--
complibs/ppl: build only C and C++ interfaces for PPL

By default, PPL wants to build interfaces for any of a variety of
langauges it finds on the local host (python, java, possibly perl, also
more esoteric languages such as ocaml and prolog).

These extra interfaces can double the compile time for the library. For
single-process builds, I found a savings of more than 40%:

default / j1: 716s total, 143.2s avg, 0.52s stdev
just_c / j1: 406s total, 81.2s avg, 0.33s stdev
just_c_cpp / j1: 413s total, 82.6s avg, 0.22s stdev

And for multi-process builds, it approached 50%:

default / j4: 625s total, 125.0s avg, 0.57s stdev
just_c / j4: 338s total, 67.6s avg, 1.25s stdev
just_c_cpp / j4: 327s total, 65.4s avg, 0.36s stdev

Since the PPL we build within ct-ng is only used by GCC, we only need to
build the C and C++ interfaces.

Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com>
yann@1162
     1
Original patch from: ../4.3.2/210-noteGNUstack-00.patch
yann@1162
     2
yann@1162
     3
-= BEGIN original header =-
yann@1162
     4
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/61_all_gcc4-ia64-noteGNUstack.patch
yann@1162
     5
2004-09-20  Jakub Jelinek  <jakub@redhat.com>
yann@1162
     6
yann@1162
     7
	* config/rs6000/ppc-asm.h: Add .note.GNU-stack section also
yann@1162
     8
	on ppc64-linux.
yann@1162
     9
yann@1162
    10
	* config/ia64/lib1funcs.asm: Add .note.GNU-stack section on
yann@1162
    11
	ia64-linux.
yann@1162
    12
	* config/ia64/crtbegin.asm: Likewise.
yann@1162
    13
	* config/ia64/crtend.asm: Likewise.
yann@1162
    14
	* config/ia64/crti.asm: Likewise.
yann@1162
    15
	* config/ia64/crtn.asm: Likewise.
yann@1162
    16
yann@1162
    17
2004-05-14  Jakub Jelinek  <jakub@redhat.com>
yann@1162
    18
yann@1162
    19
	* config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
yann@1162
    20
yann@1162
    21
-= END original header =-
yann@1162
    22
yann@1162
    23
diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtbegin.asm gcc-4.3.3/gcc/config/ia64/crtbegin.asm
yann@1162
    24
--- gcc-4.3.3.orig/gcc/config/ia64/crtbegin.asm	2005-09-27 02:52:24.000000000 +0200
yann@1162
    25
+++ gcc-4.3.3/gcc/config/ia64/crtbegin.asm	2009-01-27 22:19:39.000000000 +0100
yann@1162
    26
@@ -255,3 +255,7 @@
yann@1162
    27
 .weak __cxa_finalize
yann@1162
    28
 #endif
yann@1162
    29
 .weak _Jv_RegisterClasses
yann@1162
    30
+
yann@1162
    31
+#ifdef __linux__
yann@1162
    32
+.section .note.GNU-stack; .previous
yann@1162
    33
+#endif
yann@1162
    34
diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtend.asm gcc-4.3.3/gcc/config/ia64/crtend.asm
yann@1162
    35
--- gcc-4.3.3.orig/gcc/config/ia64/crtend.asm	2005-09-27 02:52:24.000000000 +0200
yann@1162
    36
+++ gcc-4.3.3/gcc/config/ia64/crtend.asm	2009-01-27 22:19:39.000000000 +0100
yann@1162
    37
@@ -122,3 +122,7 @@
yann@1162
    38
 
yann@1162
    39
 	br.ret.sptk.many rp
yann@1162
    40
 	.endp __do_global_ctors_aux
yann@1162
    41
+
yann@1162
    42
+#ifdef __linux__
yann@1162
    43
+.section .note.GNU-stack; .previous
yann@1162
    44
+#endif
yann@1162
    45
diff -durN gcc-4.3.3.orig/gcc/config/ia64/crti.asm gcc-4.3.3/gcc/config/ia64/crti.asm
yann@1162
    46
--- gcc-4.3.3.orig/gcc/config/ia64/crti.asm	2005-06-25 03:22:41.000000000 +0200
yann@1162
    47
+++ gcc-4.3.3/gcc/config/ia64/crti.asm	2009-01-27 22:19:39.000000000 +0100
yann@1162
    48
@@ -64,3 +64,7 @@
yann@1162
    49
 	.body
yann@1162
    50
 
yann@1162
    51
 # end of crti.asm
yann@1162
    52
+
yann@1162
    53
+#ifdef __linux__
yann@1162
    54
+.section .note.GNU-stack; .previous
yann@1162
    55
+#endif
yann@1162
    56
diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtn.asm gcc-4.3.3/gcc/config/ia64/crtn.asm
yann@1162
    57
--- gcc-4.3.3.orig/gcc/config/ia64/crtn.asm	2005-06-25 03:22:41.000000000 +0200
yann@1162
    58
+++ gcc-4.3.3/gcc/config/ia64/crtn.asm	2009-01-27 22:19:39.000000000 +0100
yann@1162
    59
@@ -54,3 +54,7 @@
yann@1162
    60
 	br.ret.sptk.many b0
yann@1162
    61
 
yann@1162
    62
 # end of crtn.asm
yann@1162
    63
+
yann@1162
    64
+#ifdef __linux__
yann@1162
    65
+.section .note.GNU-stack; .previous
yann@1162
    66
+#endif
yann@1162
    67
diff -durN gcc-4.3.3.orig/gcc/config/ia64/lib1funcs.asm gcc-4.3.3/gcc/config/ia64/lib1funcs.asm
yann@1162
    68
--- gcc-4.3.3.orig/gcc/config/ia64/lib1funcs.asm	2005-09-27 02:52:24.000000000 +0200
yann@1162
    69
+++ gcc-4.3.3/gcc/config/ia64/lib1funcs.asm	2009-01-27 22:19:39.000000000 +0100
yann@1162
    70
@@ -792,3 +792,7 @@
yann@1162
    71
 	}
yann@1162
    72
 	.endp __floattitf
yann@1162
    73
 #endif
yann@1162
    74
+
yann@1162
    75
+#ifdef __linux__
yann@1162
    76
+.section .note.GNU-stack; .previous
yann@1162
    77
+#endif
yann@1162
    78
diff -durN gcc-4.3.3.orig/gcc/config/ia64/linux.h gcc-4.3.3/gcc/config/ia64/linux.h
yann@1162
    79
--- gcc-4.3.3.orig/gcc/config/ia64/linux.h	2006-12-12 16:15:19.000000000 +0100
yann@1162
    80
+++ gcc-4.3.3/gcc/config/ia64/linux.h	2009-01-27 22:19:39.000000000 +0100
yann@1162
    81
@@ -5,6 +5,8 @@
yann@1162
    82
 
yann@1162
    83
 #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
yann@1162
    84
 
yann@1162
    85
+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
yann@1162
    86
+
yann@1162
    87
 /* This is for -profile to use -lc_p instead of -lc.  */
yann@1162
    88
 #undef CC1_SPEC
yann@1162
    89
 #define CC1_SPEC "%{profile:-p} %{G*}"
yann@1162
    90
diff -durN gcc-4.3.3.orig/gcc/config/rs6000/ppc-asm.h gcc-4.3.3/gcc/config/rs6000/ppc-asm.h
yann@1162
    91
--- gcc-4.3.3.orig/gcc/config/rs6000/ppc-asm.h	2003-06-04 18:44:51.000000000 +0200
yann@1162
    92
+++ gcc-4.3.3/gcc/config/rs6000/ppc-asm.h	2009-01-27 22:19:39.000000000 +0100
yann@1162
    93
@@ -158,7 +158,7 @@
yann@1162
    94
 	.size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
yann@1162
    95
 #endif
yann@1162
    96
 
yann@1162
    97
-#if defined __linux__ && !defined __powerpc64__
yann@1162
    98
+#if defined __linux__
yann@1162
    99
 	.section .note.GNU-stack
yann@1162
   100
 	.previous
yann@1162
   101
 #endif