patches/gcc/4.3.1/220-noteGNUstack-01.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Jan 12 19:24:03 2010 +0100 (2010-01-12)
changeset 1761 88020b2c3246
parent 746 b150d6f590fc
permissions -rw-r--r--
scripts/functions: change handling of nochdir

- 'nochdir' must be the first option
- have systematic pushd/popd, even if nochdir
yann@552
     1
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/62_all_gcc4-noteGNUstack.patch
yann@552
     2
2005-02-08  Jakub Jelinek  <jakub@redhat.com>
yann@552
     3
yann@552
     4
	* src/alpha/osf.S: Add .note.GNU-stack on Linux.
yann@552
     5
	* src/s390/sysv.S: Likewise.
yann@552
     6
	* src/powerpc/linux64.S: Likewise.
yann@552
     7
	* src/powerpc/linux64_closure.S: Likewise.
yann@552
     8
	* src/powerpc/ppc_closure.S: Likewise.
yann@552
     9
	* src/powerpc/sysv.S: Likewise.
yann@552
    10
	* src/x86/unix64.S: Likewise.
yann@552
    11
	* src/x86/sysv.S: Likewise.
yann@552
    12
	* src/sparc/v8.S: Likewise.
yann@552
    13
	* src/sparc/v9.S: Likewise.
yann@552
    14
	* src/m68k/sysv.S: Likewise.
yann@552
    15
	* src/ia64/unix.S: Likewise.
yann@552
    16
	* src/arm/sysv.S: Likewise.
yann@552
    17
yann@552
    18
	* ia64_save_regs_in_stack.s: Moved to...
yann@552
    19
	* ia64_save_regs_in_stack.S: ... this.  Add .note.GNU-stack
yann@552
    20
	on Linux.
yann@552
    21
yann@552
    22
diff -durN gcc-4.3.1.orig/boehm-gc/ia64_save_regs_in_stack.S gcc-4.3.1/boehm-gc/ia64_save_regs_in_stack.S
yann@552
    23
--- gcc-4.3.1.orig/boehm-gc/ia64_save_regs_in_stack.S	1970-01-01 01:00:00.000000000 +0100
yann@552
    24
+++ gcc-4.3.1/boehm-gc/ia64_save_regs_in_stack.S	2008-06-10 14:58:21.000000000 +0200
yann@552
    25
@@ -0,0 +1,15 @@
yann@552
    26
+        .text
yann@552
    27
+        .align 16
yann@552
    28
+        .global GC_save_regs_in_stack
yann@552
    29
+        .proc GC_save_regs_in_stack
yann@552
    30
+GC_save_regs_in_stack:
yann@552
    31
+        .bodyfoo.mpg
yann@552
    32
+        flushrs
yann@552
    33
+        ;;
yann@552
    34
+        mov r8=ar.bsp
yann@552
    35
+        br.ret.sptk.few rp
yann@552
    36
+        .endp GC_save_regs_in_stack
yann@552
    37
+
yann@552
    38
+#ifdef __linux__
yann@552
    39
+	.section .note.GNU-stack,"",@progbits
yann@552
    40
+#endif
yann@552
    41
diff -durN gcc-4.3.1.orig/boehm-gc/ia64_save_regs_in_stack.s gcc-4.3.1/boehm-gc/ia64_save_regs_in_stack.s
yann@552
    42
--- gcc-4.3.1.orig/boehm-gc/ia64_save_regs_in_stack.s	2001-10-15 06:57:59.000000000 +0200
yann@552
    43
+++ gcc-4.3.1/boehm-gc/ia64_save_regs_in_stack.s	2008-06-10 14:58:21.000000000 +0200
yann@552
    44
@@ -1,12 +0,0 @@
yann@552
    45
-        .text
yann@552
    46
-        .align 16
yann@552
    47
-        .global GC_save_regs_in_stack
yann@552
    48
-        .proc GC_save_regs_in_stack
yann@552
    49
