patches/gcc/4.3.2/220-noteGNUstack-01.patch
author "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Mon Apr 16 15:25:36 2012 +0200 (2012-04-16)
changeset 2941 13e40098fffc
parent 874 4c2030673163
permissions -rw-r--r--
cc/gcc: update Linaro GCC revisions to 2012.04

Update Linaro GCC with the latest available revisions.

The 4.7 revision is also released, but the infrastructure is not yet ready for
it in CT-NG.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
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@1137
    43
+++ gcc-4.3.1/boehm-gc/ia64_save_regs_in_stack.s	1970-01-01 02:00:00.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