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