-GC_save_regs_in_stack:
yann@552
    50
-        .body
yann@552
    51
-        flushrs
yann@552
    52
-        ;;
yann@552
    53
-        mov r8=ar.bsp
yann@552
    54
-        br.ret.sptk.few rp
yann@552
    55
-        .endp GC_save_regs_in_stack
yann@552
    56
-
yann@552
    57
diff -durN gcc-4.3.1.orig/libffi/src/alpha/osf.S gcc-4.3.1/libffi/src/alpha/osf.S
yann@552
    58
--- gcc-4.3.1.orig/libffi/src/alpha/osf.S	2007-04-06 18:24:16.000000000 +0200
yann@552
    59
+++ gcc-4.3.1/libffi/src/alpha/osf.S	2008-06-10 14:58:21.000000000 +0200
yann@552
    60
@@ -358,4 +358,8 @@
yann@552
    61
 	.byte	16		# uleb128 offset 16*-8
yann@552
    62
 	.align 3
yann@552
    63
 $LEFDE3:
yann@552
    64
+
yann@552
    65
+#ifdef __linux__
yann@552
    66
+	.section	.note.GNU-stack,"",@progbits
yann@552
    67
+#endif
yann@552
    68
 #endif
yann@552
    69
diff -durN gcc-4.3.1.orig/libffi/src/arm/sysv.S gcc-4.3.1/libffi/src/arm/sysv.S
yann@552
    70
--- gcc-4.3.1.orig/libffi/src/arm/sysv.S	2007-09-04 19:52:45.000000000 +0200
yann@552
    71
+++ gcc-4.3.1/libffi/src/arm/sysv.S	2008-06-10 14:58:21.000000000 +0200
yann@552
    72
@@ -293,3 +293,6 @@
yann@552
    73
 	UNWIND .fnend
yann@552
    74
         .size    CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
yann@552
    75
 
yann@552
    76
+#if defined __ELF__ && defined __linux__
yann@552
    77
+	.section	.note.GNU-stack,"",%progbits
yann@552
    78
+#endif
yann@552
    79
diff -durN gcc-4.3.1.orig/libffi/src/ia64/unix.S gcc-4.3.1/libffi/src/ia64/unix.S
yann@552
    80
--- gcc-4.3.1.orig/libffi/src/ia64/unix.S	2005-03-30 23:49:19.000000000 +0200
yann@552
    81
+++ gcc-4.3.1/libffi/src/ia64/unix.S	2008-06-10 14:58:21.000000000 +0200
yann@552
    82
@@ -553,3 +553,7 @@
yann@552
    83
 	data8	@pcrel(.Lld_hfa_float)		// FFI_IA64_TYPE_HFA_FLOAT
yann@552
    84
 	data8	@pcrel(.Lld_hfa_double)		// FFI_IA64_TYPE_HFA_DOUBLE
yann@552
    85
 	data8	@pcrel(.Lld_hfa_ldouble)	// FFI_IA64_TYPE_HFA_LDOUBLE
yann@552
    86
+
yann@552
    87
+#if defined __ELF__ && defined __linux__
yann@552
    88
+	.section	.note.GNU-stack,"",@progbits
yann@552
    89
+#endif
yann@552
    90
diff -durN gcc-4.3.1.orig/libffi/src/m68k/sysv.S gcc-4.3.1/libffi/src/m68k/sysv.S
yann@552
    91
--- gcc-4.3.1.orig/libffi/src/m68k/sysv.S	2007-05-10 23:29:04.000000000 +0200
yann@552
    92
+++ gcc-4.3.1/libffi/src/m68k/sysv.S	2008-06-10 14:58:21.000000000 +0200
yann@552
    93
@@ -207,3 +207,7 @@
yann@552
    94
 	rts
yann@552
    95
 	CFI_ENDPROC()
yann@552
    96
 	.size	ffi_closure_struct_SYSV,.-ffi_closure_struct_SYSV
