patches/gcc/4.3.0/240-noteGNUstack-01.patch
changeset 747 d3e603e7c17c
parent 746 b150d6f590fc
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/gcc/4.3.0/240-noteGNUstack-01.patch	Mon Jul 28 21:32:33 2008 +0000
     1.3 @@ -0,0 +1,198 @@
     1.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/62_all_gcc4-noteGNUstack.patch
     1.5 +2005-02-08  Jakub Jelinek  <jakub@redhat.com>
     1.6 +
     1.7 +	* src/alpha/osf.S: Add .note.GNU-stack on Linux.
     1.8 +	* src/s390/sysv.S: Likewise.
     1.9 +	* src/powerpc/linux64.S: Likewise.
    1.10 +	* src/powerpc/linux64_closure.S: Likewise.
    1.11 +	* src/powerpc/ppc_closure.S: Likewise.
    1.12 +	* src/powerpc/sysv.S: Likewise.
    1.13 +	* src/x86/unix64.S: Likewise.
    1.14 +	* src/x86/sysv.S: Likewise.
    1.15 +	* src/sparc/v8.S: Likewise.
    1.16 +	* src/sparc/v9.S: Likewise.
    1.17 +	* src/m68k/sysv.S: Likewise.
    1.18 +	* src/ia64/unix.S: Likewise.
    1.19 +	* src/arm/sysv.S: Likewise.
    1.20 +
    1.21 +	* ia64_save_regs_in_stack.s: Moved to...
    1.22 +	* ia64_save_regs_in_stack.S: ... this.  Add .note.GNU-stack
    1.23 +	on Linux.
    1.24 +
    1.25 +diff -durN gcc-4.3.0.orig/boehm-gc/ia64_save_regs_in_stack.S gcc-4.3.0/boehm-gc/ia64_save_regs_in_stack.S
    1.26 +--- gcc-4.3.0.orig/boehm-gc/ia64_save_regs_in_stack.S	1970-01-01 01:00:00.000000000 +0100
    1.27 ++++ gcc-4.3.0/boehm-gc/ia64_save_regs_in_stack.S	2008-06-10 14:45:05.000000000 +0200
    1.28 +@@ -0,0 +1,15 @@
    1.29 ++        .text
    1.30 ++        .align 16
    1.31 ++        .global GC_save_regs_in_stack
    1.32 ++        .proc GC_save_regs_in_stack
    1.33 ++GC_save_regs_in_stack:
    1.34 ++        .bodyfoo.mpg
    1.35 ++        flushrs
    1.36 ++        ;;
    1.37 ++        mov r8=ar.bsp
    1.38 ++        br.ret.sptk.few rp
    1.39 ++        .endp GC_save_regs_in_stack
    1.40 ++
    1.41 ++#ifdef __linux__
    1.42 ++	.section .note.GNU-stack,"",@progbits
    1.43 ++#endif
    1.44 +diff -durN gcc-4.3.0.orig/boehm-gc/ia64_save_regs_in_stack.s gcc-4.3.0/boehm-gc/ia64_save_regs_in_stack.s
    1.45 +--- gcc-4.3.0.orig/boehm-gc/ia64_save_regs_in_stack.s	2001-10-15 06:57:59.000000000 +0200
    1.46 ++++ gcc-4.3.0/boehm-gc/ia64_save_regs_in_stack.s	2008-06-10 14:45:05.000000000 +0200
    1.47 +@@ -1,12 +0,0 @@
    1.48 +-        .text
    1.49 +-        .align 16
    1.50 +-        .global GC_save_regs_in_stack
    1.51 +-        .proc GC_save_regs_in_stack
    1.52 +-GC_save_regs_in_stack:
    1.53 +-        .body
    1.54 +-        flushrs
    1.55 +-        ;;
    1.56 +-        mov r8=ar.bsp
    1.57 +-        br.ret.sptk.few rp
    1.58 +-        .endp GC_save_regs_in_stack
    1.59 +-
    1.60 +diff -durN gcc-4.3.0.orig/libffi/src/alpha/osf.S gcc-4.3.0/libffi/src/alpha/osf.S
    1.61 +--- gcc-4.3.0.orig/libffi/src/alpha/osf.S	2007-04-06 18:24:16.000000000 +0200
    1.62 ++++ gcc-4.3.0/libffi/src/alpha/osf.S	2008-06-10 14:45:05.000000000 +0200
    1.63 +@@ -358,4 +358,8 @@
    1.64 + 	.byte	16		# uleb128 offset 16*-8
    1.65 + 	.align 3
    1.66 + $LEFDE3:
    1.67 ++
    1.68 ++#ifdef __linux__
    1.69 ++	.section	.note.GNU-stack,"",@progbits
    1.70 ++#endif
    1.71 + #endif
    1.72 +diff -durN gcc-4.3.0.orig/libffi/src/arm/sysv.S gcc-4.3.0/libffi/src/arm/sysv.S
    1.73 +--- gcc-4.3.0.orig/libffi/src/arm/sysv.S	2007-09-04 19:52:45.000000000 +0200
    1.74 ++++ gcc-4.3.0/libffi/src/arm/sysv.S	2008-06-10 14:45:05.000000000 +0200
    1.75 +@@ -293,3 +293,6 @@
    1.76 + 	UNWIND .fnend
    1.77 +         .size    CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
    1.78 + 
    1.79 ++#if defined __ELF__ && defined __linux__
    1.80 ++	.section	.note.GNU-stack,"",%progbits
    1.81 ++#endif
    1.82 +diff -durN gcc-4.3.0.orig/libffi/src/ia64/unix.S gcc-4.3.0/libffi/src/ia64/unix.S
    1.83 +--- gcc-4.3.0.orig/libffi/src/ia64/unix.S	2005-03-30 23:49:19.000000000 +0200
    1.84 ++++ gcc-4.3.0/libffi/src/ia64/unix.S	2008-06-10 14:45:05.000000000 +0200
    1.85 +@@ -553,3 +553,7 @@
    1.86 + 	data8	@pcrel(.Lld_hfa_float)		// FFI_IA64_TYPE_HFA_FLOAT
    1.87 + 	data8	@pcrel(.Lld_hfa_double)		// FFI_IA64_TYPE_HFA_DOUBLE
    1.88 + 	data8	@pcrel(.Lld_hfa_ldouble)	// FFI_IA64_TYPE_HFA_LDOUBLE
    1.89 ++
    1.90 ++#if defined __ELF__ && defined __linux__
    1.91 ++	.section	.note.GNU-stack,"",@progbits
    1.92 ++#endif
    1.93 +diff -durN gcc-4.3.0.orig/libffi/src/m68k/sysv.S gcc-4.3.0/libffi/src/m68k/sysv.S
    1.94 +--- gcc-4.3.0.orig/libffi/src/m68k/sysv.S	2007-05-10 23:29:04.000000000 +0200
    1.95 ++++ gcc-4.3.0/libffi/src/m68k/sysv.S	2008-06-10 14:45:05.000000000 +0200
    1.96 +@@ -207,3 +207,7 @@
    1.97 + 	rts
    1.98 + 	CFI_ENDPROC()
    1.99 + 	.size	ffi_closure_struct_SYSV,.-ffi_closure_struct_SYSV
   1.100 ++
   1.101 ++#if defined __ELF__ && defined __linux__
   1.102 ++	.section	.note.GNU-stack,"",@progbits
   1.103 ++#endif
   1.104 +diff -durN gcc-4.3.0.orig/libffi/src/powerpc/linux64.S gcc-4.3.0/libffi/src/powerpc/linux64.S
   1.105 +--- gcc-4.3.0.orig/libffi/src/powerpc/linux64.S	2007-11-17 00:24:53.000000000 +0100
   1.106 ++++ gcc-4.3.0/libffi/src/powerpc/linux64.S	2008-06-10 14:45:05.000000000 +0200
   1.107 +@@ -179,3 +179,7 @@
   1.108 + 	.align 3
   1.109 + .LEFDE1:
   1.110 + #endif
   1.111 ++
   1.112 ++#if defined __ELF__ && defined __linux__
   1.113 ++	.section	.note.GNU-stack,"",@progbits
   1.114 ++#endif
   1.115 +diff -durN gcc-4.3.0.orig/libffi/src/powerpc/linux64_closure.S gcc-4.3.0/libffi/src/powerpc/linux64_closure.S
   1.116 +--- gcc-4.3.0.orig/libffi/src/powerpc/linux64_closure.S	2005-08-11 23:18:24.000000000 +0200
   1.117 ++++ gcc-4.3.0/libffi/src/powerpc/linux64_closure.S	2008-06-10 14:45:05.000000000 +0200
   1.118 +@@ -204,3 +204,7 @@
   1.119 + 	.align 3
   1.120 + .LEFDE1:
   1.121 + #endif
   1.122 ++
   1.123 ++#if defined __ELF__ && defined __linux__
   1.124 ++	.section	.note.GNU-stack,"",@progbits
   1.125 ++#endif
   1.126 +diff -durN gcc-4.3.0.orig/libffi/src/powerpc/ppc_closure.S gcc-4.3.0/libffi/src/powerpc/ppc_closure.S
   1.127 +--- gcc-4.3.0.orig/libffi/src/powerpc/ppc_closure.S	2007-12-01 22:00:04.000000000 +0100
   1.128 ++++ gcc-4.3.0/libffi/src/powerpc/ppc_closure.S	2008-06-10 14:45:05.000000000 +0200
   1.129 +@@ -295,3 +295,7 @@
   1.130 + .LEFDE1:
   1.131 + 
   1.132 + #endif
   1.133 ++
   1.134 ++#if defined __ELF__ && defined __linux__
   1.135 ++	.section	.note.GNU-stack,"",@progbits
   1.136 ++#endif
   1.137 +diff -durN gcc-4.3.0.orig/libffi/src/powerpc/sysv.S gcc-4.3.0/libffi/src/powerpc/sysv.S
   1.138 +--- gcc-4.3.0.orig/libffi/src/powerpc/sysv.S	2007-12-01 22:00:04.000000000 +0100
   1.139 ++++ gcc-4.3.0/libffi/src/powerpc/sysv.S	2008-06-10 14:45:05.000000000 +0200
   1.140 +@@ -223,3 +223,7 @@
   1.141 +       .align 2
   1.142 + .LEFDE1:
   1.143 + #endif
   1.144 ++
   1.145 ++#if defined __ELF__ && defined __linux__
   1.146 ++	.section	.note.GNU-stack,"",@progbits
   1.147 ++#endif
   1.148 +diff -durN gcc-4.3.0.orig/libffi/src/s390/sysv.S gcc-4.3.0/libffi/src/s390/sysv.S
   1.149 +--- gcc-4.3.0.orig/libffi/src/s390/sysv.S	2003-10-21 21:01:58.000000000 +0200
   1.150 ++++ gcc-4.3.0/libffi/src/s390/sysv.S	2008-06-10 14:45:05.000000000 +0200
   1.151 +@@ -427,3 +427,6 @@
   1.152 + 
   1.153 + #endif
   1.154 + 
   1.155 ++#if defined __ELF__ && defined __linux__
   1.156 ++	.section	.note.GNU-stack,"",@progbits
   1.157 ++#endif
   1.158 +diff -durN gcc-4.3.0.orig/libffi/src/sparc/v8.S gcc-4.3.0/libffi/src/sparc/v8.S
   1.159 +--- gcc-4.3.0.orig/libffi/src/sparc/v8.S	2004-11-22 19:35:16.000000000 +0100
   1.160 ++++ gcc-4.3.0/libffi/src/sparc/v8.S	2008-06-10 14:45:05.000000000 +0200
   1.161 +@@ -265,3 +265,7 @@
   1.162 + 	.byte	0x1f	! uleb128 0x1f
   1.163 + 	.align	WS
   1.164 + .LLEFDE2:
   1.165 ++
   1.166 ++#if defined __ELF__ && defined __linux__
   1.167 ++	.section	.note.GNU-stack,"",@progbits
   1.168 ++#endif
   1.169 +diff -durN gcc-4.3.0.orig/libffi/src/sparc/v9.S gcc-4.3.0/libffi/src/sparc/v9.S
   1.170 +--- gcc-4.3.0.orig/libffi/src/sparc/v9.S	2004-01-25 07:58:33.000000000 +0100
   1.171 ++++ gcc-4.3.0/libffi/src/sparc/v9.S	2008-06-10 14:45:05.000000000 +0200
   1.172 +@@ -300,3 +300,7 @@
   1.173 + 	.align 8
   1.174 + .LLEFDE2:
   1.175 + #endif
   1.176 ++
   1.177 ++#ifdef __linux__
   1.178 ++	.section	.note.GNU-stack,"",@progbits
   1.179 ++#endif
   1.180 +diff -durN gcc-4.3.0.orig/libffi/src/x86/sysv.S gcc-4.3.0/libffi/src/x86/sysv.S
   1.181 +--- gcc-4.3.0.orig/libffi/src/x86/sysv.S	2008-01-30 15:36:58.000000000 +0100
   1.182 ++++ gcc-4.3.0/libffi/src/x86/sysv.S	2008-06-10 14:45:05.000000000 +0200
   1.183 +@@ -430,3 +430,7 @@
   1.184 + #endif
   1.185 + 
   1.186 + #endif /* ifndef __x86_64__ */
   1.187 ++
   1.188 ++#if defined __ELF__ && defined __linux__
   1.189 ++	.section	.note.GNU-stack,"",@progbits
   1.190 ++#endif
   1.191 +diff -durN gcc-4.3.0.orig/libffi/src/x86/unix64.S gcc-4.3.0/libffi/src/x86/unix64.S
   1.192 +--- gcc-4.3.0.orig/libffi/src/x86/unix64.S	2005-05-05 06:06:38.000000000 +0200
   1.193 ++++ gcc-4.3.0/libffi/src/x86/unix64.S	2008-06-10 14:45:05.000000000 +0200
   1.194 +@@ -410,3 +410,7 @@
   1.195 + .LEFDE3:
   1.196 + 
   1.197 + #endif /* __x86_64__ */
   1.198 ++
   1.199 ++#if defined __ELF__ && defined __linux__
   1.200 ++	.section	.note.GNU-stack,"",@progbits
   1.201 ++#endif