yann@552
    97
+
yann@552
    98
+#if defined __ELF__ && defined __linux__
yann@552
    99
+	.section	.note.GNU-stack,"",@progbits
yann@552
   100
+#endif
yann@552
   101
diff -durN gcc-4.3.1.orig/libffi/src/powerpc/linux64.S gcc-4.3.1/libffi/src/powerpc/linux64.S
yann@552
   102
--- gcc-4.3.1.orig/libffi/src/powerpc/linux64.S	2007-11-17 00:24:53.000000000 +0100
yann@552
   103
+++ gcc-4.3.1/libffi/src/powerpc/linux64.S	2008-06-10 14:58:21.000000000 +0200
yann@552
   104
@@ -179,3 +179,7 @@
yann@552
   105
 	.align 3
yann@552
   106
 .LEFDE1:
yann@552
   107
 #endif
yann@552
   108
+
yann@552
   109
+#if defined __ELF__ && defined __linux__
yann@552
   110
+	.section	.note.GNU-stack,"",@progbits
yann@552
   111
+#endif
yann@552
   112
diff -durN gcc-4.3.1.orig/libffi/src/powerpc/linux64_closure.S gcc-4.3.1/libffi/src/powerpc/linux64_closure.S
yann@552
   113
--- gcc-4.3.1.orig/libffi/src/powerpc/linux64_closure.S	2005-08-11 23:18:24.000000000 +0200
yann@552
   114
+++ gcc-4.3.1/libffi/src/powerpc/linux64_closure.S	2008-06-10 14:58:21.000000000 +0200
yann@552
   115
@@ -204,3 +204,7 @@
yann@552
   116
 	.align 3
yann@552
   117
 .LEFDE1:
yann@552
   118
 #endif
yann@552
   119
+
yann@552
   120
+#if defined __ELF__ && defined __linux__
yann@552
   121
+	.section	.note.GNU-stack,"",@progbits
yann@552
   122
+#endif
yann@552
   123
diff -durN gcc-4.3.1.orig/libffi/src/powerpc/ppc_closure.S gcc-4.3.1/libffi/src/powerpc/ppc_closure.S
yann@552
   124
--- gcc-4.3.1.orig/libffi/src/powerpc/ppc_closure.S	2007-12-01 22:00:04.000000000 +0100
yann@552
   125
+++ gcc-4.3.1/libffi/src/powerpc/ppc_closure.S	2008-06-10 14:58:21.000000000 +0200
yann@552
   126
@@ -295,3 +295,7 @@
yann@552
   127
 .LEFDE1:
yann@552
   128
 
yann@552
   129
 #endif
yann@552
   130
+
yann@552
   131
+#if defined __ELF__ && defined __linux__
yann@552
   132
+	.section	.note.GNU-stack,"",@progbits
yann@552
   133
+#endif
yann@552
   134
diff -durN gcc-4.3.1.orig/libffi/src/powerpc/sysv.S gcc-4.3.1/libffi/src/powerpc/sysv.S
yann@552
   135
--- gcc-4.3.1.orig/libffi/src/powerpc/sysv.S	2007-12-01 22:00:04.000000000 +0100
yann@552
   136
+++ gcc-4.3.1/libffi/src/powerpc/sysv.S	2008-06-10 14:58:21.000000000 +0200
yann@552
   137
@@ -223,3 +223,7 @@
yann@552
   138
       .align 2
yann@552
   139
 .LEFDE1:
yann@552
   140
 #endif
yann@552
   141
+
yann@552
   142
+#if defined __ELF__ && defined __linux__
yann@552
   143
+	.section	.note.GNU-stack,"",@progbits
yann@552
   144
+#endif
yann@552
   145
diff -durN gcc-4.3.1.orig/libffi/src/s390/sysv.S gcc-4.3.1/libffi/src/s390/sysv.S
yann@552
   146
--- gcc-4.3.1.orig/libffi/src/s390/sysv.S	2003-10-21 21:01:58.000000000 +0200
yann@552
   147
+++ gcc-4.3.1/libffi/src/s390/sysv.S	2008-06-10 14:58:21.000000000 +0200
yann@552
   148
@@ -427,3 +427,6 @@
yann@552
   149
 
yann@552
   150
 #endif
yann@552
   151
 
yann@552
   152
+#if defined __ELF__ && defined __linux__
yann@552
   153
+	.section	.note.GNU-stack,"",@progbits
yann@552
   154
+#endif
yann@552
   155
diff -durN gcc-4.3.1.orig/libffi/src/sparc/v8.S gcc-4.3.1/libffi/src/sparc/v8.S
yann@552
   156
--- gcc-4.3.1.orig/libffi/src/sparc/v8.S	2004-11-22 19:35:16.000000000 +0100
yann@552
   157
+++ gcc-4.3.1/libffi/src/sparc/v8.S	2008-06-10 14:58:21.000000000 +0200
yann@552
   158
@@ -265,3 +265,7 @@
yann@552
   159
 	.byte	0x1f	! uleb128 0x1f
yann@552
   160
 	.align	WS
yann@552
   161
 .LLEFDE2:
yann@552
   162
+
yann@552
   163
+#if defined __ELF__ && defined __linux__
yann@552
   164
+	.section	.note.GNU-stack,"",@progbits
yann@552
   165
+#endif
yann@552
   166
diff -durN gcc-4.3.1.orig/libffi/src/sparc/v9.S gcc-4.3.1/libffi/src/sparc/v9.S
yann@552
   167
--- gcc-4.3.1.orig/libffi/src/sparc/v9.S	2004-01-25 07:58:33.000000000 +0100
yann@552
   168
+++ gcc-4.3.1/libffi/src/sparc/v9.S	2008-06-10 14:58:21.000000000 +0200
yann@552
   169
@@ -300,3 +300,7 @@
yann@552
   170
 	.align 8
yann@552
   171
 .LLEFDE2:
yann@552
   172
 #endif
yann@552
   173
+
yann@552
   174
+#ifdef __linux__
yann@552
   175
+	.section	.note.GNU-stack,"",@progbits
yann@552
   176
+#endif
yann@552
   177
diff -durN gcc-4.3.1.orig/libffi/src/x86/sysv.S gcc-4.3.1/libffi/src/x86/sysv.S
yann@552
   178
--- gcc-4.3.1.orig/libffi/src/x86/sysv.S	2008-01-30 15:36:58.000000000 +0100
yann@552
   179
+++ gcc-4.3.1/libffi/src/x86/sysv.S	2008-06-10 14:58:21.000000000 +0200
yann@552
   180
@@ -430,3 +430,7 @@
yann@552
   181
 #endif
yann@552
   182
 
yann@552
   183
 #endif /* ifndef __x86_64__ */
yann@552
   184
+
yann@552
   185
+#if defined __ELF__ && defined __linux__
yann@552
   186
+	.section	.note.GNU-stack,"",@progbits
yann@552
   187
+#endif
yann@552
   188
diff -durN gcc-4.3.1.orig/libffi/src/x86/unix64.S gcc-4.3.1/libffi/src/x86/unix64.S
yann@552
   189
--- gcc-4.3.1.orig/libffi/src/x86/unix64.S	2005-05-05 06:06:38.000000000 +0200
yann@552
   190
+++ gcc-4.3.1/libffi/src/x86/unix64.S	2008-06-10 14:58:21.000000000 +0200
yann@552
   191
@@ -410,3 +410,7 @@
yann@552
   192
 .LEFDE3:
yann@552
   193
 
yann@552
   194
 #endif /* __x86_64__ */
yann@552
   195
+
yann@552
   196
+#if defined __ELF__ && defined __linux__
yann@552
   197
+	.section	.note.GNU-stack,"",@progbits
yann@552
   198
+#endif